@koobiq/components 19.8.1 → 19.8.3

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 (69) hide show
  1. package/actions-panel/actions-panel.d.ts +1 -0
  2. package/breadcrumbs/breadcrumbs.d.ts +23 -29
  3. package/breadcrumbs/breadcrumbs.scss +7 -0
  4. package/button/_button-base.scss +20 -0
  5. package/button/_button-theme.scss +3 -11
  6. package/button/button-slots.d.ts +11 -0
  7. package/button/button.component.d.ts +28 -13
  8. package/button/button.module.d.ts +3 -2
  9. package/button/button.scss +0 -11
  10. package/button/public-api.d.ts +1 -0
  11. package/core/option/_option-theme.scss +5 -14
  12. package/core/pop-up/constants.d.ts +2 -2
  13. package/core/styles/common/_overlay.scss +4 -3
  14. package/dropdown/_dropdown-theme.scss +4 -8
  15. package/dropdown/dropdown-trigger.directive.d.ts +11 -0
  16. package/dropdown/dropdown.component.d.ts +8 -0
  17. package/dropdown/dropdown.scss +4 -0
  18. package/fesm2022/koobiq-components-actions-panel.mjs +14 -5
  19. package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
  20. package/fesm2022/koobiq-components-breadcrumbs.mjs +104 -89
  21. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  22. package/fesm2022/koobiq-components-button.mjs +176 -68
  23. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  24. package/fesm2022/koobiq-components-core.mjs +4 -5
  25. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  26. package/fesm2022/koobiq-components-dropdown.mjs +52 -21
  27. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  28. package/fesm2022/koobiq-components-filter-bar.mjs +8 -8
  29. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  30. package/fesm2022/koobiq-components-icon.mjs +2 -2
  31. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  32. package/fesm2022/koobiq-components-inline-edit.mjs +5 -3
  33. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
  34. package/fesm2022/koobiq-components-navbar.mjs +9 -5
  35. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  36. package/fesm2022/koobiq-components-overflow-items.mjs +8 -4
  37. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  38. package/fesm2022/koobiq-components-popover.mjs +1 -1
  39. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  40. package/fesm2022/koobiq-components-select.mjs +4 -2
  41. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  42. package/fesm2022/koobiq-components-tabs.mjs +31 -10
  43. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  44. package/fesm2022/koobiq-components-tags.mjs +5 -0
  45. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  46. package/fesm2022/koobiq-components-timezone.mjs +2 -2
  47. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  48. package/fesm2022/koobiq-components-top-bar.mjs +9 -4
  49. package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
  50. package/fesm2022/koobiq-components-tree-select.mjs +2 -2
  51. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  52. package/fesm2022/koobiq-components-tree.mjs +6 -6
  53. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  54. package/filter-bar/_filter-bar-theme.scss +0 -4
  55. package/icon/icon-item-tokens.scss +1 -1
  56. package/navbar/navbar.scss +2 -1
  57. package/package.json +8 -8
  58. package/prebuilt-themes/dark-theme.css +1 -1
  59. package/prebuilt-themes/light-theme.css +1 -1
  60. package/prebuilt-themes/theme.css +1 -1
  61. package/schematics/ng-add/index.js +2 -2
  62. package/tabs/_tabs-common.scss +27 -0
  63. package/tabs/_tabs-theme.scss +2 -2
  64. package/tabs/tab-header.component.d.ts +2 -0
  65. package/tabs/tab-label.directive.d.ts +3 -1
  66. package/tabs/tab.component.d.ts +2 -0
  67. package/top-bar/top-bar.scss +2 -1
  68. package/tree/_tree-theme.scss +4 -0
  69. package/tree-select/_tree-select-theme.scss +39 -0
@@ -182,23 +182,27 @@ class KbqOverflowItems {
182
182
  this.wrap = input('nowrap');
183
183
  this.orientationConfig = {
184
184
  horizontal: {
185
- containerSize: (element) => element.clientWidth,
185
+ containerSize: (element) => element.getBoundingClientRect().width,
186
186
  paddingStart: ({ paddingLeft }) => parseFloat(paddingLeft) || 0,
187
187
  paddingEnd: ({ paddingRight }) => parseFloat(paddingRight) || 0,
188
188
  itemSize: (element) => {
189
189
  const { marginRight, marginLeft } = this.window.getComputedStyle(element);
190
- return element.offsetWidth + (parseFloat(marginLeft) || 0) + (parseFloat(marginRight) || 0);
190
+ return (element.getBoundingClientRect().width +
191
+ (parseFloat(marginLeft) || 0) +
192
+ (parseFloat(marginRight) || 0));
191
193
  },
192
194
  isCrossAxisExceeded: ({ clientHeight, scrollHeight }) => scrollHeight > clientHeight,
193
195
  flexDirection: 'row'
194
196
  },
195
197
  vertical: {
196
- containerSize: (element) => element.clientHeight,
198
+ containerSize: (element) => element.getBoundingClientRect().height,
197
199
  paddingStart: ({ paddingTop }) => parseFloat(paddingTop) || 0,
198
200
  paddingEnd: ({ paddingBottom }) => parseFloat(paddingBottom) || 0,
199
201
  itemSize: (element) => {
200
202
  const { marginTop, marginBottom } = this.window.getComputedStyle(element);
201
- return element.offsetHeight + (parseFloat(marginTop) || 0) + (parseFloat(marginBottom) || 0);
203
+ return (element.getBoundingClientRect().height +
204
+ (parseFloat(marginTop) || 0) +
205
+ (parseFloat(marginBottom) || 0));
202
206
  },
203
207
  isCrossAxisExceeded: ({ clientWidth, scrollWidth }) => scrollWidth > clientWidth,
204
208
  flexDirection: 'column'
@@ -1 +1 @@
1
- {"version":3,"file":"koobiq-components-overflow-items.mjs","sources":["../../../packages/components/overflow-items/overflow-items.ts","../../../packages/components/overflow-items/module.ts","../../../packages/components/overflow-items/koobiq-components-overflow-items.ts"],"sourcesContent":["import { SharedResizeObserver } from '@angular/cdk/observers/private';\nimport { DOCUMENT } from '@angular/common';\nimport {\n booleanAttribute,\n computed,\n contentChild,\n contentChildren,\n Directive,\n inject,\n input,\n numberAttribute,\n output,\n Renderer2,\n signal\n} from '@angular/core';\nimport { outputToObservable, takeUntilDestroyed, toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport {\n KBQ_WINDOW,\n KbqFlexDirection,\n KbqFlexWrap,\n kbqInjectNativeElement,\n KbqOrientation\n} from '@koobiq/components/core';\nimport { debounceTime, merge, skip, switchMap } from 'rxjs';\n\n/**\n * Manages the visibility of the element.\n *\n * @docs-private\n */\n@Directive({\n host: {\n '[attr.aria-hidden]': 'hidden()',\n // @TODO should be refactored (#DS-3834)\n '[class.kbq-overflow-item-hidden]': 'hidden()'\n }\n})\nexport class ElementVisibilityManager {\n private readonly renderer = inject(Renderer2);\n private readonly hiddenState = signal(false);\n\n /**\n * @docs-private\n */\n readonly element = kbqInjectNativeElement();\n\n /**\n * Whether the element is hidden.\n *\n * @docs-private\n */\n readonly hidden = computed(() => this.hiddenState());\n\n /**\n * Hides the element.\n *\n * @docs-private\n */\n hide(): void {\n this.renderer.setStyle(this.element, 'visibility', 'hidden');\n this.renderer.setStyle(this.element, 'position', 'absolute');\n this.hiddenState.set(true);\n }\n\n /**\n * Shows the element.\n *\n * @docs-private\n */\n show(): void {\n this.renderer.removeStyle(this.element, 'visibility');\n this.renderer.removeStyle(this.element, 'position');\n this.hiddenState.set(false);\n }\n}\n\n/**\n * Directive for displaying the result of hidden items by the `KbqOverflowItems` directive.\n */\n@Directive({\n selector: '[kbqOverflowItemsResult]',\n exportAs: 'kbqOverflowItemsResult',\n host: { class: 'kbq-overflow-items-result' }\n})\nexport class KbqOverflowItemsResult extends ElementVisibilityManager {}\n\n/**\n * Directive for the item that can be hidden by the `KbqOverflowItems` directive.\n */\n@Directive({\n selector: '[kbqOverflowItem]',\n exportAs: 'kbqOverflowItem',\n host: {\n class: 'kbq-overflow-item',\n '[class.kbq-overflow-item_always-visible]': 'alwaysVisible()'\n }\n})\nexport class KbqOverflowItem extends ElementVisibilityManager {\n /**\n * Unique identifier for the item.\n */\n readonly id = input.required({ alias: 'kbqOverflowItem' });\n /**\n * Defines the order in which the item is processed in the overflow container,\n * without changing its original position in the `QueryList`.\n */\n readonly order = input(null, { transform: numberAttribute });\n /**\n * Element with this attribute will be ignored when hiding and will always remain visible.\n * @default false\n */\n readonly alwaysVisible = input(false, { transform: booleanAttribute });\n\n /**\n * @docs-private\n */\n override hide(): void {\n if (this.alwaysVisible()) return;\n\n super.hide();\n }\n}\n\n/**\n * Directive for managing the visibility of items that overflow the container.\n */\n@Directive({\n selector: '[kbqOverflowItems]',\n exportAs: 'kbqOverflowItems',\n host: { class: 'kbq-overflow-items' }\n})\nexport class KbqOverflowItems {\n private readonly element = kbqInjectNativeElement();\n private readonly resizeObserver = inject(SharedResizeObserver);\n private readonly renderer = inject(Renderer2);\n private readonly document = inject(DOCUMENT);\n private readonly window = inject(KBQ_WINDOW);\n\n /**\n * `KbqOverflowItem` directive references.\n */\n private readonly items = contentChildren(KbqOverflowItem);\n\n /**\n * `KbqOverflowItemsResult` directive reference.\n */\n private readonly result = contentChild(KbqOverflowItemsResult);\n\n /**\n * Whether the overflow order should be reversed.\n *\n * @example\n * ```\n * [0, 1, hidden, hidden] ---> [hidden, hidden, 2, 3]\n * ```\n *\n * @default false\n */\n readonly reverseOverflowOrder = input(false, { transform: booleanAttribute });\n\n /**\n * Debounce time for recalculating items visibility.\n *\n * @default 0\n */\n readonly debounceTime = input(0, { transform: numberAttribute });\n\n /**\n * List of additional elements to observe for resize changes.\n *\n * @default document.body\n */\n readonly additionalResizeObserverTargets = input<Element | Element[]>(this.document.body);\n\n /**\n * Emits when the set of hidden items changes.\n */\n readonly changes = output<ReadonlySet<unknown>>();\n\n /**\n * Set of hidden item IDs.\n */\n readonly hiddenItemIDs = toSignal(outputToObservable(this.changes), {\n initialValue: new Set<unknown>([]) as ReadonlySet<unknown>\n });\n\n /**\n * Defines the orientation of the overflow items.\n *\n * @default 'horizontal'\n */\n readonly orientation = input<KbqOrientation>('horizontal');\n\n /**\n * Defines the wrap of the overflow items.\n *\n * @default 'nowrap'\n */\n readonly wrap = input<KbqFlexWrap>('nowrap');\n\n private readonly orientationConfig: Record<\n KbqOrientation,\n {\n containerSize: (element: HTMLElement) => number;\n paddingStart: (computedStyle: CSSStyleDeclaration) => number;\n paddingEnd: (computedStyle: CSSStyleDeclaration) => number;\n itemSize: (element: HTMLElement) => number;\n isCrossAxisExceeded: (element: HTMLElement) => boolean;\n flexDirection: KbqFlexDirection;\n }\n > = {\n horizontal: {\n containerSize: (element) => element.clientWidth,\n paddingStart: ({ paddingLeft }) => parseFloat(paddingLeft) || 0,\n paddingEnd: ({ paddingRight }) => parseFloat(paddingRight) || 0,\n itemSize: (element) => {\n const { marginRight, marginLeft } = this.window.getComputedStyle(element);\n\n return element.offsetWidth + (parseFloat(marginLeft) || 0) + (parseFloat(marginRight) || 0);\n },\n isCrossAxisExceeded: ({ clientHeight, scrollHeight }) => scrollHeight > clientHeight,\n flexDirection: 'row'\n },\n vertical: {\n containerSize: (element) => element.clientHeight,\n paddingStart: ({ paddingTop }) => parseFloat(paddingTop) || 0,\n paddingEnd: ({ paddingBottom }) => parseFloat(paddingBottom) || 0,\n itemSize: (element) => {\n const { marginTop, marginBottom } = this.window.getComputedStyle(element);\n\n return element.offsetHeight + (parseFloat(marginTop) || 0) + (parseFloat(marginBottom) || 0);\n },\n isCrossAxisExceeded: ({ clientWidth, scrollWidth }) => scrollWidth > clientWidth,\n flexDirection: 'column'\n }\n } as const;\n\n constructor() {\n this.setStyles();\n this.setupObservers();\n }\n\n private setupObservers(): void {\n const resizeObservers = merge(\n this.resizeObserver.observe(this.element),\n toObservable(this.additionalResizeObserverTargets).pipe(\n switchMap((targets) => {\n return Array.isArray(targets)\n ? merge(...targets.map((target) => this.resizeObserver.observe(target)))\n : this.resizeObserver.observe(targets);\n })\n )\n );\n\n merge(\n toObservable(this.items),\n toObservable(this.reverseOverflowOrder).pipe(skip(1)),\n toObservable(this.orientation).pipe(skip(1)),\n resizeObservers\n )\n .pipe(debounceTime(this.debounceTime()), takeUntilDestroyed())\n .subscribe(() => {\n const hiddenItems = this.getHiddenItems(\n this.sortItemsByOrder(this.items()),\n this.reverseOverflowOrder(),\n this.result(),\n this.element,\n this.orientation()\n );\n const hiddenItemIDs = new Set(hiddenItems.map(({ id }) => id()));\n\n this.changes.emit(hiddenItemIDs);\n });\n }\n\n /**\n * Sort items by their `order` attribute.\n * If an item does not have an `order` defined, its index is used as a fallback.\n */\n private sortItemsByOrder(items: ReadonlyArray<KbqOverflowItem>): ReadonlyArray<KbqOverflowItem> {\n const itemsWithOrder = Array.from(items, (item, index) => ({ item, order: item.order() ?? index }));\n\n return itemsWithOrder.sort((a, b) => a.order - b.order).map(({ item }) => item);\n }\n\n /**\n * Manages the visibility of items based on the available space in the container and returns the hidden items.\n * Direction of hiding is determined by the `reverseOverflowOrder` attribute.\n */\n private getHiddenItems(\n items: ReadonlyArray<KbqOverflowItem>,\n reverseOverflowOrder: boolean,\n result: KbqOverflowItemsResult | undefined,\n container: HTMLElement,\n orientation: KbqOrientation\n ): ReadonlyArray<KbqOverflowItem> {\n result?.hide();\n items.forEach((item) => item.show());\n\n while (this.hasOverflown(container, items, result, orientation)) {\n const itemToHide = reverseOverflowOrder\n ? items.find(({ hidden, alwaysVisible }) => !hidden() && !alwaysVisible())\n : this.findLast(items, ({ hidden, alwaysVisible }) => !hidden() && !alwaysVisible());\n\n if (!itemToHide) break;\n\n itemToHide.hide();\n result?.show();\n }\n\n return items.filter(({ hidden }) => hidden());\n }\n\n /**\n * This method sets the necessary styles for the directive.\n */\n private setStyles(): void {\n this.renderer.setStyle(this.element, 'position', 'relative');\n this.renderer.setStyle(this.element, 'overflow', 'hidden');\n this.renderer.setStyle(this.element, 'display', 'flex');\n this.renderer.setStyle(this.element, 'flex-grow', '1');\n\n toObservable(this.orientation)\n .pipe(takeUntilDestroyed())\n .subscribe((orientation) => {\n const { flexDirection } = this.orientationConfig[orientation];\n\n this.renderer.setStyle(this.element, 'flex-direction', flexDirection);\n });\n\n toObservable(this.wrap)\n .pipe(takeUntilDestroyed())\n .subscribe((wrap) => this.renderer.setStyle(this.element, 'flex-wrap', wrap));\n }\n\n private hasOverflown(\n container: HTMLElement,\n items: ReadonlyArray<KbqOverflowItem>,\n result: KbqOverflowItemsResult | undefined,\n orientation: KbqOrientation\n ): boolean {\n if (this.wrap() === 'wrap') return this.orientationConfig[orientation].isCrossAxisExceeded(container);\n\n const { containerSize, paddingStart, paddingEnd, itemSize } = this.orientationConfig[orientation];\n const computedStyle = this.window.getComputedStyle(container);\n const containerSizeWithoutPaddings =\n containerSize(container) - paddingStart(computedStyle) - paddingEnd(computedStyle);\n const itemsSize = items.reduce((size, item) => size + (item.hidden() ? 0 : itemSize(item.element)), 0);\n const resultSize = !result || result.hidden() ? 0 : itemSize(result.element);\n\n return itemsSize + resultSize > containerSizeWithoutPaddings;\n }\n\n /**\n * @TODO Should be removed when `Array.prototype.findLast` is supported.\n */\n private findLast<T>(array: ReadonlyArray<T>, predicate: (item: T) => boolean): T | undefined {\n for (let i = array.length - 1; i >= 0; i--) {\n if (predicate(array[i])) {\n return array[i];\n }\n }\n\n return undefined;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { KbqOverflowItem, KbqOverflowItems, KbqOverflowItemsResult } from './overflow-items';\n\nconst COMPONENTS = [\n KbqOverflowItems,\n KbqOverflowItem,\n KbqOverflowItemsResult\n];\n\n@NgModule({\n imports: COMPONENTS,\n exports: COMPONENTS\n})\nexport class KbqOverflowItemsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"koobiq-components-overflow-items.mjs","sources":["../../../packages/components/overflow-items/overflow-items.ts","../../../packages/components/overflow-items/module.ts","../../../packages/components/overflow-items/koobiq-components-overflow-items.ts"],"sourcesContent":["import { SharedResizeObserver } from '@angular/cdk/observers/private';\nimport { DOCUMENT } from '@angular/common';\nimport {\n booleanAttribute,\n computed,\n contentChild,\n contentChildren,\n Directive,\n inject,\n input,\n numberAttribute,\n output,\n Renderer2,\n signal\n} from '@angular/core';\nimport { outputToObservable, takeUntilDestroyed, toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport {\n KBQ_WINDOW,\n KbqFlexDirection,\n KbqFlexWrap,\n kbqInjectNativeElement,\n KbqOrientation\n} from '@koobiq/components/core';\nimport { debounceTime, merge, skip, switchMap } from 'rxjs';\n\n/**\n * Manages the visibility of the element.\n *\n * @docs-private\n */\n@Directive({\n host: {\n '[attr.aria-hidden]': 'hidden()',\n // @TODO should be refactored (#DS-3834)\n '[class.kbq-overflow-item-hidden]': 'hidden()'\n }\n})\nexport class ElementVisibilityManager {\n private readonly renderer = inject(Renderer2);\n private readonly hiddenState = signal(false);\n\n /**\n * @docs-private\n */\n readonly element = kbqInjectNativeElement();\n\n /**\n * Whether the element is hidden.\n *\n * @docs-private\n */\n readonly hidden = computed(() => this.hiddenState());\n\n /**\n * Hides the element.\n *\n * @docs-private\n */\n hide(): void {\n this.renderer.setStyle(this.element, 'visibility', 'hidden');\n this.renderer.setStyle(this.element, 'position', 'absolute');\n this.hiddenState.set(true);\n }\n\n /**\n * Shows the element.\n *\n * @docs-private\n */\n show(): void {\n this.renderer.removeStyle(this.element, 'visibility');\n this.renderer.removeStyle(this.element, 'position');\n this.hiddenState.set(false);\n }\n}\n\n/**\n * Directive for displaying the result of hidden items by the `KbqOverflowItems` directive.\n */\n@Directive({\n selector: '[kbqOverflowItemsResult]',\n exportAs: 'kbqOverflowItemsResult',\n host: { class: 'kbq-overflow-items-result' }\n})\nexport class KbqOverflowItemsResult extends ElementVisibilityManager {}\n\n/**\n * Directive for the item that can be hidden by the `KbqOverflowItems` directive.\n */\n@Directive({\n selector: '[kbqOverflowItem]',\n exportAs: 'kbqOverflowItem',\n host: {\n class: 'kbq-overflow-item',\n '[class.kbq-overflow-item_always-visible]': 'alwaysVisible()'\n }\n})\nexport class KbqOverflowItem extends ElementVisibilityManager {\n /**\n * Unique identifier for the item.\n */\n readonly id = input.required({ alias: 'kbqOverflowItem' });\n /**\n * Defines the order in which the item is processed in the overflow container,\n * without changing its original position in the `QueryList`.\n */\n readonly order = input(null, { transform: numberAttribute });\n /**\n * Element with this attribute will be ignored when hiding and will always remain visible.\n * @default false\n */\n readonly alwaysVisible = input(false, { transform: booleanAttribute });\n\n /**\n * @docs-private\n */\n override hide(): void {\n if (this.alwaysVisible()) return;\n\n super.hide();\n }\n}\n\n/**\n * Directive for managing the visibility of items that overflow the container.\n */\n@Directive({\n selector: '[kbqOverflowItems]',\n exportAs: 'kbqOverflowItems',\n host: { class: 'kbq-overflow-items' }\n})\nexport class KbqOverflowItems {\n private readonly element = kbqInjectNativeElement();\n private readonly resizeObserver = inject(SharedResizeObserver);\n private readonly renderer = inject(Renderer2);\n private readonly document = inject(DOCUMENT);\n private readonly window = inject(KBQ_WINDOW);\n\n /**\n * `KbqOverflowItem` directive references.\n */\n private readonly items = contentChildren(KbqOverflowItem);\n\n /**\n * `KbqOverflowItemsResult` directive reference.\n */\n private readonly result = contentChild(KbqOverflowItemsResult);\n\n /**\n * Whether the overflow order should be reversed.\n *\n * @example\n * ```\n * [0, 1, hidden, hidden] ---> [hidden, hidden, 2, 3]\n * ```\n *\n * @default false\n */\n readonly reverseOverflowOrder = input(false, { transform: booleanAttribute });\n\n /**\n * Debounce time for recalculating items visibility.\n *\n * @default 0\n */\n readonly debounceTime = input(0, { transform: numberAttribute });\n\n /**\n * List of additional elements to observe for resize changes.\n *\n * @default document.body\n */\n readonly additionalResizeObserverTargets = input<Element | Element[]>(this.document.body);\n\n /**\n * Emits when the set of hidden items changes.\n */\n readonly changes = output<ReadonlySet<unknown>>();\n\n /**\n * Set of hidden item IDs.\n */\n readonly hiddenItemIDs = toSignal(outputToObservable(this.changes), {\n initialValue: new Set<unknown>([]) as ReadonlySet<unknown>\n });\n\n /**\n * Defines the orientation of the overflow items.\n *\n * @default 'horizontal'\n */\n readonly orientation = input<KbqOrientation>('horizontal');\n\n /**\n * Defines the wrap of the overflow items.\n *\n * @default 'nowrap'\n */\n readonly wrap = input<KbqFlexWrap>('nowrap');\n\n private readonly orientationConfig: Record<\n KbqOrientation,\n {\n containerSize: (element: HTMLElement) => number;\n paddingStart: (computedStyle: CSSStyleDeclaration) => number;\n paddingEnd: (computedStyle: CSSStyleDeclaration) => number;\n itemSize: (element: HTMLElement) => number;\n isCrossAxisExceeded: (element: HTMLElement) => boolean;\n flexDirection: KbqFlexDirection;\n }\n > = {\n horizontal: {\n containerSize: (element) => element.getBoundingClientRect().width,\n paddingStart: ({ paddingLeft }) => parseFloat(paddingLeft) || 0,\n paddingEnd: ({ paddingRight }) => parseFloat(paddingRight) || 0,\n itemSize: (element) => {\n const { marginRight, marginLeft } = this.window.getComputedStyle(element);\n\n return (\n element.getBoundingClientRect().width +\n (parseFloat(marginLeft) || 0) +\n (parseFloat(marginRight) || 0)\n );\n },\n isCrossAxisExceeded: ({ clientHeight, scrollHeight }) => scrollHeight > clientHeight,\n flexDirection: 'row'\n },\n vertical: {\n containerSize: (element) => element.getBoundingClientRect().height,\n paddingStart: ({ paddingTop }) => parseFloat(paddingTop) || 0,\n paddingEnd: ({ paddingBottom }) => parseFloat(paddingBottom) || 0,\n itemSize: (element) => {\n const { marginTop, marginBottom } = this.window.getComputedStyle(element);\n\n return (\n element.getBoundingClientRect().height +\n (parseFloat(marginTop) || 0) +\n (parseFloat(marginBottom) || 0)\n );\n },\n isCrossAxisExceeded: ({ clientWidth, scrollWidth }) => scrollWidth > clientWidth,\n flexDirection: 'column'\n }\n } as const;\n\n constructor() {\n this.setStyles();\n this.setupObservers();\n }\n\n private setupObservers(): void {\n const resizeObservers = merge(\n this.resizeObserver.observe(this.element),\n toObservable(this.additionalResizeObserverTargets).pipe(\n switchMap((targets) => {\n return Array.isArray(targets)\n ? merge(...targets.map((target) => this.resizeObserver.observe(target)))\n : this.resizeObserver.observe(targets);\n })\n )\n );\n\n merge(\n toObservable(this.items),\n toObservable(this.reverseOverflowOrder).pipe(skip(1)),\n toObservable(this.orientation).pipe(skip(1)),\n resizeObservers\n )\n .pipe(debounceTime(this.debounceTime()), takeUntilDestroyed())\n .subscribe(() => {\n const hiddenItems = this.getHiddenItems(\n this.sortItemsByOrder(this.items()),\n this.reverseOverflowOrder(),\n this.result(),\n this.element,\n this.orientation()\n );\n const hiddenItemIDs = new Set(hiddenItems.map(({ id }) => id()));\n\n this.changes.emit(hiddenItemIDs);\n });\n }\n\n /**\n * Sort items by their `order` attribute.\n * If an item does not have an `order` defined, its index is used as a fallback.\n */\n private sortItemsByOrder(items: ReadonlyArray<KbqOverflowItem>): ReadonlyArray<KbqOverflowItem> {\n const itemsWithOrder = Array.from(items, (item, index) => ({ item, order: item.order() ?? index }));\n\n return itemsWithOrder.sort((a, b) => a.order - b.order).map(({ item }) => item);\n }\n\n /**\n * Manages the visibility of items based on the available space in the container and returns the hidden items.\n * Direction of hiding is determined by the `reverseOverflowOrder` attribute.\n */\n private getHiddenItems(\n items: ReadonlyArray<KbqOverflowItem>,\n reverseOverflowOrder: boolean,\n result: KbqOverflowItemsResult | undefined,\n container: HTMLElement,\n orientation: KbqOrientation\n ): ReadonlyArray<KbqOverflowItem> {\n result?.hide();\n items.forEach((item) => item.show());\n\n while (this.hasOverflown(container, items, result, orientation)) {\n const itemToHide = reverseOverflowOrder\n ? items.find(({ hidden, alwaysVisible }) => !hidden() && !alwaysVisible())\n : this.findLast(items, ({ hidden, alwaysVisible }) => !hidden() && !alwaysVisible());\n\n if (!itemToHide) break;\n\n itemToHide.hide();\n result?.show();\n }\n\n return items.filter(({ hidden }) => hidden());\n }\n\n /**\n * This method sets the necessary styles for the directive.\n */\n private setStyles(): void {\n this.renderer.setStyle(this.element, 'position', 'relative');\n this.renderer.setStyle(this.element, 'overflow', 'hidden');\n this.renderer.setStyle(this.element, 'display', 'flex');\n this.renderer.setStyle(this.element, 'flex-grow', '1');\n\n toObservable(this.orientation)\n .pipe(takeUntilDestroyed())\n .subscribe((orientation) => {\n const { flexDirection } = this.orientationConfig[orientation];\n\n this.renderer.setStyle(this.element, 'flex-direction', flexDirection);\n });\n\n toObservable(this.wrap)\n .pipe(takeUntilDestroyed())\n .subscribe((wrap) => this.renderer.setStyle(this.element, 'flex-wrap', wrap));\n }\n\n private hasOverflown(\n container: HTMLElement,\n items: ReadonlyArray<KbqOverflowItem>,\n result: KbqOverflowItemsResult | undefined,\n orientation: KbqOrientation\n ): boolean {\n if (this.wrap() === 'wrap') return this.orientationConfig[orientation].isCrossAxisExceeded(container);\n\n const { containerSize, paddingStart, paddingEnd, itemSize } = this.orientationConfig[orientation];\n const computedStyle = this.window.getComputedStyle(container);\n const containerSizeWithoutPaddings =\n containerSize(container) - paddingStart(computedStyle) - paddingEnd(computedStyle);\n const itemsSize = items.reduce((size, item) => size + (item.hidden() ? 0 : itemSize(item.element)), 0);\n const resultSize = !result || result.hidden() ? 0 : itemSize(result.element);\n\n return itemsSize + resultSize > containerSizeWithoutPaddings;\n }\n\n /**\n * @TODO Should be removed when `Array.prototype.findLast` is supported.\n */\n private findLast<T>(array: ReadonlyArray<T>, predicate: (item: T) => boolean): T | undefined {\n for (let i = array.length - 1; i >= 0; i--) {\n if (predicate(array[i])) {\n return array[i];\n }\n }\n\n return undefined;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { KbqOverflowItem, KbqOverflowItems, KbqOverflowItemsResult } from './overflow-items';\n\nconst COMPONENTS = [\n KbqOverflowItems,\n KbqOverflowItem,\n KbqOverflowItemsResult\n];\n\n@NgModule({\n imports: COMPONENTS,\n exports: COMPONENTS\n})\nexport class KbqOverflowItemsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -231,7 +231,7 @@ class KbqPopoverTrigger extends KbqPopUpTrigger {
231
231
  return this._size;
232
232
  }
233
233
  set size(value) {
234
- if ([PopUpSizes.Small, PopUpSizes.Medium, PopUpSizes.Large].includes(value)) {
234
+ if ([PopUpSizes.Small, PopUpSizes.Medium, PopUpSizes.Large, PopUpSizes.Custom].includes(value)) {
235
235
  this._size = value;
236
236
  this.updateClassMap();
237
237
  }
@@ -1 +1 @@
1
- {"version":3,"file":"koobiq-components-popover.mjs","sources":["../../../packages/components/popover/popover-animations.ts","../../../packages/components/popover/popover.component.ts","../../../packages/components/popover/popover.component.html","../../../packages/components/popover/popover-confirm.component.ts","../../../packages/components/popover/popover-confirm.component.html","../../../packages/components/popover/popover.module.ts","../../../packages/components/popover/koobiq-components-popover.ts"],"sourcesContent":["import { animate, AnimationTriggerMetadata, state, style, transition, trigger } from '@angular/animations';\n\nexport const kbqPopoverAnimations: {\n readonly popoverState: AnimationTriggerMetadata;\n} = {\n /** Animation that transitions a tooltip in and out. */\n popoverState: trigger('state', [\n state(\n 'initial',\n style({\n opacity: 0,\n transform: 'scale(1, 0.8)'\n })\n ),\n transition(\n '* => visible',\n animate(\n '120ms cubic-bezier(0, 0, 0.2, 1)',\n style({\n opacity: 1,\n transform: 'scale(1, 1)'\n })\n )\n ),\n transition('* => hidden', animate('100ms linear', style({ opacity: 0 })))\n ])\n};\n","import { CdkTrapFocus } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { CdkObserveContent } from '@angular/cdk/observers';\nimport {\n CdkScrollable,\n FlexibleConnectedPositionStrategy,\n Overlay,\n OverlayConfig,\n OverlayContainer,\n ScrollStrategy\n} from '@angular/cdk/overlay';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n Directive,\n ElementRef,\n EventEmitter,\n InjectionToken,\n Input,\n OnInit,\n Output,\n Renderer2,\n TemplateRef,\n Type,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n input,\n numberAttribute\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { KbqButtonModule } from '@koobiq/components/button';\nimport {\n KbqComponentColors,\n KbqPopUp,\n KbqPopUpPlacementValues,\n KbqPopUpSizeValues,\n KbqPopUpTrigger,\n KbqStickToWindowPlacementValues,\n POSITION_TO_CSS_MAP,\n PopUpSizes,\n PopUpTriggers,\n applyPopupMargins\n} from '@koobiq/components/core';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { NEVER, fromEvent, merge } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { kbqPopoverAnimations } from './popover-animations';\n\nexport const defaultOffsetYWithArrow = 8;\n\n@Component({\n selector: 'kbq-popover-component',\n imports: [\n NgTemplateOutlet,\n CdkObserveContent,\n KbqButtonModule,\n KbqIconModule,\n CdkTrapFocus,\n NgClass\n ],\n templateUrl: './popover.component.html',\n styleUrls: ['./popover.scss', './popover-tokens.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n preserveWhitespaces: false,\n host: {\n '(keydown.esc)': 'onEscape()'\n },\n animations: [kbqPopoverAnimations.popoverState]\n})\nexport class KbqPopoverComponent extends KbqPopUp implements AfterViewInit {\n prefix = 'kbq-popover';\n\n header: string | TemplateRef<any>;\n footer: string | TemplateRef<any>;\n\n trigger: KbqPopoverTrigger;\n\n isTrapFocus: boolean = false;\n hasCloseButton: boolean = false;\n\n @ViewChild('popoverContent') popoverContent: ElementRef<HTMLDivElement>;\n @ViewChild('popover') elementRef: ElementRef;\n @ViewChild(CdkTrapFocus) cdkTrapFocus: CdkTrapFocus;\n\n private debounceTime = 15;\n isContentTopOverflow: boolean = false;\n isContentBottomOverflow: boolean = false;\n\n ngAfterViewInit() {\n if (!this.popoverContent) return;\n\n this.checkContentOverflow(this.popoverContent.nativeElement);\n\n fromEvent(this.popoverContent.nativeElement, 'scroll')\n .pipe(debounceTime(this.debounceTime), takeUntilDestroyed(this.destroyRef))\n .subscribe((event) => {\n this.checkContentOverflow(event.target as HTMLElement);\n });\n\n this.cdkTrapFocus.focusTrap.focusFirstTabbableElement();\n this.visibleChange.subscribe((state) => {\n if (this.offset !== null && state) {\n applyPopupMargins(\n this.renderer,\n this.elementRef.nativeElement,\n this.prefix,\n `${this.offset!.toString()}px`\n );\n\n this.setStickPosition();\n }\n });\n }\n\n onContentChange() {\n this.checkContentOverflow(this.popoverContent.nativeElement);\n }\n\n checkContentOverflow(contentElement: HTMLElement) {\n const { scrollTop, offsetHeight, scrollHeight } = contentElement;\n\n this.isContentTopOverflow = scrollTop > 0;\n\n this.isContentBottomOverflow = Math.round(scrollTop + offsetHeight) < scrollHeight;\n\n super.detectChanges();\n }\n\n updateClassMap(placement: string, customClass: string, size: KbqPopUpSizeValues) {\n super.updateClassMap(placement, customClass, { [`${this.prefix}_${size}`]: !!size });\n }\n\n updateTrapFocus(isTrapFocus: boolean): void {\n this.isTrapFocus = isTrapFocus;\n }\n\n onEscape() {\n this.hide(0);\n\n this.trigger.focus();\n }\n\n protected readonly componentColors = KbqComponentColors;\n}\n\nexport const KBQ_POPOVER_SCROLL_STRATEGY = new InjectionToken<() => ScrollStrategy>('kbq-popover-scroll-strategy');\n\n/** @docs-private */\nexport function kbqPopoverScrollStrategyFactory(overlay: Overlay): () => ScrollStrategy {\n return () => overlay.scrollStrategies.reposition({ scrollThrottle: 20 });\n}\n\n/** @docs-private */\nexport const KBQ_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER = {\n provide: KBQ_POPOVER_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: kbqPopoverScrollStrategyFactory\n};\n\n/** Creates an error to be thrown if the user supplied an invalid popover position. */\nexport function getKbqPopoverInvalidPositionError(position: string) {\n return Error(`KbqPopover position \"${position}\" is invalid.`);\n}\n\n@Directive({\n selector: '[kbqPopover]',\n exportAs: 'kbqPopover',\n host: {\n '[class.kbq-popover_open]': 'isOpen',\n '[class.kbq-active]': 'hasClickTrigger && isOpen',\n '(keydown)': 'keydownHandler($event)',\n '(touchend)': 'touchendHandler()'\n }\n})\nexport class KbqPopoverTrigger extends KbqPopUpTrigger<KbqPopoverComponent> implements AfterContentInit, OnInit {\n private overlayContainer = inject(OverlayContainer);\n private renderer = inject(Renderer2);\n\n protected scrollStrategy: () => ScrollStrategy = inject(KBQ_POPOVER_SCROLL_STRATEGY);\n\n /** Controls whether the component should be hidden when it is not visible in the viewport. */\n readonly hideIfNotInViewPort = input(true, { transform: booleanAttribute });\n\n /** prevents closure by any event */\n @Input({ alias: 'kbqPopoverPreventClose', transform: booleanAttribute }) override preventClose: boolean = false;\n\n /** disables default padding for all popover elements (header, content and footer) */\n @Input({ transform: booleanAttribute }) defaultPaddings = true;\n\n @Input('kbqPopoverVisible')\n get popoverVisible(): boolean {\n return this.visible;\n }\n\n set popoverVisible(value: boolean) {\n super.updateVisible(value);\n }\n\n @Input('kbqPopoverPlacement')\n get popoverPlacement(): KbqPopUpPlacementValues {\n return this.placement;\n }\n\n set popoverPlacement(value: KbqPopUpPlacementValues) {\n super.updatePlacement(value);\n }\n\n @Input('kbqPopoverPlacementPriority')\n get popoverPlacementPriority() {\n return this.placementPriority;\n }\n\n set popoverPlacementPriority(value) {\n super.updatePlacementPriority(value);\n }\n\n /**\n * Additionally positions the element relative to the window side (Top, Right, Bottom and Left).\n * If container is specified, the positioning will be relative to it.\n * */\n @Input('kbqPopoverStickToWindow') stickToWindow: KbqStickToWindowPlacementValues;\n\n /** Container for additional positioning, used with kbqPopoverStickToWindow */\n @Input() container: HTMLElement;\n\n @Input()\n get hasBackdrop(): boolean {\n return this._hasBackdrop;\n }\n\n set hasBackdrop(value: boolean) {\n this._hasBackdrop = coerceBooleanProperty(value);\n }\n\n private _hasBackdrop: boolean = false;\n\n @Input('kbqPopoverHeader')\n get header(): string | TemplateRef<any> {\n return this._header;\n }\n\n set header(value: string | TemplateRef<any>) {\n this._header = value;\n\n this.updateData();\n }\n\n private _header: string | TemplateRef<any>;\n\n @Input('kbqPopoverContent')\n get content(): string | TemplateRef<any> {\n return this._content;\n }\n\n set content(value: string | TemplateRef<any>) {\n this._content = value;\n\n this.updateData();\n }\n\n @Input('kbqPopoverFooter')\n get footer(): string | TemplateRef<any> {\n return this._footer;\n }\n\n set footer(value: string | TemplateRef<any>) {\n this._footer = value;\n\n this.updateData();\n }\n\n private _footer: string | TemplateRef<any>;\n\n @Input('kbqPopoverDisabled')\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n\n if (this._disabled) {\n this.hide();\n }\n }\n\n @Input('kbqTrigger')\n get trigger(): string {\n return this._trigger;\n }\n\n set trigger(value: string) {\n if (value) {\n this._trigger = value;\n\n if (this.trigger.includes(PopUpTriggers.Hover)) {\n this.hideWithTimeout = true;\n this.leaveDelay = this.leaveDelay ?? 500;\n }\n } else {\n this._trigger = `${PopUpTriggers.Click}, ${PopUpTriggers.Keydown}`;\n }\n\n this.initListeners();\n }\n\n private _trigger: string = `${PopUpTriggers.Click}, ${PopUpTriggers.Keydown}`;\n\n @Input('kbqPopoverSize')\n get size(): KbqPopUpSizeValues {\n return this._size;\n }\n\n set size(value: KbqPopUpSizeValues) {\n if ([PopUpSizes.Small, PopUpSizes.Medium, PopUpSizes.Large].includes(value as PopUpSizes)) {\n this._size = value;\n\n this.updateClassMap();\n } else {\n this._size = PopUpSizes.Medium;\n }\n }\n\n private _size: KbqPopUpSizeValues = PopUpSizes.Medium;\n\n @Input('kbqPopoverClass')\n get customClass() {\n return this._customClass;\n }\n\n set customClass(value: string) {\n this._customClass = value;\n\n this.updateClassMap();\n }\n\n /** Context for popover templates (kbqPopoverHeader, kbqPopoverContent and kbqPopoverFooter). */\n @Input('kbqPopoverContext')\n get context() {\n return this._context;\n }\n\n set context(ctx) {\n this._context = ctx;\n this.updateData();\n }\n\n private _context: unknown = null;\n\n @Input()\n get hasCloseButton() {\n return this._hasCloseButton;\n }\n set hasCloseButton(value) {\n this._hasCloseButton = value;\n this.updateData();\n }\n private _hasCloseButton = false;\n\n /**\n * Controls the behavior of closing the component on scroll.\n * The default value is `false`.\n * Use CloseScrollStrategy as alternative\n */\n @Input()\n get closeOnScroll(): boolean | null {\n return this._closeOnScroll;\n }\n\n set closeOnScroll(value: boolean) {\n this._closeOnScroll = coerceBooleanProperty(value);\n }\n\n private _closeOnScroll: boolean | null = null;\n\n get hasClickTrigger(): boolean {\n return this.trigger.includes(PopUpTriggers.Click);\n }\n\n /** @docs-private */\n get instanceDestroyRef(): DestroyRef {\n return this.instance.destroyRef;\n }\n\n @Input() backdropClass: string = 'cdk-overlay-transparent-backdrop';\n\n // @TODO add realization for arrow (#DS-2514)\n @Input({ alias: 'kbqPopoverArrow', transform: booleanAttribute }) arrow: boolean = true;\n\n @Input({ alias: 'kbqPopoverOffset', transform: numberAttribute }) offset: number | null = defaultOffsetYWithArrow;\n\n /** Delay before closing in milliseconds. The default value for kbqTrigger=PopUpTriggers.Hover is 500 ms. */\n @Input({ alias: 'kbqLeaveDelay', transform: numberAttribute }) leaveDelay: number;\n\n @Output('kbqPopoverPlacementChange') readonly placementChange = new EventEmitter();\n\n @Output('kbqPopoverVisibleChange') readonly visibleChange = new EventEmitter<boolean>();\n\n protected originSelector = '.kbq-popover';\n\n protected get overlayConfig(): OverlayConfig {\n return {\n panelClass: 'kbq-popover__panel',\n hasBackdrop: this.hasBackdrop,\n backdropClass: this.backdropClass\n };\n }\n\n private classAddedToOverlayContainer: boolean = false;\n\n ngOnInit(): void {\n super.ngOnInit();\n\n this.scrollable\n ?.elementScrolled()\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(this.hideIfScrolledOutOfView);\n }\n\n ngAfterContentInit(): void {\n if (this.closeOnScroll === null) {\n this.scrollDispatcher.scrolled().subscribe((scrollable: CdkScrollable | void) => {\n if (!scrollable?.getElementRef().nativeElement.classList.contains('kbq-hide-nested-popup')) return;\n\n const parentRects = scrollable.getElementRef().nativeElement.getBoundingClientRect();\n const childRects = this.elementRef.nativeElement.getBoundingClientRect();\n\n if (childRects.bottom < parentRects.top || childRects.top > parentRects.bottom) {\n this.hide();\n }\n });\n }\n }\n\n /**\n * Overrides the base `show` method to display the overlay component with the\n * specified entry delay and apply default positioning offsets.\n */\n override show(delay: number = this.enterDelay) {\n super.show(delay);\n\n this.addClassToOverlayContainer();\n }\n\n override hide(delay: number = this.leaveDelay) {\n super.hide(delay);\n\n this.removeClassFromOverlayContainer();\n }\n\n updateData() {\n if (!this.instance) return;\n\n this.instance.header = this.header;\n this.instance.content = this.content;\n this.instance.context = this.context && { $implicit: this.context };\n this.instance.arrow = this.arrow;\n this.instance.offset = this.offset;\n this.instance.footer = this.footer;\n this.instance.hasCloseButton = this.hasCloseButton;\n this.instance.defaultPaddings = this.defaultPaddings;\n\n this.instance.updateTrapFocus(this.trigger !== PopUpTriggers.Focus);\n\n if (this.isOpen) {\n this.updatePosition(true);\n }\n }\n\n /** Updates the position of the current popover. */\n updatePosition(reapplyPosition: boolean = false) {\n this.overlayRef = this.createOverlay();\n\n const position = (this.overlayRef.getConfig().positionStrategy as FlexibleConnectedPositionStrategy)\n .withPositions(this.getAdjustedPositions())\n .withPush(true);\n\n if (reapplyPosition) {\n setTimeout(() => position.reapplyLastPosition());\n }\n }\n\n getOverlayHandleComponentType(): Type<KbqPopoverComponent> {\n return KbqPopoverComponent;\n }\n\n updateClassMap(newPlacement: string = this.placement) {\n if (!this.instance) {\n return;\n }\n\n this.instance.updateClassMap(POSITION_TO_CSS_MAP[newPlacement], this.customClass, this.size);\n this.instance.markForCheck();\n }\n\n closingActionsForClick() {\n if (this.hasClickTrigger) {\n return this.defaultClosingActions();\n }\n\n return [];\n }\n\n defaultClosingActions() {\n return [\n this.overlayRef!.backdropClick(),\n this.hasBackdrop ? NEVER : this.overlayRef!.outsidePointerEvents()\n ];\n }\n\n closingActions() {\n return merge(...this.closingActionsForClick(), this.closeOnScroll ? this.scrollDispatcher.scrolled() : NEVER);\n }\n\n private hideIfScrolledOutOfView = () => {\n if (!this.scrollable || !this.hideIfNotInViewPort()) return;\n\n const rect = this.elementRef.nativeElement.getBoundingClientRect();\n const containerRect = this.scrollable.getElementRef().nativeElement.getBoundingClientRect();\n\n if (\n !(\n rect.bottom >= containerRect.top &&\n rect.right >= containerRect.left &&\n rect.top <= containerRect.bottom &&\n rect.left <= containerRect.right\n )\n ) {\n this.hide();\n }\n };\n\n private addClassToOverlayContainer() {\n const overlayContainer = this.overlayContainer?.getContainerElement();\n\n if (overlayContainer.childNodes.length === 1) {\n this.classAddedToOverlayContainer = true;\n\n this.renderer.addClass(overlayContainer, 'cdk-overlay-container_dropdown');\n }\n }\n\n private removeClassFromOverlayContainer() {\n if (this.classAddedToOverlayContainer) {\n this.renderer.removeClass(this.overlayContainer.getContainerElement(), 'cdk-overlay-container_dropdown');\n }\n }\n}\n","<div\n #popover\n class=\"kbq-popover\"\n [class.kbq-popover_arrowless]=\"!arrow\"\n [cdkTrapFocus]=\"isTrapFocus\"\n [ngClass]=\"classMap\"\n [@state]=\"visibility\"\n (@state.done)=\"animationDone($event)\"\n (@state.start)=\"animationStart()\"\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_top-overflow]=\"isContentTopOverflow\"\n [class.kbq-popover__header_with-close-button]=\"hasCloseButton\"\n >\n @if (isTemplateRef(header)) {\n <ng-container [ngTemplateOutlet]=\"$any(header)\" [ngTemplateOutletContext]=\"context\" />\n }\n @if (!isTemplateRef(header)) {\n <div class=\"kbq-popover__header-text\">{{ header }}</div>\n }\n </div>\n }\n\n @if (content) {\n <div\n #popoverContent\n class=\"kbq-popover__content kbq-scrollbar\"\n [class.kbq-popover__content_default-paddings]=\"defaultPaddings\"\n (cdkObserveContent)=\"onContentChange()\"\n >\n @if (hasCloseButton && !header) {\n <div class=\"kbq-popover__close-container\">\n <ng-container [ngTemplateOutlet]=\"closeButton\" />\n </div>\n }\n @if (isTemplateRef(content)) {\n <ng-container [ngTemplateOutlet]=\"$any(content)\" [ngTemplateOutletContext]=\"context\" />\n }\n @if (!isTemplateRef(content)) {\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 [class.kbq-popover__footer_bottom-overflow]=\"isContentBottomOverflow\"\n >\n @if (isTemplateRef(footer)) {\n <ng-container [ngTemplateOutlet]=\"$any(footer)\" [ngTemplateOutletContext]=\"context\" />\n }\n @if (!isTemplateRef(footer)) {\n <div>{{ footer }}</div>\n }\n </div>\n }\n </div>\n\n @if (hasCloseButton && header) {\n <div class=\"kbq-popover__close-container\">\n <ng-container [ngTemplateOutlet]=\"closeButton\" />\n </div>\n }\n\n <ng-template #closeButton>\n <div class=\"kbq-popover__close\" [class.kbq-popover__close_background-overlay-inverse]=\"!header\">\n <button kbq-button class=\"kbq-button_transparent\" [color]=\"componentColors.Contrast\" (click)=\"hide(0)\">\n <i kbq-icon=\"kbq-xmark_16\" [color]=\"componentColors.Contrast\"></i>\n </button>\n </div>\n </ng-template>\n\n @if (arrow) {\n <div class=\"kbq-popover__arrow\"></div>\n }\n</div>\n","import { CdkTrapFocus } from '@angular/cdk/a11y';\nimport { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Directive,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n Optional,\n Output,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { KbqButtonModule } from '@koobiq/components/button';\nimport { Subject } from 'rxjs';\nimport { kbqPopoverAnimations } from './popover-animations';\nimport { KbqPopoverComponent, KbqPopoverTrigger } from './popover.component';\n\nexport const KBQ_POPOVER_CONFIRM_TEXT = new InjectionToken<string>('');\nexport const KBQ_POPOVER_CONFIRM_BUTTON_TEXT = new InjectionToken<string>('');\n\n@Component({\n selector: 'kbq-popover-confirm-component',\n imports: [\n NgClass,\n CdkTrapFocus,\n KbqButtonModule\n ],\n templateUrl: './popover-confirm.component.html',\n styleUrls: ['./popover.scss', './popover-tokens.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n preserveWhitespaces: false,\n animations: [kbqPopoverAnimations.popoverState]\n})\nexport class KbqPopoverConfirmComponent extends KbqPopoverComponent {\n onConfirm = new Subject<void>();\n confirmButtonText: string;\n\n confirmText: string;\n}\n\n@Directive({\n selector: '[kbqPopoverConfirm]',\n exportAs: 'kbqPopoverConfirm',\n host: {\n '[class.kbq-popover_open]': 'isOpen',\n '(keydown)': 'keydownHandler($event)',\n '(touchend)': 'touchendHandler()'\n }\n})\nexport class KbqPopoverConfirmTrigger extends KbqPopoverTrigger {\n @Output() readonly confirm: EventEmitter<void> = new EventEmitter<void>();\n\n @Input('kbqPopoverConfirmText')\n get confirmText(): string {\n return this._confirmText;\n }\n\n set confirmText(value: string) {\n this._confirmText = value;\n\n this.updateData();\n }\n\n private _confirmText: string;\n\n @Input('kbqPopoverConfirmButtonText')\n get confirmButtonText(): string {\n return this._confirmButtonText;\n }\n\n set confirmButtonText(value: string) {\n this._confirmButtonText = value;\n\n this.updateData();\n }\n\n private _confirmButtonText: string = 'Да';\n\n constructor(\n @Optional() @Inject(KBQ_POPOVER_CONFIRM_TEXT) confirmText: string,\n @Optional() @Inject(KBQ_POPOVER_CONFIRM_BUTTON_TEXT) confirmButtonText: string\n ) {\n super();\n\n this.confirmText = confirmText || 'Вы уверены, что хотите продолжить?';\n this.confirmButtonText = confirmButtonText || 'Да';\n }\n\n updateData() {\n if (!this.instance) {\n return;\n }\n\n super.updateData();\n this.setupButtonEvents();\n this.instance.confirmButtonText = this.confirmButtonText;\n this.instance.confirmText = this.confirmText;\n }\n\n setupButtonEvents() {\n this.instance.onConfirm.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.confirm.emit();\n this.hide();\n });\n }\n\n getOverlayHandleComponentType() {\n return KbqPopoverConfirmComponent;\n }\n}\n","<div\n cdkTrapFocus=\"true\"\n cdkTrapFocusAutoCapture=\"true\"\n class=\"kbq-popover-confirm kbq-popover\"\n [ngClass]=\"classMap\"\n [@state]=\"visibility\"\n (@state.done)=\"animationDone($event)\"\n (@state.start)=\"animationStart()\"\n>\n <div class=\"kbq-popover__container\">\n <div class=\"kbq-popover__content\">\n <div>{{ confirmText }}</div>\n <button kbq-button [color]=\"'contrast'\" (click)=\"onConfirm.next()\">\n {{ confirmButtonText }}\n </button>\n </div>\n </div>\n\n <div class=\"kbq-popover__arrow\"></div>\n</div>\n","import {\n A11yModule,\n ConfigurableFocusTrapFactory,\n FOCUS_TRAP_INERT_STRATEGY,\n FocusTrapFactory\n} from '@angular/cdk/a11y';\nimport { CdkObserveContent } from '@angular/cdk/observers';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { KbqButtonModule } from '@koobiq/components/button';\nimport { EmptyFocusTrapStrategy } from '@koobiq/components/core';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { KbqPopoverConfirmComponent, KbqPopoverConfirmTrigger } from './popover-confirm.component';\nimport {\n KBQ_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER,\n KbqPopoverComponent,\n KbqPopoverTrigger\n} from './popover.component';\n\n@NgModule({\n imports: [\n OverlayModule,\n KbqButtonModule,\n A11yModule,\n KbqIconModule,\n CdkObserveContent,\n NgClass,\n NgTemplateOutlet,\n KbqPopoverComponent,\n KbqPopoverTrigger,\n KbqPopoverConfirmComponent,\n KbqPopoverConfirmTrigger\n ],\n exports: [\n KbqPopoverComponent,\n KbqPopoverTrigger,\n KbqPopoverConfirmComponent,\n KbqPopoverConfirmTrigger\n ],\n providers: [\n KBQ_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER,\n { provide: FocusTrapFactory, useClass: ConfigurableFocusTrapFactory },\n { provide: FOCUS_TRAP_INERT_STRATEGY, useClass: EmptyFocusTrapStrategy }\n ]\n})\nexport class KbqPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"koobiq-components-popover.mjs","sources":["../../../packages/components/popover/popover-animations.ts","../../../packages/components/popover/popover.component.ts","../../../packages/components/popover/popover.component.html","../../../packages/components/popover/popover-confirm.component.ts","../../../packages/components/popover/popover-confirm.component.html","../../../packages/components/popover/popover.module.ts","../../../packages/components/popover/koobiq-components-popover.ts"],"sourcesContent":["import { animate, AnimationTriggerMetadata, state, style, transition, trigger } from '@angular/animations';\n\nexport const kbqPopoverAnimations: {\n readonly popoverState: AnimationTriggerMetadata;\n} = {\n /** Animation that transitions a tooltip in and out. */\n popoverState: trigger('state', [\n state(\n 'initial',\n style({\n opacity: 0,\n transform: 'scale(1, 0.8)'\n })\n ),\n transition(\n '* => visible',\n animate(\n '120ms cubic-bezier(0, 0, 0.2, 1)',\n style({\n opacity: 1,\n transform: 'scale(1, 1)'\n })\n )\n ),\n transition('* => hidden', animate('100ms linear', style({ opacity: 0 })))\n ])\n};\n","import { CdkTrapFocus } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { CdkObserveContent } from '@angular/cdk/observers';\nimport {\n CdkScrollable,\n FlexibleConnectedPositionStrategy,\n Overlay,\n OverlayConfig,\n OverlayContainer,\n ScrollStrategy\n} from '@angular/cdk/overlay';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n Directive,\n ElementRef,\n EventEmitter,\n InjectionToken,\n Input,\n OnInit,\n Output,\n Renderer2,\n TemplateRef,\n Type,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n input,\n numberAttribute\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { KbqButtonModule } from '@koobiq/components/button';\nimport {\n KbqComponentColors,\n KbqPopUp,\n KbqPopUpPlacementValues,\n KbqPopUpSizeValues,\n KbqPopUpTrigger,\n KbqStickToWindowPlacementValues,\n POSITION_TO_CSS_MAP,\n PopUpSizes,\n PopUpTriggers,\n applyPopupMargins\n} from '@koobiq/components/core';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { NEVER, fromEvent, merge } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { kbqPopoverAnimations } from './popover-animations';\n\nexport const defaultOffsetYWithArrow = 8;\n\n@Component({\n selector: 'kbq-popover-component',\n imports: [\n NgTemplateOutlet,\n CdkObserveContent,\n KbqButtonModule,\n KbqIconModule,\n CdkTrapFocus,\n NgClass\n ],\n templateUrl: './popover.component.html',\n styleUrls: ['./popover.scss', './popover-tokens.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n preserveWhitespaces: false,\n host: {\n '(keydown.esc)': 'onEscape()'\n },\n animations: [kbqPopoverAnimations.popoverState]\n})\nexport class KbqPopoverComponent extends KbqPopUp implements AfterViewInit {\n prefix = 'kbq-popover';\n\n header: string | TemplateRef<any>;\n footer: string | TemplateRef<any>;\n\n trigger: KbqPopoverTrigger;\n\n isTrapFocus: boolean = false;\n hasCloseButton: boolean = false;\n\n @ViewChild('popoverContent') popoverContent: ElementRef<HTMLDivElement>;\n @ViewChild('popover') elementRef: ElementRef;\n @ViewChild(CdkTrapFocus) cdkTrapFocus: CdkTrapFocus;\n\n private debounceTime = 15;\n isContentTopOverflow: boolean = false;\n isContentBottomOverflow: boolean = false;\n\n ngAfterViewInit() {\n if (!this.popoverContent) return;\n\n this.checkContentOverflow(this.popoverContent.nativeElement);\n\n fromEvent(this.popoverContent.nativeElement, 'scroll')\n .pipe(debounceTime(this.debounceTime), takeUntilDestroyed(this.destroyRef))\n .subscribe((event) => {\n this.checkContentOverflow(event.target as HTMLElement);\n });\n\n this.cdkTrapFocus.focusTrap.focusFirstTabbableElement();\n this.visibleChange.subscribe((state) => {\n if (this.offset !== null && state) {\n applyPopupMargins(\n this.renderer,\n this.elementRef.nativeElement,\n this.prefix,\n `${this.offset!.toString()}px`\n );\n\n this.setStickPosition();\n }\n });\n }\n\n onContentChange() {\n this.checkContentOverflow(this.popoverContent.nativeElement);\n }\n\n checkContentOverflow(contentElement: HTMLElement) {\n const { scrollTop, offsetHeight, scrollHeight } = contentElement;\n\n this.isContentTopOverflow = scrollTop > 0;\n\n this.isContentBottomOverflow = Math.round(scrollTop + offsetHeight) < scrollHeight;\n\n super.detectChanges();\n }\n\n updateClassMap(placement: string, customClass: string, size: KbqPopUpSizeValues) {\n super.updateClassMap(placement, customClass, { [`${this.prefix}_${size}`]: !!size });\n }\n\n updateTrapFocus(isTrapFocus: boolean): void {\n this.isTrapFocus = isTrapFocus;\n }\n\n onEscape() {\n this.hide(0);\n\n this.trigger.focus();\n }\n\n protected readonly componentColors = KbqComponentColors;\n}\n\nexport const KBQ_POPOVER_SCROLL_STRATEGY = new InjectionToken<() => ScrollStrategy>('kbq-popover-scroll-strategy');\n\n/** @docs-private */\nexport function kbqPopoverScrollStrategyFactory(overlay: Overlay): () => ScrollStrategy {\n return () => overlay.scrollStrategies.reposition({ scrollThrottle: 20 });\n}\n\n/** @docs-private */\nexport const KBQ_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER = {\n provide: KBQ_POPOVER_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: kbqPopoverScrollStrategyFactory\n};\n\n/** Creates an error to be thrown if the user supplied an invalid popover position. */\nexport function getKbqPopoverInvalidPositionError(position: string) {\n return Error(`KbqPopover position \"${position}\" is invalid.`);\n}\n\n@Directive({\n selector: '[kbqPopover]',\n exportAs: 'kbqPopover',\n host: {\n '[class.kbq-popover_open]': 'isOpen',\n '[class.kbq-active]': 'hasClickTrigger && isOpen',\n '(keydown)': 'keydownHandler($event)',\n '(touchend)': 'touchendHandler()'\n }\n})\nexport class KbqPopoverTrigger extends KbqPopUpTrigger<KbqPopoverComponent> implements AfterContentInit, OnInit {\n private overlayContainer = inject(OverlayContainer);\n private renderer = inject(Renderer2);\n\n protected scrollStrategy: () => ScrollStrategy = inject(KBQ_POPOVER_SCROLL_STRATEGY);\n\n /** Controls whether the component should be hidden when it is not visible in the viewport. */\n readonly hideIfNotInViewPort = input(true, { transform: booleanAttribute });\n\n /** prevents closure by any event */\n @Input({ alias: 'kbqPopoverPreventClose', transform: booleanAttribute }) override preventClose: boolean = false;\n\n /** disables default padding for all popover elements (header, content and footer) */\n @Input({ transform: booleanAttribute }) defaultPaddings = true;\n\n @Input('kbqPopoverVisible')\n get popoverVisible(): boolean {\n return this.visible;\n }\n\n set popoverVisible(value: boolean) {\n super.updateVisible(value);\n }\n\n @Input('kbqPopoverPlacement')\n get popoverPlacement(): KbqPopUpPlacementValues {\n return this.placement;\n }\n\n set popoverPlacement(value: KbqPopUpPlacementValues) {\n super.updatePlacement(value);\n }\n\n @Input('kbqPopoverPlacementPriority')\n get popoverPlacementPriority() {\n return this.placementPriority;\n }\n\n set popoverPlacementPriority(value) {\n super.updatePlacementPriority(value);\n }\n\n /**\n * Additionally positions the element relative to the window side (Top, Right, Bottom and Left).\n * If container is specified, the positioning will be relative to it.\n * */\n @Input('kbqPopoverStickToWindow') stickToWindow: KbqStickToWindowPlacementValues;\n\n /** Container for additional positioning, used with kbqPopoverStickToWindow */\n @Input() container: HTMLElement;\n\n @Input()\n get hasBackdrop(): boolean {\n return this._hasBackdrop;\n }\n\n set hasBackdrop(value: boolean) {\n this._hasBackdrop = coerceBooleanProperty(value);\n }\n\n private _hasBackdrop: boolean = false;\n\n @Input('kbqPopoverHeader')\n get header(): string | TemplateRef<any> {\n return this._header;\n }\n\n set header(value: string | TemplateRef<any>) {\n this._header = value;\n\n this.updateData();\n }\n\n private _header: string | TemplateRef<any>;\n\n @Input('kbqPopoverContent')\n get content(): string | TemplateRef<any> {\n return this._content;\n }\n\n set content(value: string | TemplateRef<any>) {\n this._content = value;\n\n this.updateData();\n }\n\n @Input('kbqPopoverFooter')\n get footer(): string | TemplateRef<any> {\n return this._footer;\n }\n\n set footer(value: string | TemplateRef<any>) {\n this._footer = value;\n\n this.updateData();\n }\n\n private _footer: string | TemplateRef<any>;\n\n @Input('kbqPopoverDisabled')\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n\n if (this._disabled) {\n this.hide();\n }\n }\n\n @Input('kbqTrigger')\n get trigger(): string {\n return this._trigger;\n }\n\n set trigger(value: string) {\n if (value) {\n this._trigger = value;\n\n if (this.trigger.includes(PopUpTriggers.Hover)) {\n this.hideWithTimeout = true;\n this.leaveDelay = this.leaveDelay ?? 500;\n }\n } else {\n this._trigger = `${PopUpTriggers.Click}, ${PopUpTriggers.Keydown}`;\n }\n\n this.initListeners();\n }\n\n private _trigger: string = `${PopUpTriggers.Click}, ${PopUpTriggers.Keydown}`;\n\n @Input('kbqPopoverSize')\n get size(): KbqPopUpSizeValues {\n return this._size;\n }\n\n set size(value: KbqPopUpSizeValues) {\n if ([PopUpSizes.Small, PopUpSizes.Medium, PopUpSizes.Large, PopUpSizes.Custom].includes(value as PopUpSizes)) {\n this._size = value;\n\n this.updateClassMap();\n } else {\n this._size = PopUpSizes.Medium;\n }\n }\n\n private _size: KbqPopUpSizeValues = PopUpSizes.Medium;\n\n @Input('kbqPopoverClass')\n get customClass() {\n return this._customClass;\n }\n\n set customClass(value: string) {\n this._customClass = value;\n\n this.updateClassMap();\n }\n\n /** Context for popover templates (kbqPopoverHeader, kbqPopoverContent and kbqPopoverFooter). */\n @Input('kbqPopoverContext')\n get context() {\n return this._context;\n }\n\n set context(ctx) {\n this._context = ctx;\n this.updateData();\n }\n\n private _context: unknown = null;\n\n @Input()\n get hasCloseButton() {\n return this._hasCloseButton;\n }\n set hasCloseButton(value) {\n this._hasCloseButton = value;\n this.updateData();\n }\n private _hasCloseButton = false;\n\n /**\n * Controls the behavior of closing the component on scroll.\n * The default value is `false`.\n * Use CloseScrollStrategy as alternative\n */\n @Input()\n get closeOnScroll(): boolean | null {\n return this._closeOnScroll;\n }\n\n set closeOnScroll(value: boolean) {\n this._closeOnScroll = coerceBooleanProperty(value);\n }\n\n private _closeOnScroll: boolean | null = null;\n\n get hasClickTrigger(): boolean {\n return this.trigger.includes(PopUpTriggers.Click);\n }\n\n /** @docs-private */\n get instanceDestroyRef(): DestroyRef {\n return this.instance.destroyRef;\n }\n\n @Input() backdropClass: string = 'cdk-overlay-transparent-backdrop';\n\n // @TODO add realization for arrow (#DS-2514)\n @Input({ alias: 'kbqPopoverArrow', transform: booleanAttribute }) arrow: boolean = true;\n\n @Input({ alias: 'kbqPopoverOffset', transform: numberAttribute }) offset: number | null = defaultOffsetYWithArrow;\n\n /** Delay before closing in milliseconds. The default value for kbqTrigger=PopUpTriggers.Hover is 500 ms. */\n @Input({ alias: 'kbqLeaveDelay', transform: numberAttribute }) leaveDelay: number;\n\n @Output('kbqPopoverPlacementChange') readonly placementChange = new EventEmitter();\n\n @Output('kbqPopoverVisibleChange') readonly visibleChange = new EventEmitter<boolean>();\n\n protected originSelector = '.kbq-popover';\n\n protected get overlayConfig(): OverlayConfig {\n return {\n panelClass: 'kbq-popover__panel',\n hasBackdrop: this.hasBackdrop,\n backdropClass: this.backdropClass\n };\n }\n\n private classAddedToOverlayContainer: boolean = false;\n\n ngOnInit(): void {\n super.ngOnInit();\n\n this.scrollable\n ?.elementScrolled()\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(this.hideIfScrolledOutOfView);\n }\n\n ngAfterContentInit(): void {\n if (this.closeOnScroll === null) {\n this.scrollDispatcher.scrolled().subscribe((scrollable: CdkScrollable | void) => {\n if (!scrollable?.getElementRef().nativeElement.classList.contains('kbq-hide-nested-popup')) return;\n\n const parentRects = scrollable.getElementRef().nativeElement.getBoundingClientRect();\n const childRects = this.elementRef.nativeElement.getBoundingClientRect();\n\n if (childRects.bottom < parentRects.top || childRects.top > parentRects.bottom) {\n this.hide();\n }\n });\n }\n }\n\n /**\n * Overrides the base `show` method to display the overlay component with the\n * specified entry delay and apply default positioning offsets.\n */\n override show(delay: number = this.enterDelay) {\n super.show(delay);\n\n this.addClassToOverlayContainer();\n }\n\n override hide(delay: number = this.leaveDelay) {\n super.hide(delay);\n\n this.removeClassFromOverlayContainer();\n }\n\n updateData() {\n if (!this.instance) return;\n\n this.instance.header = this.header;\n this.instance.content = this.content;\n this.instance.context = this.context && { $implicit: this.context };\n this.instance.arrow = this.arrow;\n this.instance.offset = this.offset;\n this.instance.footer = this.footer;\n this.instance.hasCloseButton = this.hasCloseButton;\n this.instance.defaultPaddings = this.defaultPaddings;\n\n this.instance.updateTrapFocus(this.trigger !== PopUpTriggers.Focus);\n\n if (this.isOpen) {\n this.updatePosition(true);\n }\n }\n\n /** Updates the position of the current popover. */\n updatePosition(reapplyPosition: boolean = false) {\n this.overlayRef = this.createOverlay();\n\n const position = (this.overlayRef.getConfig().positionStrategy as FlexibleConnectedPositionStrategy)\n .withPositions(this.getAdjustedPositions())\n .withPush(true);\n\n if (reapplyPosition) {\n setTimeout(() => position.reapplyLastPosition());\n }\n }\n\n getOverlayHandleComponentType(): Type<KbqPopoverComponent> {\n return KbqPopoverComponent;\n }\n\n updateClassMap(newPlacement: string = this.placement) {\n if (!this.instance) {\n return;\n }\n\n this.instance.updateClassMap(POSITION_TO_CSS_MAP[newPlacement], this.customClass, this.size);\n this.instance.markForCheck();\n }\n\n closingActionsForClick() {\n if (this.hasClickTrigger) {\n return this.defaultClosingActions();\n }\n\n return [];\n }\n\n defaultClosingActions() {\n return [\n this.overlayRef!.backdropClick(),\n this.hasBackdrop ? NEVER : this.overlayRef!.outsidePointerEvents()\n ];\n }\n\n closingActions() {\n return merge(...this.closingActionsForClick(), this.closeOnScroll ? this.scrollDispatcher.scrolled() : NEVER);\n }\n\n private hideIfScrolledOutOfView = () => {\n if (!this.scrollable || !this.hideIfNotInViewPort()) return;\n\n const rect = this.elementRef.nativeElement.getBoundingClientRect();\n const containerRect = this.scrollable.getElementRef().nativeElement.getBoundingClientRect();\n\n if (\n !(\n rect.bottom >= containerRect.top &&\n rect.right >= containerRect.left &&\n rect.top <= containerRect.bottom &&\n rect.left <= containerRect.right\n )\n ) {\n this.hide();\n }\n };\n\n private addClassToOverlayContainer() {\n const overlayContainer = this.overlayContainer?.getContainerElement();\n\n if (overlayContainer.childNodes.length === 1) {\n this.classAddedToOverlayContainer = true;\n\n this.renderer.addClass(overlayContainer, 'cdk-overlay-container_dropdown');\n }\n }\n\n private removeClassFromOverlayContainer() {\n if (this.classAddedToOverlayContainer) {\n this.renderer.removeClass(this.overlayContainer.getContainerElement(), 'cdk-overlay-container_dropdown');\n }\n }\n}\n","<div\n #popover\n class=\"kbq-popover\"\n [class.kbq-popover_arrowless]=\"!arrow\"\n [cdkTrapFocus]=\"isTrapFocus\"\n [ngClass]=\"classMap\"\n [@state]=\"visibility\"\n (@state.done)=\"animationDone($event)\"\n (@state.start)=\"animationStart()\"\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_top-overflow]=\"isContentTopOverflow\"\n [class.kbq-popover__header_with-close-button]=\"hasCloseButton\"\n >\n @if (isTemplateRef(header)) {\n <ng-container [ngTemplateOutlet]=\"$any(header)\" [ngTemplateOutletContext]=\"context\" />\n }\n @if (!isTemplateRef(header)) {\n <div class=\"kbq-popover__header-text\">{{ header }}</div>\n }\n </div>\n }\n\n @if (content) {\n <div\n #popoverContent\n class=\"kbq-popover__content kbq-scrollbar\"\n [class.kbq-popover__content_default-paddings]=\"defaultPaddings\"\n (cdkObserveContent)=\"onContentChange()\"\n >\n @if (hasCloseButton && !header) {\n <div class=\"kbq-popover__close-container\">\n <ng-container [ngTemplateOutlet]=\"closeButton\" />\n </div>\n }\n @if (isTemplateRef(content)) {\n <ng-container [ngTemplateOutlet]=\"$any(content)\" [ngTemplateOutletContext]=\"context\" />\n }\n @if (!isTemplateRef(content)) {\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 [class.kbq-popover__footer_bottom-overflow]=\"isContentBottomOverflow\"\n >\n @if (isTemplateRef(footer)) {\n <ng-container [ngTemplateOutlet]=\"$any(footer)\" [ngTemplateOutletContext]=\"context\" />\n }\n @if (!isTemplateRef(footer)) {\n <div>{{ footer }}</div>\n }\n </div>\n }\n </div>\n\n @if (hasCloseButton && header) {\n <div class=\"kbq-popover__close-container\">\n <ng-container [ngTemplateOutlet]=\"closeButton\" />\n </div>\n }\n\n <ng-template #closeButton>\n <div class=\"kbq-popover__close\" [class.kbq-popover__close_background-overlay-inverse]=\"!header\">\n <button kbq-button class=\"kbq-button_transparent\" [color]=\"componentColors.Contrast\" (click)=\"hide(0)\">\n <i kbq-icon=\"kbq-xmark_16\" [color]=\"componentColors.Contrast\"></i>\n </button>\n </div>\n </ng-template>\n\n @if (arrow) {\n <div class=\"kbq-popover__arrow\"></div>\n }\n</div>\n","import { CdkTrapFocus } from '@angular/cdk/a11y';\nimport { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Directive,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n Optional,\n Output,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { KbqButtonModule } from '@koobiq/components/button';\nimport { Subject } from 'rxjs';\nimport { kbqPopoverAnimations } from './popover-animations';\nimport { KbqPopoverComponent, KbqPopoverTrigger } from './popover.component';\n\nexport const KBQ_POPOVER_CONFIRM_TEXT = new InjectionToken<string>('');\nexport const KBQ_POPOVER_CONFIRM_BUTTON_TEXT = new InjectionToken<string>('');\n\n@Component({\n selector: 'kbq-popover-confirm-component',\n imports: [\n NgClass,\n CdkTrapFocus,\n KbqButtonModule\n ],\n templateUrl: './popover-confirm.component.html',\n styleUrls: ['./popover.scss', './popover-tokens.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n preserveWhitespaces: false,\n animations: [kbqPopoverAnimations.popoverState]\n})\nexport class KbqPopoverConfirmComponent extends KbqPopoverComponent {\n onConfirm = new Subject<void>();\n confirmButtonText: string;\n\n confirmText: string;\n}\n\n@Directive({\n selector: '[kbqPopoverConfirm]',\n exportAs: 'kbqPopoverConfirm',\n host: {\n '[class.kbq-popover_open]': 'isOpen',\n '(keydown)': 'keydownHandler($event)',\n '(touchend)': 'touchendHandler()'\n }\n})\nexport class KbqPopoverConfirmTrigger extends KbqPopoverTrigger {\n @Output() readonly confirm: EventEmitter<void> = new EventEmitter<void>();\n\n @Input('kbqPopoverConfirmText')\n get confirmText(): string {\n return this._confirmText;\n }\n\n set confirmText(value: string) {\n this._confirmText = value;\n\n this.updateData();\n }\n\n private _confirmText: string;\n\n @Input('kbqPopoverConfirmButtonText')\n get confirmButtonText(): string {\n return this._confirmButtonText;\n }\n\n set confirmButtonText(value: string) {\n this._confirmButtonText = value;\n\n this.updateData();\n }\n\n private _confirmButtonText: string = 'Да';\n\n constructor(\n @Optional() @Inject(KBQ_POPOVER_CONFIRM_TEXT) confirmText: string,\n @Optional() @Inject(KBQ_POPOVER_CONFIRM_BUTTON_TEXT) confirmButtonText: string\n ) {\n super();\n\n this.confirmText = confirmText || 'Вы уверены, что хотите продолжить?';\n this.confirmButtonText = confirmButtonText || 'Да';\n }\n\n updateData() {\n if (!this.instance) {\n return;\n }\n\n super.updateData();\n this.setupButtonEvents();\n this.instance.confirmButtonText = this.confirmButtonText;\n this.instance.confirmText = this.confirmText;\n }\n\n setupButtonEvents() {\n this.instance.onConfirm.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.confirm.emit();\n this.hide();\n });\n }\n\n getOverlayHandleComponentType() {\n return KbqPopoverConfirmComponent;\n }\n}\n","<div\n cdkTrapFocus=\"true\"\n cdkTrapFocusAutoCapture=\"true\"\n class=\"kbq-popover-confirm kbq-popover\"\n [ngClass]=\"classMap\"\n [@state]=\"visibility\"\n (@state.done)=\"animationDone($event)\"\n (@state.start)=\"animationStart()\"\n>\n <div class=\"kbq-popover__container\">\n <div class=\"kbq-popover__content\">\n <div>{{ confirmText }}</div>\n <button kbq-button [color]=\"'contrast'\" (click)=\"onConfirm.next()\">\n {{ confirmButtonText }}\n </button>\n </div>\n </div>\n\n <div class=\"kbq-popover__arrow\"></div>\n</div>\n","import {\n A11yModule,\n ConfigurableFocusTrapFactory,\n FOCUS_TRAP_INERT_STRATEGY,\n FocusTrapFactory\n} from '@angular/cdk/a11y';\nimport { CdkObserveContent } from '@angular/cdk/observers';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { KbqButtonModule } from '@koobiq/components/button';\nimport { EmptyFocusTrapStrategy } from '@koobiq/components/core';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { KbqPopoverConfirmComponent, KbqPopoverConfirmTrigger } from './popover-confirm.component';\nimport {\n KBQ_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER,\n KbqPopoverComponent,\n KbqPopoverTrigger\n} from './popover.component';\n\n@NgModule({\n imports: [\n OverlayModule,\n KbqButtonModule,\n A11yModule,\n KbqIconModule,\n CdkObserveContent,\n NgClass,\n NgTemplateOutlet,\n KbqPopoverComponent,\n KbqPopoverTrigger,\n KbqPopoverConfirmComponent,\n KbqPopoverConfirmTrigger\n ],\n exports: [\n KbqPopoverComponent,\n KbqPopoverTrigger,\n KbqPopoverConfirmComponent,\n KbqPopoverConfirmTrigger\n ],\n providers: [\n KBQ_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER,\n { provide: FocusTrapFactory, useClass: ConfigurableFocusTrapFactory },\n { provide: FOCUS_TRAP_INERT_STRATEGY, useClass: EmptyFocusTrapStrategy }\n ]\n})\nexport class KbqPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -723,7 +723,7 @@ class KbqSelect extends KbqAbstractSelect {
723
723
  $event.stopPropagation();
724
724
  // need to prevent scrolling
725
725
  $event.preventDefault();
726
- this.selectionModel.clear(false);
726
+ this.selectionModel.clear();
727
727
  this.keyManager.setActiveItem(-1);
728
728
  this.propagateChanges();
729
729
  this.focus();
@@ -930,7 +930,9 @@ class KbqSelect extends KbqAbstractSelect {
930
930
  this.updateScrollSize();
931
931
  this.subscribeToScrolledToBottom();
932
932
  });
933
- this.options.changes.pipe(delay(1)).subscribe(() => this.setOverlayPosition());
933
+ this.options.changes
934
+ .pipe(delay(1), takeUntilDestroyed(this.destroyRef))
935
+ .subscribe(() => this.setOverlayPosition());
934
936
  this.closeSubscription = this.closingActions().subscribe(() => this.close());
935
937
  }
936
938
  /** Returns the theme to be used on the panel based on parent form field color. */