@agorapulse/ui-components 22.3.0 → 22.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/agorapulse-ui-components-22.4.1.tgz +0 -0
  2. package/fesm2022/agorapulse-ui-components-avatar-group.mjs +20 -33
  3. package/fesm2022/agorapulse-ui-components-avatar-group.mjs.map +1 -1
  4. package/fesm2022/agorapulse-ui-components-datepicker.mjs +1 -1
  5. package/fesm2022/agorapulse-ui-components-datepicker.mjs.map +1 -1
  6. package/fesm2022/agorapulse-ui-components-directives.mjs +79 -15
  7. package/fesm2022/agorapulse-ui-components-directives.mjs.map +1 -1
  8. package/fesm2022/agorapulse-ui-components-labels.mjs +3 -108
  9. package/fesm2022/agorapulse-ui-components-labels.mjs.map +1 -1
  10. package/fesm2022/agorapulse-ui-components-overflow-base.mjs +193 -0
  11. package/fesm2022/agorapulse-ui-components-overflow-base.mjs.map +1 -0
  12. package/fesm2022/agorapulse-ui-components-overflow-list.mjs +89 -0
  13. package/fesm2022/agorapulse-ui-components-overflow-list.mjs.map +1 -0
  14. package/fesm2022/agorapulse-ui-components-select.mjs +14 -12
  15. package/fesm2022/agorapulse-ui-components-select.mjs.map +1 -1
  16. package/fesm2022/agorapulse-ui-components-tooltip.mjs +9 -5
  17. package/fesm2022/agorapulse-ui-components-tooltip.mjs.map +1 -1
  18. package/fesm2022/agorapulse-ui-components.mjs +9 -7
  19. package/fesm2022/agorapulse-ui-components.mjs.map +1 -1
  20. package/package.json +10 -2
  21. package/types/agorapulse-ui-components-avatar-group.d.ts +12 -5
  22. package/types/agorapulse-ui-components-directives.d.ts +19 -4
  23. package/types/agorapulse-ui-components-labels.d.ts +2 -35
  24. package/types/agorapulse-ui-components-overflow-base.d.ts +124 -0
  25. package/types/agorapulse-ui-components-overflow-list.d.ts +80 -0
  26. package/types/agorapulse-ui-components-select.d.ts +8 -11
  27. package/types/agorapulse-ui-components-tooltip.d.ts +3 -3
  28. package/types/agorapulse-ui-components.d.ts +12 -10
  29. package/agorapulse-ui-components-22.3.0.tgz +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"agorapulse-ui-components-tooltip.mjs","sources":["../../../libs/ui-components/tooltip/src/tooltip-external-trigger.directive.ts","../../../libs/ui-components/tooltip/src/tooltip.component.ts","../../../libs/ui-components/tooltip/src/tooltip.component.html","../../../libs/ui-components/tooltip/src/tooltip-panel/tooltip-panel.component.ts","../../../libs/ui-components/tooltip/src/tooltip-panel/tooltip-panel.component.html","../../../libs/ui-components/tooltip/src/tooltip.directive.ts","../../../libs/ui-components/tooltip/src/agorapulse-ui-components-tooltip.ts"],"sourcesContent":["import { AfterViewInit, Directive, ElementRef, inject, input, NgZone, OnDestroy } from '@angular/core';\nimport { TooltipDirective } from './tooltip.directive';\n\n/**\n * Directive that triggers a tooltip to show/hide\n *\n * ```html\n * <div #myTooltip=\"apTooltip\" apTooltip>Content</div>\n * <div [apTooltipExternalTrigger]=\"myTooltip\">Click me</div>\n * ```\n */\n@Directive({\n selector: '[apTooltipExternalTrigger]',\n standalone: true,\n exportAs: 'apTooltipExternalTrigger',\n})\nexport class TooltipExternalTriggerDirective implements AfterViewInit, OnDestroy {\n private readonly elementRef: ElementRef = inject(ElementRef);\n private readonly zone: NgZone = inject(NgZone);\n\n // Accept a TooltipDirective reference for sibling usage\n apTooltipExternalTrigger = input<TooltipDirective>();\n\n private clickListener: (() => void) | undefined = undefined;\n\n private get targetTooltip(): TooltipDirective | null {\n // Prefer explicit reference, fall back to parent\n return this.apTooltipExternalTrigger() ?? null;\n }\n\n ngAfterViewInit(): void {\n const tooltip = this.targetTooltip;\n if (!tooltip) {\n return;\n }\n\n // Otherwise the CDK's outside-click dispatcher, which runs first in capture, closes and this toggle reopens.\n tooltip.registerExternalTrigger(this.elementRef.nativeElement);\n\n this.setupEventListeners();\n }\n\n private setupEventListeners(): void {\n this.cleanupEventListeners();\n\n this.zone.runOutsideAngular(() => {\n const nativeElement = this.elementRef.nativeElement;\n\n this.clickListener = this.onClick.bind(this);\n nativeElement.addEventListener('click', this.clickListener, true);\n });\n }\n\n private cleanupEventListeners(): void {\n const nativeElement = this.elementRef.nativeElement;\n\n if (this.clickListener) {\n nativeElement.removeEventListener('click', this.clickListener, true);\n this.clickListener = undefined;\n }\n }\n\n ngOnDestroy(): void {\n this.targetTooltip?.unregisterExternalTrigger(this.elementRef.nativeElement);\n this.cleanupEventListeners();\n }\n\n private onClick(): void {\n this.zone.run(() => {\n const tooltip = this.targetTooltip;\n if (!tooltip) return;\n\n if (tooltip.container) {\n tooltip.deactivate();\n } else {\n tooltip.externallyTriggerred = true;\n tooltip.activate();\n }\n });\n }\n}\n","import { AvatarComponent, AvatarItem } from '@agorapulse/ui-components/avatar';\nimport { ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';\n\nexport const CustomTooltipType = {\n DEFAULT: 'DEFAULT', // default type\n PRESENTATION: 'PRESENTATION',\n LIST: 'LIST',\n};\nexport type CustomTooltipType = (typeof CustomTooltipType)[keyof typeof CustomTooltipType];\n\nexport type CustomTooltipPresentationItem = {\n title: string;\n description: string;\n};\n\nexport type CustomTooltipAvatarItem = AvatarItem & {\n caption?: string;\n};\n\n/**\n * A tooltip component that is used for predefined templates: Presentation and List.\n * Not to be used directly, use TooltipDirective instead.\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-tooltip',\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.component.scss'],\n imports: [AvatarComponent],\n providers: [],\n encapsulation: ViewEncapsulation.None,\n})\nexport class TooltipComponent {\n protected readonly CUSTOM_TOOLTIP_TYPE = CustomTooltipType;\n\n type = input<CustomTooltipType>(CustomTooltipType.DEFAULT);\n presentationContext = input<CustomTooltipPresentationItem>();\n\n tooltipListItems = input<CustomTooltipAvatarItem[]>([]);\n showCaption = input(true);\n}\n","<div class=\"custom-tooltip-container\">\n @switch (type()) {\n @case (CUSTOM_TOOLTIP_TYPE.PRESENTATION) {\n @let presentation = presentationContext();\n @if (presentation) {\n <div class=\"tooltip-presentation-title\">{{ presentation.title }}</div>\n <div class=\"tooltip-presentation-caption\">{{ presentation.description }}</div>\n }\n }\n @case (CUSTOM_TOOLTIP_TYPE.LIST) {\n <div class=\"tooltip-list-container\">\n @for (avatar of tooltipListItems(); track avatar) {\n <div class=\"tooltip-item\">\n <ap-avatar\n [profilePicture]=\"avatar.profilePicture\"\n [alt]=\"avatar.alt ?? ''\"\n [network]=\"avatar.network\"\n [size]=\"showCaption() && avatar.caption ? 32 : 24\"\n [username]=\"avatar.username\"\n [showInitials]=\"avatar.showInitials\"\n [bigNetwork]=\"avatar.bigNetwork ?? false\"\n [anonymous]=\"avatar.anonymous ?? false\"\n [online]=\"avatar.online ?? false\"\n [rounded]=\"avatar.rounded ?? true\" />\n\n <div class=\"tooltip-item-info\">\n <div class=\"tooltip-item-title\">\n {{ avatar.username }}\n </div>\n @if (showCaption() && avatar.caption) {\n <div class=\"tooltip-item-caption\">\n {{ avatar.caption }}\n </div>\n }\n </div>\n </div>\n }\n </div>\n }\n @default {\n\n }\n }\n\n</div>\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, input, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport DOMPurify from 'dompurify';\nimport { CustomTooltipAvatarItem, CustomTooltipPresentationItem, CustomTooltipType, TooltipComponent } from '../tooltip.component';\n\n/**\n * A tooltip's floating surface, internal to the directive: `role=\"tooltip\"`, no focus handling — taking focus is `ap-popover`'s job.\n * `ViewEncapsulation.None` and the `ap-tooltip*` class names stay: the styles are global, and the product overrides them by name.\n * The host carries `ap-tooltip` because the engine reads the arrow's colour from the pane's first element child.\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-tooltip-panel',\n imports: [NgTemplateOutlet, TooltipComponent],\n templateUrl: 'tooltip-panel.component.html',\n encapsulation: ViewEncapsulation.None,\n host: {\n role: 'tooltip',\n class: 'ap-tooltip',\n '[class.ap-predefined-tooltip]': '!isDefaultType()',\n '[class.ap-tooltip-custom-template]': 'hasTemplate()',\n '[class.ap-tooltip-click-trigger]': '!isDefaultType() && clickTriggered()',\n },\n})\nexport class TooltipPanelComponent {\n /** Plain-string content. Sanitised before it reaches the template. */\n readonly text = input<string>();\n\n /** Consumer template, which takes precedence over `text`. */\n readonly template = input<TemplateRef<HTMLElement>>();\n\n /** The consumer template's `ngTemplateOutletContext`, read through its `let-` bindings. */\n readonly templateContext = input<object>();\n\n readonly type = input<CustomTooltipType>(CustomTooltipType.DEFAULT);\n readonly presentationContext = input<CustomTooltipPresentationItem>();\n readonly listItems = input<CustomTooltipAvatarItem[]>([]);\n readonly showCaption = input(true);\n\n /** Only mirrored onto the host, for the class the product may hook onto. */\n readonly clickTriggered = input(false);\n\n protected readonly isDefaultType = computed(() => !this.type() || this.type() === CustomTooltipType.DEFAULT);\n\n protected readonly hasTemplate = computed(() => this.template() !== undefined);\n\n /** DOMPurify strips more than the `[innerHTML]` sanitiser that runs after it; neither pass adds anything. */\n protected readonly sanitizedText = computed(() => {\n const text = this.text();\n return text ? DOMPurify.sanitize(text) : '';\n });\n}\n","<div\n class=\"ap-content-container\"\n [class.ap-content-predefined-container]=\"!isDefaultType()\">\n <!-- No arrow here: the engine draws it as the pane's `::before`, out of the accessibility tree. -->\n @if (isDefaultType()) {\n @if (template(); as content) {\n <div class=\"ap-tooltip-text\">\n <ng-container\n [ngTemplateOutlet]=\"content\"\n [ngTemplateOutletContext]=\"templateContext() ?? null\" />\n </div>\n } @else {\n <div\n class=\"ap-tooltip-text\"\n [innerHTML]=\"sanitizedText()\"></div>\n }\n } @else {\n <ap-tooltip\n [type]=\"type()\"\n [presentationContext]=\"presentationContext()\"\n [tooltipListItems]=\"listItems()\"\n [showCaption]=\"showCaption()\" />\n }\n</div>\n","import { createFloatingOverlay, FloatingPlacement } from '@agorapulse/ui-components/floating';\nimport { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\nimport {\n AfterViewInit,\n ComponentRef,\n computed,\n DestroyRef,\n Directive,\n ElementRef,\n inject,\n input,\n NgZone,\n OnDestroy,\n OnInit,\n TemplateRef,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { TooltipPanelComponent } from './tooltip-panel/tooltip-panel.component';\nimport { CustomTooltipAvatarItem, CustomTooltipPresentationItem, CustomTooltipType } from './tooltip.component';\n\n@Directive({ selector: '[apTooltip]', standalone: true, exportAs: 'apTooltip' })\nexport class TooltipDirective implements AfterViewInit, OnDestroy, OnInit {\n private readonly elementRef: ElementRef = inject(ElementRef);\n private readonly zone: NgZone = inject(NgZone);\n private readonly destroyRef = inject(DestroyRef);\n\n /** Decides where the tooltip goes — flip, shift, scroll following, arrow; this directive only decides when. */\n private readonly overlay = createFloatingOverlay();\n\n apTooltip = input.required<string | TemplateRef<HTMLElement> | undefined | null>();\n\n /** Where the panel opens, in the engine's vocabulary. */\n apTooltipPosition = input<FloatingPlacement>('top');\n apTooltipShowDelay = input<number>(80);\n apTooltipHideDelay = input<number>(0);\n apTooltipDuration = input<number>(0);\n apTooltipDisabled = input<boolean>(false);\n apTooltipTruncatedTextOnly = input<boolean>(false);\n apTooltipTemplateContext = input<object>();\n apTooltipVirtualScrollElement = input<CdkVirtualScrollViewport>();\n apTooltipTrigger = input<'hover' | 'click'>('hover');\n\n /** Shows the arrow aimed at the trigger. */\n apTooltipArrow = input<boolean>(true);\n\n // Predefined template variables\n apTooltipType = input<CustomTooltipType>(CustomTooltipType.DEFAULT);\n apTooltipPresentationContext = input<CustomTooltipPresentationItem>();\n apTooltipListItems = input<CustomTooltipAvatarItem[]>([]);\n apTooltipShowAvatarCaption = input(true);\n\n isDefaultTooltipType = computed(() => !this.apTooltipType() || this.apTooltipType() === CustomTooltipType.DEFAULT);\n isValidPredefinedTooltip = computed(\n () =>\n (this.apTooltipType() === CustomTooltipType.PRESENTATION &&\n this.apTooltipPresentationContext()?.title &&\n this.apTooltipPresentationContext()?.description) ||\n (this.apTooltipType() === CustomTooltipType.LIST && this.apTooltipListItems().length > 0)\n );\n triggeredByClick = computed(() => this.apTooltipTrigger() === 'click' || this.externallyTriggerred);\n\n /** True while the panel is attached — not yet during the show delay. */\n readonly isOpen = this.overlay.isOpen;\n\n clickListener: (() => void) | undefined = undefined;\n\n hideTimeout: number | undefined;\n\n mouseEnterListener: (() => void) | undefined = undefined;\n\n mouseLeaveListener: (() => void) | undefined = undefined;\n\n nativeElement: HTMLElement = this.elementRef.nativeElement;\n\n showTimeout: number | undefined;\n\n _externallyTriggerred: boolean = false;\n\n private panelRef: ComponentRef<unknown> | null = null;\n\n /** Where the opening click landed, in viewport coordinates; `null` after a keyboard click. */\n private clickPoint: { x: number; y: number } | null = null;\n\n /** The pointer while a click-opened tooltip is shown; `null` while unknown. */\n private pointer: { x: number; y: number } | null = null;\n\n private stopScrollDismissal: (() => void) | null = null;\n\n /** `apTooltipExternalTrigger` elements: they carry their own toggle, so the engine must not count them as the outside. */\n private readonly externalTriggers = new Set<HTMLElement>();\n\n /** @internal Called by `apTooltipExternalTrigger`. */\n registerExternalTrigger(element: HTMLElement): void {\n this.externalTriggers.add(element);\n }\n\n /** @internal Called by `apTooltipExternalTrigger`. */\n unregisterExternalTrigger(element: HTMLElement): void {\n this.externalTriggers.delete(element);\n }\n\n /**\n * The `.ap-tooltip` surface while one is shown.\n * @deprecated Use {@link isOpen} to know whether a tooltip is shown.\n */\n get container(): HTMLElement | undefined {\n return this.panelRef?.location.nativeElement;\n }\n\n ngOnInit(): void {\n const apTooltipVirtualScrollElement = this.apTooltipVirtualScrollElement();\n if (apTooltipVirtualScrollElement) {\n apTooltipVirtualScrollElement.renderedRangeStream.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(range => {\n if (range.start === 0 && range.end === 0) {\n this.deactivate();\n }\n });\n }\n }\n\n ngAfterViewInit(): void {\n this.setupEventListeners(this.apTooltipTrigger());\n }\n\n private setupEventListeners(trigger: 'hover' | 'click'): void {\n // Close any open tooltip when switching modes\n if (this.isOpen()) {\n this.remove();\n }\n\n this.cleanupEventListeners();\n\n this.zone.runOutsideAngular(() => {\n this.clickListener = this.onInputClick.bind(this);\n this.nativeElement.addEventListener('click', this.clickListener, true);\n if (trigger === 'hover') {\n this.mouseEnterListener = this.onMouseEnter.bind(this);\n this.mouseLeaveListener = this.onMouseLeave.bind(this);\n this.nativeElement.addEventListener('mouseenter', this.mouseEnterListener);\n this.nativeElement.addEventListener('mouseleave', this.mouseLeaveListener);\n }\n });\n }\n\n private cleanupEventListeners(): void {\n if (this.mouseEnterListener) {\n this.nativeElement.removeEventListener('mouseenter', this.mouseEnterListener);\n this.mouseEnterListener = undefined;\n }\n if (this.clickListener) {\n this.nativeElement.removeEventListener('click', this.clickListener, true);\n this.clickListener = undefined;\n }\n if (this.mouseLeaveListener) {\n this.nativeElement.removeEventListener('mouseleave', this.mouseLeaveListener);\n this.mouseLeaveListener = undefined;\n }\n }\n\n ngOnDestroy(): void {\n if (this.isOpen()) {\n this.deactivate();\n }\n this.cleanupEventListeners();\n }\n\n onMouseEnter(): void {\n if (!this.isOpen()) {\n this.activate();\n }\n }\n\n onMouseLeave(): void {\n if (!this._externallyTriggerred) {\n this.deactivate();\n }\n }\n\n onInputClick(event?: MouseEvent): void {\n this.zone.run(() => {\n const trigger = this.apTooltipTrigger();\n\n if (trigger === 'click') {\n if (this.isOpen()) {\n this.deactivate();\n } else {\n // A click synthesised from the keyboard has `detail: 0` and sits at `(0, 0)`.\n this.clickPoint = event && event.detail > 0 ? { x: event.clientX, y: event.clientY } : null;\n this.activate();\n }\n } else {\n this.deactivate();\n }\n });\n }\n\n activate(): void {\n this.clearHideTimeout();\n\n if (this.apTooltipShowDelay()) {\n this.showTimeout = window.setTimeout(() => {\n this.show();\n }, this.apTooltipShowDelay());\n } else {\n this.show();\n }\n\n if (this.apTooltipDuration()) {\n const duration = this.apTooltipShowDelay() ? this.apTooltipDuration() + this.apTooltipShowDelay() : this.apTooltipDuration();\n this.hideTimeout = window.setTimeout(() => {\n this.remove();\n }, duration);\n }\n }\n\n deactivate(): void {\n this.clearShowTimeout();\n if (this.apTooltipHideDelay()) {\n this.clearHideTimeout();\n this.hideTimeout = window.setTimeout(() => {\n this.remove();\n }, this.apTooltipHideDelay());\n } else {\n this.remove();\n }\n }\n\n show(): void {\n if (this.apTooltipTruncatedTextOnly() && this.elementRef.nativeElement.scrollWidth === this.elementRef.nativeElement.clientWidth) {\n return;\n }\n if (\n (this.isDefaultTooltipType() && !this.apTooltip()) ||\n (!this.isDefaultTooltipType() && !this.isValidPredefinedTooltip()) ||\n this.apTooltipDisabled()\n ) {\n return;\n }\n\n // Prevent tooltip from showing if the host element is not connected to the DOM\n const hostRect = this.nativeElement.getBoundingClientRect();\n if (!this.nativeElement.isConnected || (hostRect.width === 0 && hostRect.height === 0)) {\n return;\n }\n\n this.create();\n }\n\n remove(): void {\n this.stopScrollDismissal?.();\n this.overlay.close();\n this.panelRef = null;\n\n this.clearTimeouts();\n this._externallyTriggerred = false;\n }\n\n private create(): void {\n if (this.isOpen()) {\n this.clearHideTimeout();\n this.remove();\n }\n\n // Entered on purpose: hover is listened for outside the zone, where the panel's inputs would never render.\n this.zone.run(() => {\n const content = this.apTooltip();\n const isTemplate = this.isDefaultTooltipType() && content instanceof TemplateRef;\n\n this.panelRef = this.overlay.open(TooltipPanelComponent, this.nativeElement, {\n placement: this.apTooltipPosition(),\n arrow: this.apTooltipArrow(),\n panelClass: this.paneClasses(isTemplate),\n // Explicit dismissals skip the hide delay, which only exists to cross the gap to the panel.\n onClose: () => this.zone.run(() => this.remove()),\n additionalTriggers: () => [...this.externalTriggers],\n });\n if (!this.panelRef) {\n return;\n }\n\n this.panelRef.setInput('text', content instanceof TemplateRef ? undefined : (content ?? undefined));\n this.panelRef.setInput('template', isTemplate ? content : undefined);\n this.panelRef.setInput('templateContext', this.apTooltipTemplateContext());\n this.panelRef.setInput('type', this.apTooltipType());\n this.panelRef.setInput('presentationContext', this.apTooltipPresentationContext());\n this.panelRef.setInput('listItems', this.apTooltipListItems());\n this.panelRef.setInput('showCaption', this.apTooltipShowAvatarCaption());\n this.panelRef.setInput('clickTriggered', this.triggeredByClick());\n\n // Render synchronously, then re-place: `attach()` measured an empty box, and background tabs stall timers and rAF.\n this.panelRef.changeDetectorRef.detectChanges();\n this.overlay.updatePosition();\n\n this.listenForScrollDismissal();\n });\n }\n\n /**\n * A click-opened tooltip closes on scroll once the pointer is off its trigger; an unknown pointer counts as off.\n * A scroll inside the panel never closes it. The trigger's box is measured, since browsers freeze `:hover` while scrolling.\n */\n private listenForScrollDismissal(): void {\n // Not `triggeredByClick()`: that `computed` reads the non-signal `externallyTriggerred` and can go stale.\n if (this.apTooltipTrigger() !== 'click' && !this._externallyTriggerred) {\n return;\n }\n const pane = this.overlay.overlayRef?.overlayElement;\n this.pointer = this.clickPoint;\n this.clickPoint = null;\n\n const onPointer = (event: MouseEvent): void => {\n this.pointer = { x: event.clientX, y: event.clientY };\n };\n const onScroll = (event: Event): void => {\n const target = event.target;\n if (pane && target instanceof Node && pane.contains(target)) {\n return;\n }\n if (!this.isPointerOnTrigger()) {\n this.zone.run(() => this.remove());\n }\n };\n\n this.zone.runOutsideAngular(() => {\n document.addEventListener('pointermove', onPointer, { capture: true, passive: true });\n document.addEventListener('pointerdown', onPointer, { capture: true, passive: true });\n document.addEventListener('scroll', onScroll, { capture: true, passive: true });\n });\n this.stopScrollDismissal = () => {\n document.removeEventListener('pointermove', onPointer, { capture: true });\n document.removeEventListener('pointerdown', onPointer, { capture: true });\n document.removeEventListener('scroll', onScroll, { capture: true });\n this.stopScrollDismissal = null;\n this.pointer = null;\n };\n }\n\n private isPointerOnTrigger(): boolean {\n const pointer = this.pointer;\n if (!pointer) {\n return false;\n }\n return [this.nativeElement, ...this.externalTriggers].some(element => {\n const box = element.getBoundingClientRect();\n return pointer.x >= box.left && pointer.x <= box.right && pointer.y >= box.top && pointer.y <= box.bottom;\n });\n }\n\n /** Pane classes: each of the three surfaces gives panel and tip a different shadow. */\n private paneClasses(isTemplate: boolean): string[] {\n if (!this.isDefaultTooltipType()) {\n return ['ap-tooltip-pane', 'predefined'];\n }\n return isTemplate ? ['ap-tooltip-pane', 'custom-template'] : ['ap-tooltip-pane'];\n }\n\n clearShowTimeout() {\n if (this.showTimeout) {\n clearTimeout(this.showTimeout);\n this.showTimeout = undefined;\n }\n }\n\n clearHideTimeout() {\n if (this.hideTimeout) {\n clearTimeout(this.hideTimeout);\n this.hideTimeout = undefined;\n }\n }\n\n clearTimeouts() {\n this.clearShowTimeout();\n this.clearHideTimeout();\n }\n\n get externallyTriggerred(): boolean {\n return this._externallyTriggerred;\n }\n\n set externallyTriggerred(value: boolean) {\n this._externallyTriggerred = value;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agorapulse-ui-components-tooltip.mjs","sources":["../../../libs/ui-components/tooltip/src/tooltip-external-trigger.directive.ts","../../../libs/ui-components/tooltip/src/tooltip.component.ts","../../../libs/ui-components/tooltip/src/tooltip.component.html","../../../libs/ui-components/tooltip/src/tooltip-panel/tooltip-panel.component.ts","../../../libs/ui-components/tooltip/src/tooltip-panel/tooltip-panel.component.html","../../../libs/ui-components/tooltip/src/tooltip.directive.ts","../../../libs/ui-components/tooltip/src/agorapulse-ui-components-tooltip.ts"],"sourcesContent":["import { AfterViewInit, Directive, ElementRef, inject, input, NgZone, OnDestroy } from '@angular/core';\nimport { TooltipDirective } from './tooltip.directive';\n\n/**\n * Directive that triggers a tooltip to show/hide\n *\n * ```html\n * <div #myTooltip=\"apTooltip\" apTooltip>Content</div>\n * <div [apTooltipExternalTrigger]=\"myTooltip\">Click me</div>\n * ```\n */\n@Directive({\n selector: '[apTooltipExternalTrigger]',\n standalone: true,\n exportAs: 'apTooltipExternalTrigger',\n})\nexport class TooltipExternalTriggerDirective implements AfterViewInit, OnDestroy {\n private readonly elementRef: ElementRef = inject(ElementRef);\n private readonly zone: NgZone = inject(NgZone);\n\n // Accept a TooltipDirective reference for sibling usage\n apTooltipExternalTrigger = input<TooltipDirective>();\n\n private clickListener: (() => void) | undefined = undefined;\n\n private get targetTooltip(): TooltipDirective | null {\n // Prefer explicit reference, fall back to parent\n return this.apTooltipExternalTrigger() ?? null;\n }\n\n ngAfterViewInit(): void {\n const tooltip = this.targetTooltip;\n if (!tooltip) {\n return;\n }\n\n // Otherwise the CDK's outside-click dispatcher, which runs first in capture, closes and this toggle reopens.\n tooltip.registerExternalTrigger(this.elementRef.nativeElement);\n\n this.setupEventListeners();\n }\n\n private setupEventListeners(): void {\n this.cleanupEventListeners();\n\n this.zone.runOutsideAngular(() => {\n const nativeElement = this.elementRef.nativeElement;\n\n this.clickListener = this.onClick.bind(this);\n nativeElement.addEventListener('click', this.clickListener, true);\n });\n }\n\n private cleanupEventListeners(): void {\n const nativeElement = this.elementRef.nativeElement;\n\n if (this.clickListener) {\n nativeElement.removeEventListener('click', this.clickListener, true);\n this.clickListener = undefined;\n }\n }\n\n ngOnDestroy(): void {\n this.targetTooltip?.unregisterExternalTrigger(this.elementRef.nativeElement);\n this.cleanupEventListeners();\n }\n\n private onClick(): void {\n this.zone.run(() => {\n const tooltip = this.targetTooltip;\n if (!tooltip) return;\n\n if (tooltip.container) {\n tooltip.deactivate();\n } else {\n tooltip.externallyTriggerred = true;\n tooltip.activate();\n }\n });\n }\n}\n","import { AvatarComponent, AvatarItem } from '@agorapulse/ui-components/avatar';\nimport { ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';\n\nexport const CustomTooltipType = {\n DEFAULT: 'DEFAULT', // default type\n PRESENTATION: 'PRESENTATION',\n LIST: 'LIST',\n};\nexport type CustomTooltipType = (typeof CustomTooltipType)[keyof typeof CustomTooltipType];\n\nexport type CustomTooltipPresentationItem = {\n title: string;\n description: string;\n};\n\nexport type CustomTooltipAvatarItem = AvatarItem & {\n caption?: string;\n};\n\n/**\n * A tooltip component that is used for predefined templates: Presentation and List.\n * Not to be used directly, use TooltipDirective instead.\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-tooltip',\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.component.scss'],\n imports: [AvatarComponent],\n providers: [],\n encapsulation: ViewEncapsulation.None,\n})\nexport class TooltipComponent {\n protected readonly CUSTOM_TOOLTIP_TYPE = CustomTooltipType;\n\n type = input<CustomTooltipType>(CustomTooltipType.DEFAULT);\n presentationContext = input<CustomTooltipPresentationItem>();\n\n tooltipListItems = input<CustomTooltipAvatarItem[]>([]);\n showCaption = input(true);\n}\n","<div class=\"custom-tooltip-container\">\n @switch (type()) {\n @case (CUSTOM_TOOLTIP_TYPE.PRESENTATION) {\n @let presentation = presentationContext();\n @if (presentation) {\n <div class=\"tooltip-presentation-title\">{{ presentation.title }}</div>\n <div class=\"tooltip-presentation-caption\">{{ presentation.description }}</div>\n }\n }\n @case (CUSTOM_TOOLTIP_TYPE.LIST) {\n <div class=\"tooltip-list-container\">\n @for (avatar of tooltipListItems(); track avatar) {\n <div class=\"tooltip-item\">\n <ap-avatar\n [profilePicture]=\"avatar.profilePicture\"\n [alt]=\"avatar.alt ?? ''\"\n [network]=\"avatar.network\"\n [size]=\"showCaption() && avatar.caption ? 32 : 24\"\n [username]=\"avatar.username\"\n [showInitials]=\"avatar.showInitials\"\n [bigNetwork]=\"avatar.bigNetwork ?? false\"\n [anonymous]=\"avatar.anonymous ?? false\"\n [online]=\"avatar.online ?? false\"\n [rounded]=\"avatar.rounded ?? true\" />\n\n <div class=\"tooltip-item-info\">\n <div class=\"tooltip-item-title\">\n {{ avatar.username }}\n </div>\n @if (showCaption() && avatar.caption) {\n <div class=\"tooltip-item-caption\">\n {{ avatar.caption }}\n </div>\n }\n </div>\n </div>\n }\n </div>\n }\n @default {\n\n }\n }\n\n</div>\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, input, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport DOMPurify from 'dompurify';\nimport { CustomTooltipAvatarItem, CustomTooltipPresentationItem, CustomTooltipType, TooltipComponent } from '../tooltip.component';\n\n/**\n * A tooltip's floating surface, internal to the directive: `role=\"tooltip\"`, no focus handling — taking focus is `ap-popover`'s job.\n * `ViewEncapsulation.None` and the `ap-tooltip*` class names stay: the styles are global, and the product overrides them by name.\n * The host carries `ap-tooltip` because the engine reads the arrow's colour from the pane's first element child.\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-tooltip-panel',\n imports: [NgTemplateOutlet, TooltipComponent],\n templateUrl: 'tooltip-panel.component.html',\n encapsulation: ViewEncapsulation.None,\n host: {\n role: 'tooltip',\n class: 'ap-tooltip',\n '[class.ap-predefined-tooltip]': '!isDefaultType()',\n '[class.ap-tooltip-custom-template]': 'hasTemplate()',\n '[class.ap-tooltip-click-trigger]': '!isDefaultType() && clickTriggered()',\n },\n})\nexport class TooltipPanelComponent {\n /** Plain-string content. Sanitised before it reaches the template. */\n readonly text = input<string>();\n\n /** Consumer template, which takes precedence over `text`. */\n readonly template = input<TemplateRef<HTMLElement>>();\n\n /** The consumer template's `ngTemplateOutletContext`, read through its `let-` bindings. */\n readonly templateContext = input<object>();\n\n readonly type = input<CustomTooltipType>(CustomTooltipType.DEFAULT);\n readonly presentationContext = input<CustomTooltipPresentationItem>();\n readonly listItems = input<CustomTooltipAvatarItem[]>([]);\n readonly showCaption = input(true);\n\n /** Only mirrored onto the host, for the class the product may hook onto. */\n readonly clickTriggered = input(false);\n\n protected readonly isDefaultType = computed(() => !this.type() || this.type() === CustomTooltipType.DEFAULT);\n\n protected readonly hasTemplate = computed(() => this.template() !== undefined);\n\n /** DOMPurify strips more than the `[innerHTML]` sanitiser that runs after it; neither pass adds anything. */\n protected readonly sanitizedText = computed(() => {\n const text = this.text();\n return text ? DOMPurify.sanitize(text) : '';\n });\n}\n","<div\n class=\"ap-content-container\"\n [class.ap-content-predefined-container]=\"!isDefaultType()\">\n <!-- No arrow here: the engine draws it as the pane's `::before`, out of the accessibility tree. -->\n @if (isDefaultType()) {\n @if (template(); as content) {\n <div class=\"ap-tooltip-text\">\n <ng-container\n [ngTemplateOutlet]=\"content\"\n [ngTemplateOutletContext]=\"templateContext() ?? null\" />\n </div>\n } @else {\n <div\n class=\"ap-tooltip-text\"\n [innerHTML]=\"sanitizedText()\"></div>\n }\n } @else {\n <ap-tooltip\n [type]=\"type()\"\n [presentationContext]=\"presentationContext()\"\n [tooltipListItems]=\"listItems()\"\n [showCaption]=\"showCaption()\" />\n }\n</div>\n","import { createFloatingOverlay, FloatingPlacement } from '@agorapulse/ui-components/floating';\nimport { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\nimport {\n ComponentRef,\n computed,\n DestroyRef,\n Directive,\n ElementRef,\n inject,\n input,\n NgZone,\n OnDestroy,\n OnInit,\n TemplateRef,\n untracked,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { explicitEffect } from 'ngxtension/explicit-effect';\nimport { TooltipPanelComponent } from './tooltip-panel/tooltip-panel.component';\nimport { CustomTooltipAvatarItem, CustomTooltipPresentationItem, CustomTooltipType } from './tooltip.component';\n\n@Directive({ selector: '[apTooltip]', standalone: true, exportAs: 'apTooltip' })\nexport class TooltipDirective implements OnDestroy, OnInit {\n private readonly elementRef: ElementRef = inject(ElementRef);\n private readonly zone: NgZone = inject(NgZone);\n private readonly destroyRef = inject(DestroyRef);\n\n /** Decides where the tooltip goes — flip, shift, scroll following, arrow; this directive only decides when. */\n private readonly overlay = createFloatingOverlay();\n\n apTooltip = input.required<string | TemplateRef<HTMLElement> | undefined | null>();\n\n /** Where the panel opens, in the engine's vocabulary. */\n apTooltipPosition = input<FloatingPlacement>('top');\n apTooltipShowDelay = input<number>(80);\n apTooltipHideDelay = input<number>(0);\n apTooltipDuration = input<number>(0);\n apTooltipDisabled = input<boolean>(false);\n apTooltipTruncatedTextOnly = input<boolean>(false);\n apTooltipTemplateContext = input<object>();\n apTooltipVirtualScrollElement = input<CdkVirtualScrollViewport>();\n apTooltipTrigger = input<'hover' | 'click'>('hover');\n\n /** Shows the arrow aimed at the trigger. */\n apTooltipArrow = input<boolean>(true);\n\n // Predefined template variables\n apTooltipType = input<CustomTooltipType>(CustomTooltipType.DEFAULT);\n apTooltipPresentationContext = input<CustomTooltipPresentationItem>();\n apTooltipListItems = input<CustomTooltipAvatarItem[]>([]);\n apTooltipShowAvatarCaption = input(true);\n\n isDefaultTooltipType = computed(() => !this.apTooltipType() || this.apTooltipType() === CustomTooltipType.DEFAULT);\n isValidPredefinedTooltip = computed(\n () =>\n (this.apTooltipType() === CustomTooltipType.PRESENTATION &&\n this.apTooltipPresentationContext()?.title &&\n this.apTooltipPresentationContext()?.description) ||\n (this.apTooltipType() === CustomTooltipType.LIST && this.apTooltipListItems().length > 0)\n );\n triggeredByClick = computed(() => this.apTooltipTrigger() === 'click' || this.externallyTriggerred);\n\n /** True while the panel is attached — not yet during the show delay. */\n readonly isOpen = this.overlay.isOpen;\n\n clickListener: (() => void) | undefined = undefined;\n\n hideTimeout: number | undefined;\n\n mouseEnterListener: (() => void) | undefined = undefined;\n\n mouseLeaveListener: (() => void) | undefined = undefined;\n\n nativeElement: HTMLElement = this.elementRef.nativeElement;\n\n showTimeout: number | undefined;\n\n _externallyTriggerred: boolean = false;\n\n private panelRef: ComponentRef<unknown> | null = null;\n\n /** Where the opening click landed, in viewport coordinates; `null` after a keyboard click. */\n private clickPoint: { x: number; y: number } | null = null;\n\n /** The pointer while a click-opened tooltip is shown; `null` while unknown. */\n private pointer: { x: number; y: number } | null = null;\n\n private stopScrollDismissal: (() => void) | null = null;\n\n /** `apTooltipExternalTrigger` elements: they carry their own toggle, so the engine must not count them as the outside. */\n private readonly externalTriggers = new Set<HTMLElement>();\n\n /** @internal Called by `apTooltipExternalTrigger`. */\n registerExternalTrigger(element: HTMLElement): void {\n this.externalTriggers.add(element);\n }\n\n /** @internal Called by `apTooltipExternalTrigger`. */\n unregisterExternalTrigger(element: HTMLElement): void {\n this.externalTriggers.delete(element);\n }\n\n /**\n * The `.ap-tooltip` surface while one is shown.\n * @deprecated Use {@link isOpen} to know whether a tooltip is shown.\n */\n get container(): HTMLElement | undefined {\n return this.panelRef?.location.nativeElement;\n }\n\n constructor() {\n explicitEffect([this.apTooltipTrigger], ([trigger]) => {\n // Untracked: the setup reads `isOpen`, and an effect tracking it would close every tooltip it opens.\n untracked(() => this.setupEventListeners(trigger));\n });\n }\n\n ngOnInit(): void {\n const apTooltipVirtualScrollElement = this.apTooltipVirtualScrollElement();\n if (apTooltipVirtualScrollElement) {\n apTooltipVirtualScrollElement.renderedRangeStream.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(range => {\n if (range.start === 0 && range.end === 0) {\n this.deactivate();\n }\n });\n }\n }\n\n private setupEventListeners(trigger: 'hover' | 'click'): void {\n // Close any open tooltip when switching modes\n if (this.isOpen()) {\n this.remove();\n }\n\n this.cleanupEventListeners();\n\n this.zone.runOutsideAngular(() => {\n this.clickListener = this.onInputClick.bind(this);\n this.nativeElement.addEventListener('click', this.clickListener, true);\n if (trigger === 'hover') {\n this.mouseEnterListener = this.onMouseEnter.bind(this);\n this.mouseLeaveListener = this.onMouseLeave.bind(this);\n this.nativeElement.addEventListener('mouseenter', this.mouseEnterListener);\n this.nativeElement.addEventListener('mouseleave', this.mouseLeaveListener);\n }\n });\n }\n\n private cleanupEventListeners(): void {\n if (this.mouseEnterListener) {\n this.nativeElement.removeEventListener('mouseenter', this.mouseEnterListener);\n this.mouseEnterListener = undefined;\n }\n if (this.clickListener) {\n this.nativeElement.removeEventListener('click', this.clickListener, true);\n this.clickListener = undefined;\n }\n if (this.mouseLeaveListener) {\n this.nativeElement.removeEventListener('mouseleave', this.mouseLeaveListener);\n this.mouseLeaveListener = undefined;\n }\n }\n\n ngOnDestroy(): void {\n if (this.isOpen()) {\n this.deactivate();\n }\n this.cleanupEventListeners();\n }\n\n onMouseEnter(): void {\n if (!this.isOpen()) {\n this.activate();\n }\n }\n\n onMouseLeave(): void {\n if (!this._externallyTriggerred) {\n this.deactivate();\n }\n }\n\n onInputClick(event?: MouseEvent): void {\n this.zone.run(() => {\n const trigger = this.apTooltipTrigger();\n\n if (trigger === 'click') {\n if (this.isOpen()) {\n this.deactivate();\n } else {\n // A click synthesised from the keyboard has `detail: 0` and sits at `(0, 0)`.\n this.clickPoint = event && event.detail > 0 ? { x: event.clientX, y: event.clientY } : null;\n this.activate();\n }\n } else {\n this.deactivate();\n }\n });\n }\n\n activate(): void {\n this.clearHideTimeout();\n\n if (this.apTooltipShowDelay()) {\n this.showTimeout = window.setTimeout(() => {\n this.show();\n }, this.apTooltipShowDelay());\n } else {\n this.show();\n }\n\n if (this.apTooltipDuration()) {\n const duration = this.apTooltipShowDelay() ? this.apTooltipDuration() + this.apTooltipShowDelay() : this.apTooltipDuration();\n this.hideTimeout = window.setTimeout(() => {\n this.remove();\n }, duration);\n }\n }\n\n deactivate(): void {\n this.clearShowTimeout();\n if (this.apTooltipHideDelay()) {\n this.clearHideTimeout();\n this.hideTimeout = window.setTimeout(() => {\n this.remove();\n }, this.apTooltipHideDelay());\n } else {\n this.remove();\n }\n }\n\n show(): void {\n if (this.apTooltipTruncatedTextOnly() && this.elementRef.nativeElement.scrollWidth === this.elementRef.nativeElement.clientWidth) {\n return;\n }\n if (\n (this.isDefaultTooltipType() && !this.apTooltip()) ||\n (!this.isDefaultTooltipType() && !this.isValidPredefinedTooltip()) ||\n this.apTooltipDisabled()\n ) {\n return;\n }\n\n // Prevent tooltip from showing if the host element is not connected to the DOM\n const hostRect = this.nativeElement.getBoundingClientRect();\n if (!this.nativeElement.isConnected || (hostRect.width === 0 && hostRect.height === 0)) {\n return;\n }\n\n this.create();\n }\n\n remove(): void {\n this.stopScrollDismissal?.();\n this.overlay.close();\n this.panelRef = null;\n\n this.clearTimeouts();\n this._externallyTriggerred = false;\n }\n\n private create(): void {\n if (this.isOpen()) {\n this.clearHideTimeout();\n this.remove();\n }\n\n // Entered on purpose: hover is listened for outside the zone, where the panel's inputs would never render.\n this.zone.run(() => {\n const content = this.apTooltip();\n const isTemplate = this.isDefaultTooltipType() && content instanceof TemplateRef;\n\n this.panelRef = this.overlay.open(TooltipPanelComponent, this.nativeElement, {\n placement: this.apTooltipPosition(),\n arrow: this.apTooltipArrow(),\n panelClass: this.paneClasses(isTemplate),\n // Explicit dismissals skip the hide delay, which only exists to cross the gap to the panel.\n onClose: () => this.zone.run(() => this.remove()),\n additionalTriggers: () => [...this.externalTriggers],\n });\n if (!this.panelRef) {\n return;\n }\n\n this.panelRef.setInput('text', content instanceof TemplateRef ? undefined : (content ?? undefined));\n this.panelRef.setInput('template', isTemplate ? content : undefined);\n this.panelRef.setInput('templateContext', this.apTooltipTemplateContext());\n this.panelRef.setInput('type', this.apTooltipType());\n this.panelRef.setInput('presentationContext', this.apTooltipPresentationContext());\n this.panelRef.setInput('listItems', this.apTooltipListItems());\n this.panelRef.setInput('showCaption', this.apTooltipShowAvatarCaption());\n this.panelRef.setInput('clickTriggered', this.triggeredByClick());\n\n // Render synchronously, then re-place: `attach()` measured an empty box, and background tabs stall timers and rAF.\n this.panelRef.changeDetectorRef.detectChanges();\n this.overlay.updatePosition();\n\n this.listenForScrollDismissal();\n });\n }\n\n /**\n * A click-opened tooltip closes on scroll once the pointer is off its trigger; an unknown pointer counts as off.\n * A scroll inside the panel never closes it. The trigger's box is measured, since browsers freeze `:hover` while scrolling.\n */\n private listenForScrollDismissal(): void {\n // Not `triggeredByClick()`: that `computed` reads the non-signal `externallyTriggerred` and can go stale.\n if (this.apTooltipTrigger() !== 'click' && !this._externallyTriggerred) {\n return;\n }\n const pane = this.overlay.overlayRef?.overlayElement;\n this.pointer = this.clickPoint;\n this.clickPoint = null;\n\n const onPointer = (event: MouseEvent): void => {\n this.pointer = { x: event.clientX, y: event.clientY };\n };\n const onScroll = (event: Event): void => {\n const target = event.target;\n if (pane && target instanceof Node && pane.contains(target)) {\n return;\n }\n if (!this.isPointerOnTrigger()) {\n this.zone.run(() => this.remove());\n }\n };\n\n this.zone.runOutsideAngular(() => {\n document.addEventListener('pointermove', onPointer, { capture: true, passive: true });\n document.addEventListener('pointerdown', onPointer, { capture: true, passive: true });\n document.addEventListener('scroll', onScroll, { capture: true, passive: true });\n });\n this.stopScrollDismissal = () => {\n document.removeEventListener('pointermove', onPointer, { capture: true });\n document.removeEventListener('pointerdown', onPointer, { capture: true });\n document.removeEventListener('scroll', onScroll, { capture: true });\n this.stopScrollDismissal = null;\n this.pointer = null;\n };\n }\n\n private isPointerOnTrigger(): boolean {\n const pointer = this.pointer;\n if (!pointer) {\n return false;\n }\n return [this.nativeElement, ...this.externalTriggers].some(element => {\n const box = element.getBoundingClientRect();\n return pointer.x >= box.left && pointer.x <= box.right && pointer.y >= box.top && pointer.y <= box.bottom;\n });\n }\n\n /** Pane classes: each of the three surfaces gives panel and tip a different shadow. */\n private paneClasses(isTemplate: boolean): string[] {\n if (!this.isDefaultTooltipType()) {\n return ['ap-tooltip-pane', 'predefined'];\n }\n return isTemplate ? ['ap-tooltip-pane', 'custom-template'] : ['ap-tooltip-pane'];\n }\n\n clearShowTimeout() {\n if (this.showTimeout) {\n clearTimeout(this.showTimeout);\n this.showTimeout = undefined;\n }\n }\n\n clearHideTimeout() {\n if (this.hideTimeout) {\n clearTimeout(this.hideTimeout);\n this.hideTimeout = undefined;\n }\n }\n\n clearTimeouts() {\n this.clearShowTimeout();\n this.clearHideTimeout();\n }\n\n get externallyTriggerred(): boolean {\n return this._externallyTriggerred;\n }\n\n set externallyTriggerred(value: boolean) {\n this._externallyTriggerred = value;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -14,8 +14,8 @@ import { DotStepperComponent } from '@agorapulse/ui-components/dot-stepper';
14
14
  export { DotStepperComponent } from '@agorapulse/ui-components/dot-stepper';
15
15
  import { InfoboxComponent } from '@agorapulse/ui-components/infobox';
16
16
  export { InfoboxComponent } from '@agorapulse/ui-components/infobox';
17
- import { LabelComponent, LabelListComponent } from '@agorapulse/ui-components/labels';
18
- export { LabelComponent, LabelListComponent } from '@agorapulse/ui-components/labels';
17
+ import { LabelComponent } from '@agorapulse/ui-components/labels';
18
+ export { LabelComponent } from '@agorapulse/ui-components/labels';
19
19
  import { LabelsSelectorComponent } from '@agorapulse/ui-components/labels-selector';
20
20
  export { LabelsSelectorComponent } from '@agorapulse/ui-components/labels-selector';
21
21
  import { MediaDisplayOverlayDialogComponent } from '@agorapulse/ui-components/media-display-overlay';
@@ -26,6 +26,8 @@ import { NeoDatepickerComponent, DayDisabledPipe } from '@agorapulse/ui-componen
26
26
  export { DayDisabledPipe, NeoDatepickerComponent } from '@agorapulse/ui-components/neo-datepicker';
27
27
  import { NotificationComponent } from '@agorapulse/ui-components/notification';
28
28
  export { NotificationComponent } from '@agorapulse/ui-components/notification';
29
+ import { OverflowListComponent } from '@agorapulse/ui-components/overflow-list';
30
+ export { OverflowListComponent } from '@agorapulse/ui-components/overflow-list';
29
31
  import { PaginatorComponent, PaginatorButtonComponent } from '@agorapulse/ui-components/paginator';
30
32
  export { PaginatorButtonComponent, PaginatorComponent } from '@agorapulse/ui-components/paginator';
31
33
  import { PasswordInputComponent } from '@agorapulse/ui-components/password-input';
@@ -80,7 +82,7 @@ class AgorapulseUiComponentsModule {
80
82
  DotStepperComponent,
81
83
  EllipsisDirective,
82
84
  InfoboxComponent,
83
- LabelListComponent,
85
+ OverflowListComponent,
84
86
  LabelsSelectorComponent,
85
87
  NeoDatepickerComponent,
86
88
  MediaDisplayOverlayDialogComponent,
@@ -113,7 +115,7 @@ class AgorapulseUiComponentsModule {
113
115
  EllipsisDirective,
114
116
  InfoboxComponent,
115
117
  LabelComponent,
116
- LabelListComponent,
118
+ OverflowListComponent,
117
119
  MediaDisplayOverlayDialogComponent,
118
120
  ModalComponent,
119
121
  PasswordInputComponent,
@@ -147,7 +149,7 @@ class AgorapulseUiComponentsModule {
147
149
  DatepickerComponent,
148
150
  DotStepperComponent,
149
151
  InfoboxComponent,
150
- LabelListComponent,
152
+ OverflowListComponent,
151
153
  LabelsSelectorComponent,
152
154
  NeoDatepickerComponent,
153
155
  MediaDisplayOverlayDialogComponent,
@@ -176,7 +178,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
176
178
  DotStepperComponent,
177
179
  EllipsisDirective,
178
180
  InfoboxComponent,
179
- LabelListComponent,
181
+ OverflowListComponent,
180
182
  LabelsSelectorComponent,
181
183
  NeoDatepickerComponent,
182
184
  MediaDisplayOverlayDialogComponent,
@@ -211,7 +213,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
211
213
  EllipsisDirective,
212
214
  InfoboxComponent,
213
215
  LabelComponent,
214
- LabelListComponent,
216
+ OverflowListComponent,
215
217
  MediaDisplayOverlayDialogComponent,
216
218
  ModalComponent,
217
219
  PasswordInputComponent,
@@ -1 +1 @@
1
- {"version":3,"file":"agorapulse-ui-components.mjs","sources":["../../../libs/ui-components/src/lib/agorapulse-ui-components.module.ts","../../../libs/ui-components/index.ts","../../../libs/ui-components/agorapulse-ui-components.ts"],"sourcesContent":["// Modules\nimport { AddCommentComponent } from '@agorapulse/ui-components/add-comment';\nimport { AvatarComponent } from '@agorapulse/ui-components/avatar';\nimport { ConfirmModalComponent } from '@agorapulse/ui-components/confirm-modal';\nimport { DatepickerComponent } from '@agorapulse/ui-components/datepicker';\nimport {\n AutosizeTextareaDirective,\n DefaultImageDirective,\n EllipsisDirective,\n EqualValidatorDirective,\n FrozenGifDirective,\n MultiStyleTextDirective,\n} from '@agorapulse/ui-components/directives';\nimport { DotStepperComponent } from '@agorapulse/ui-components/dot-stepper';\nimport { InfoboxComponent } from '@agorapulse/ui-components/infobox';\nimport { LabelComponent, LabelListComponent } from '@agorapulse/ui-components/labels';\nimport { LabelsSelectorComponent } from '@agorapulse/ui-components/labels-selector';\nimport { MediaDisplayOverlayDialogComponent } from '@agorapulse/ui-components/media-display-overlay';\nimport { ModalComponent } from '@agorapulse/ui-components/modal';\nimport { DayDisabledPipe, NeoDatepickerComponent } from '@agorapulse/ui-components/neo-datepicker';\nimport { NotificationComponent } from '@agorapulse/ui-components/notification';\nimport { PaginatorButtonComponent, PaginatorComponent } from '@agorapulse/ui-components/paginator';\nimport { PasswordInputComponent } from '@agorapulse/ui-components/password-input';\nimport { PopmenuModule } from '@agorapulse/ui-components/popmenu';\nimport { SlideToggleComponent } from '@agorapulse/ui-components/slide-toggle';\nimport { SnackbarsThreadComponent } from '@agorapulse/ui-components/snackbars-thread';\nimport { StepperComponent } from '@agorapulse/ui-components/stepper';\nimport { TooltipDirective } from '@agorapulse/ui-components/tooltip';\nimport { NgModule } from '@angular/core';\nimport { MAT_TABS_CONFIG } from '@angular/material/tabs';\n\n/**\n * @deprecated for better tree-shaking, use standalone component import instead\n */\n@NgModule({\n declarations: [],\n imports: [\n // Components\n AvatarComponent,\n StepperComponent,\n ConfirmModalComponent,\n DatepickerComponent,\n DotStepperComponent,\n EllipsisDirective,\n InfoboxComponent,\n LabelListComponent,\n LabelsSelectorComponent,\n NeoDatepickerComponent,\n MediaDisplayOverlayDialogComponent,\n ModalComponent,\n PasswordInputComponent,\n LabelComponent,\n NotificationComponent,\n PaginatorComponent,\n PaginatorButtonComponent,\n SlideToggleComponent,\n SnackbarsThreadComponent,\n // Directives\n DefaultImageDirective,\n FrozenGifDirective,\n EqualValidatorDirective,\n MultiStyleTextDirective,\n TooltipDirective,\n AddCommentComponent,\n AutosizeTextareaDirective,\n // Pipes\n DayDisabledPipe,\n ],\n exports: [\n // Components\n AddCommentComponent,\n AvatarComponent,\n StepperComponent,\n ConfirmModalComponent,\n DatepickerComponent,\n NeoDatepickerComponent,\n DotStepperComponent,\n EllipsisDirective,\n InfoboxComponent,\n LabelComponent,\n LabelListComponent,\n MediaDisplayOverlayDialogComponent,\n ModalComponent,\n PasswordInputComponent,\n LabelsSelectorComponent,\n NotificationComponent,\n PaginatorComponent,\n PaginatorButtonComponent,\n SlideToggleComponent,\n SnackbarsThreadComponent,\n // Pipes\n DayDisabledPipe,\n // Directives\n AutosizeTextareaDirective,\n DefaultImageDirective,\n FrozenGifDirective,\n EqualValidatorDirective,\n MultiStyleTextDirective,\n TooltipDirective,\n // Modules\n PopmenuModule,\n ],\n providers: [\n // Disable ripple effect\n // {provide: MAT_RIPPLE_GLOBAL_OPTIONS, useValue: {disabled: true}},\n // Disable tabs animation\n { provide: MAT_TABS_CONFIG, useValue: { animationDuration: '0ms' } },\n ],\n})\nexport class AgorapulseUiComponentsModule {}\n","/*\n * Public API Surface of ui\n */\n\n// Module\nexport { PopmenuModule } from '@agorapulse/ui-components/popmenu';\nexport { AgorapulseUiComponentsModule } from './src/lib/agorapulse-ui-components.module';\n\n// Directive\nexport {\n AutosizeTextareaDirective,\n CheckboxDirective,\n DefaultImageDirective,\n EllipsisDirective,\n EqualValidatorDirective,\n FrozenGifDirective,\n MultiStyleTextDirective,\n} from '@agorapulse/ui-components/directives';\nexport { PopmenuDirective } from '@agorapulse/ui-components/popmenu';\nexport { TooltipDirective, TooltipExternalTriggerDirective } from '@agorapulse/ui-components/tooltip';\n\n// Dropdown base\nexport { DropdownOptionDirective, DropdownOverlay, DropdownTriggerDirective, createDropdownOverlay } from '@agorapulse/ui-components/dropdown-base';\nexport { DropdownContentDirective, DropdownPanelComponent } from '@agorapulse/ui-components/dropdown-panel';\n\n// Component\nexport { ActionDropdownComponent, ActionDropdownItem, ActionDropdownTriggerDirective } from '@agorapulse/ui-components/action-dropdown';\nexport { AddCommentComponent } from '@agorapulse/ui-components/add-comment';\nexport { AutocompleteComponent } from '@agorapulse/ui-components/autocomplete';\nexport { AvatarComponent, AvatarItem } from '@agorapulse/ui-components/avatar';\nexport { BadgeComponent } from '@agorapulse/ui-components/badge';\nexport { ButtonComponent } from '@agorapulse/ui-components/button';\nexport { CheckboxComponent } from '@agorapulse/ui-components/checkbox';\nexport { ConfirmModalComponent } from '@agorapulse/ui-components/confirm-modal';\nexport { CounterComponent } from '@agorapulse/ui-components/counter';\nexport {\n DatepickerComponent,\n DatepickerMode,\n DatepickerPreset,\n DatepickerSelectComponent,\n DatepickerValue,\n defaultDatepickerPresets,\n isPeriod,\n Period,\n} from '@agorapulse/ui-components/datepicker';\nexport { DotStepperComponent } from '@agorapulse/ui-components/dot-stepper';\nexport { IconButtonComponent } from '@agorapulse/ui-components/icon-button';\nexport { InfoboxComponent } from '@agorapulse/ui-components/infobox';\nexport { LabelComponent, LabelListComponent } from '@agorapulse/ui-components/labels';\nexport { LabelsSelectorComponent } from '@agorapulse/ui-components/labels-selector';\nexport { InputComponent } from '@agorapulse/ui-components/legacy/input';\nexport { SelectComponent } from '@agorapulse/ui-components/legacy/select';\nexport { TextareaComponent } from '@agorapulse/ui-components/legacy/textarea';\nexport { MediaDisplayOverlayDialogComponent } from '@agorapulse/ui-components/media-display-overlay';\nexport { ModalComponent, ModalConfig } from '@agorapulse/ui-components/modal';\nexport { NavSelectorComponent } from '@agorapulse/ui-components/nav-selector';\nexport {\n DayDisabledPipe,\n NeoDatePickerLocale,\n NeoDatePickerMode,\n NeoDatePickerStartsOn,\n NeoDatepickerComponent,\n} from '@agorapulse/ui-components/neo-datepicker';\nexport { NotificationComponent } from '@agorapulse/ui-components/notification';\nexport { PaginatorButtonComponent, PaginatorComponent } from '@agorapulse/ui-components/paginator';\nexport { PasswordInputComponent } from '@agorapulse/ui-components/password-input';\nexport { PopmenuComponent } from '@agorapulse/ui-components/popmenu';\nexport { RadioComponent } from '@agorapulse/ui-components/radio';\nexport { RadioButtonCardComponent } from '@agorapulse/ui-components/radio-button-card';\nexport { SegmentedControlComponent, SegmentedControlOption } from '@agorapulse/ui-components/segmented-control';\nexport {\n SelectionDropdownComponent,\n SelectionDropdownItem,\n SelectionDropdownTriggerDirective,\n} from '@agorapulse/ui-components/selection-dropdown';\nexport { SlideToggleComponent } from '@agorapulse/ui-components/slide-toggle';\nexport { SnackbarsThreadComponent } from '@agorapulse/ui-components/snackbars-thread';\nexport { SocialButtonComponent } from '@agorapulse/ui-components/social-button';\nexport { StatusComponent } from '@agorapulse/ui-components/status';\nexport { StatusCardActor, StatusCardComponent } from '@agorapulse/ui-components/status-card';\nexport { StepperComponent } from '@agorapulse/ui-components/stepper';\nexport { TagComponent } from '@agorapulse/ui-components/tag';\nexport { ToggleComponent } from '@agorapulse/ui-components/toggle';\n\n// Service\nexport { SnackbarsThreadService } from '@agorapulse/ui-components/snackbars-thread';\n\n// Model\nexport { ConfirmModalTexts } from '@agorapulse/ui-components/confirm-modal';\nexport * from '@agorapulse/ui-components/filter-dropdown';\nexport {\n CodeStatus,\n SnackbarTypeValues,\n SnackbarsThreadBase,\n externalSnackbarTypeAllowed,\n generateCodeStatus,\n} from '@agorapulse/ui-components/snackbars-thread';\nexport { Step } from '@agorapulse/ui-components/stepper';\nexport { CustomTooltipAvatarItem, CustomTooltipPresentationItem, CustomTooltipType } from '@agorapulse/ui-components/tooltip';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agorapulse-ui-components.mjs","sources":["../../../libs/ui-components/src/lib/agorapulse-ui-components.module.ts","../../../libs/ui-components/index.ts","../../../libs/ui-components/agorapulse-ui-components.ts"],"sourcesContent":["// Modules\nimport { AddCommentComponent } from '@agorapulse/ui-components/add-comment';\nimport { AvatarComponent } from '@agorapulse/ui-components/avatar';\nimport { ConfirmModalComponent } from '@agorapulse/ui-components/confirm-modal';\nimport { DatepickerComponent } from '@agorapulse/ui-components/datepicker';\nimport {\n AutosizeTextareaDirective,\n DefaultImageDirective,\n EllipsisDirective,\n EqualValidatorDirective,\n FrozenGifDirective,\n MultiStyleTextDirective,\n} from '@agorapulse/ui-components/directives';\nimport { DotStepperComponent } from '@agorapulse/ui-components/dot-stepper';\nimport { InfoboxComponent } from '@agorapulse/ui-components/infobox';\nimport { LabelComponent } from '@agorapulse/ui-components/labels';\nimport { LabelsSelectorComponent } from '@agorapulse/ui-components/labels-selector';\nimport { MediaDisplayOverlayDialogComponent } from '@agorapulse/ui-components/media-display-overlay';\nimport { ModalComponent } from '@agorapulse/ui-components/modal';\nimport { DayDisabledPipe, NeoDatepickerComponent } from '@agorapulse/ui-components/neo-datepicker';\nimport { NotificationComponent } from '@agorapulse/ui-components/notification';\nimport { OverflowListComponent } from '@agorapulse/ui-components/overflow-list';\nimport { PaginatorButtonComponent, PaginatorComponent } from '@agorapulse/ui-components/paginator';\nimport { PasswordInputComponent } from '@agorapulse/ui-components/password-input';\nimport { PopmenuModule } from '@agorapulse/ui-components/popmenu';\nimport { SlideToggleComponent } from '@agorapulse/ui-components/slide-toggle';\nimport { SnackbarsThreadComponent } from '@agorapulse/ui-components/snackbars-thread';\nimport { StepperComponent } from '@agorapulse/ui-components/stepper';\nimport { TooltipDirective } from '@agorapulse/ui-components/tooltip';\nimport { NgModule } from '@angular/core';\nimport { MAT_TABS_CONFIG } from '@angular/material/tabs';\n\n/**\n * @deprecated for better tree-shaking, use standalone component import instead\n */\n@NgModule({\n declarations: [],\n imports: [\n // Components\n AvatarComponent,\n StepperComponent,\n ConfirmModalComponent,\n DatepickerComponent,\n DotStepperComponent,\n EllipsisDirective,\n InfoboxComponent,\n OverflowListComponent,\n LabelsSelectorComponent,\n NeoDatepickerComponent,\n MediaDisplayOverlayDialogComponent,\n ModalComponent,\n PasswordInputComponent,\n LabelComponent,\n NotificationComponent,\n PaginatorComponent,\n PaginatorButtonComponent,\n SlideToggleComponent,\n SnackbarsThreadComponent,\n // Directives\n DefaultImageDirective,\n FrozenGifDirective,\n EqualValidatorDirective,\n MultiStyleTextDirective,\n TooltipDirective,\n AddCommentComponent,\n AutosizeTextareaDirective,\n // Pipes\n DayDisabledPipe,\n ],\n exports: [\n // Components\n AddCommentComponent,\n AvatarComponent,\n StepperComponent,\n ConfirmModalComponent,\n DatepickerComponent,\n NeoDatepickerComponent,\n DotStepperComponent,\n EllipsisDirective,\n InfoboxComponent,\n LabelComponent,\n OverflowListComponent,\n MediaDisplayOverlayDialogComponent,\n ModalComponent,\n PasswordInputComponent,\n LabelsSelectorComponent,\n NotificationComponent,\n PaginatorComponent,\n PaginatorButtonComponent,\n SlideToggleComponent,\n SnackbarsThreadComponent,\n // Pipes\n DayDisabledPipe,\n // Directives\n AutosizeTextareaDirective,\n DefaultImageDirective,\n FrozenGifDirective,\n EqualValidatorDirective,\n MultiStyleTextDirective,\n TooltipDirective,\n // Modules\n PopmenuModule,\n ],\n providers: [\n // Disable ripple effect\n // {provide: MAT_RIPPLE_GLOBAL_OPTIONS, useValue: {disabled: true}},\n // Disable tabs animation\n { provide: MAT_TABS_CONFIG, useValue: { animationDuration: '0ms' } },\n ],\n})\nexport class AgorapulseUiComponentsModule {}\n","/*\n * Public API Surface of ui\n */\n\n// Module\nexport { PopmenuModule } from '@agorapulse/ui-components/popmenu';\nexport { AgorapulseUiComponentsModule } from './src/lib/agorapulse-ui-components.module';\n\n// Directive\nexport {\n AutosizeTextareaDirective,\n CheckboxDirective,\n DefaultImageDirective,\n EllipsisDirective,\n EqualValidatorDirective,\n FrozenGifDirective,\n MultiStyleTextDirective,\n} from '@agorapulse/ui-components/directives';\nexport { PopmenuDirective } from '@agorapulse/ui-components/popmenu';\nexport { TooltipDirective, TooltipExternalTriggerDirective } from '@agorapulse/ui-components/tooltip';\n\n// Dropdown base\nexport { DropdownOptionDirective, DropdownOverlay, DropdownTriggerDirective, createDropdownOverlay } from '@agorapulse/ui-components/dropdown-base';\nexport { DropdownContentDirective, DropdownPanelComponent } from '@agorapulse/ui-components/dropdown-panel';\n\n// Component\nexport { ActionDropdownComponent, ActionDropdownItem, ActionDropdownTriggerDirective } from '@agorapulse/ui-components/action-dropdown';\nexport { AddCommentComponent } from '@agorapulse/ui-components/add-comment';\nexport { AutocompleteComponent } from '@agorapulse/ui-components/autocomplete';\nexport { AvatarComponent, AvatarItem } from '@agorapulse/ui-components/avatar';\nexport { BadgeComponent } from '@agorapulse/ui-components/badge';\nexport { ButtonComponent } from '@agorapulse/ui-components/button';\nexport { CheckboxComponent } from '@agorapulse/ui-components/checkbox';\nexport { ConfirmModalComponent } from '@agorapulse/ui-components/confirm-modal';\nexport { CounterComponent } from '@agorapulse/ui-components/counter';\nexport {\n DatepickerComponent,\n DatepickerMode,\n DatepickerPreset,\n DatepickerSelectComponent,\n DatepickerValue,\n defaultDatepickerPresets,\n isPeriod,\n Period,\n} from '@agorapulse/ui-components/datepicker';\nexport { DotStepperComponent } from '@agorapulse/ui-components/dot-stepper';\nexport { IconButtonComponent } from '@agorapulse/ui-components/icon-button';\nexport { InfoboxComponent } from '@agorapulse/ui-components/infobox';\nexport { LabelComponent } from '@agorapulse/ui-components/labels';\nexport { LabelsSelectorComponent } from '@agorapulse/ui-components/labels-selector';\nexport { InputComponent } from '@agorapulse/ui-components/legacy/input';\nexport { SelectComponent } from '@agorapulse/ui-components/legacy/select';\nexport { TextareaComponent } from '@agorapulse/ui-components/legacy/textarea';\nexport { MediaDisplayOverlayDialogComponent } from '@agorapulse/ui-components/media-display-overlay';\nexport { ModalComponent, ModalConfig } from '@agorapulse/ui-components/modal';\nexport { NavSelectorComponent } from '@agorapulse/ui-components/nav-selector';\nexport {\n DayDisabledPipe,\n NeoDatePickerLocale,\n NeoDatePickerMode,\n NeoDatePickerStartsOn,\n NeoDatepickerComponent,\n} from '@agorapulse/ui-components/neo-datepicker';\nexport { NotificationComponent } from '@agorapulse/ui-components/notification';\nexport { OverflowListComponent, OverflowListDisplayType, OverflowListMode } from '@agorapulse/ui-components/overflow-list';\nexport { PaginatorButtonComponent, PaginatorComponent } from '@agorapulse/ui-components/paginator';\nexport { PasswordInputComponent } from '@agorapulse/ui-components/password-input';\nexport { PopmenuComponent } from '@agorapulse/ui-components/popmenu';\nexport { RadioComponent } from '@agorapulse/ui-components/radio';\nexport { RadioButtonCardComponent } from '@agorapulse/ui-components/radio-button-card';\nexport { SegmentedControlComponent, SegmentedControlOption } from '@agorapulse/ui-components/segmented-control';\nexport {\n SelectionDropdownComponent,\n SelectionDropdownItem,\n SelectionDropdownTriggerDirective,\n} from '@agorapulse/ui-components/selection-dropdown';\nexport { SlideToggleComponent } from '@agorapulse/ui-components/slide-toggle';\nexport { SnackbarsThreadComponent } from '@agorapulse/ui-components/snackbars-thread';\nexport { SocialButtonComponent } from '@agorapulse/ui-components/social-button';\nexport { StatusComponent } from '@agorapulse/ui-components/status';\nexport { StatusCardActor, StatusCardComponent } from '@agorapulse/ui-components/status-card';\nexport { StepperComponent } from '@agorapulse/ui-components/stepper';\nexport { TagComponent } from '@agorapulse/ui-components/tag';\nexport { ToggleComponent } from '@agorapulse/ui-components/toggle';\n\n// Service\nexport { SnackbarsThreadService } from '@agorapulse/ui-components/snackbars-thread';\n\n// Model\nexport { ConfirmModalTexts } from '@agorapulse/ui-components/confirm-modal';\nexport * from '@agorapulse/ui-components/filter-dropdown';\nexport {\n CodeStatus,\n SnackbarTypeValues,\n SnackbarsThreadBase,\n externalSnackbarTypeAllowed,\n generateCodeStatus,\n} from '@agorapulse/ui-components/snackbars-thread';\nexport { Step } from '@agorapulse/ui-components/stepper';\nexport { CustomTooltipAvatarItem, CustomTooltipPresentationItem, CustomTooltipType } from '@agorapulse/ui-components/tooltip';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@agorapulse/ui-components",
3
3
  "description": "Agorapulse UI Components Library",
4
- "version": "22.3.0",
4
+ "version": "22.4.1",
5
5
  "author": "Benoit Hediard",
6
6
  "repository": {
7
7
  "type": "git",
@@ -22,7 +22,7 @@
22
22
  "@angular/animations": "^22.0.0",
23
23
  "@floating-ui/dom": "^1.8.0",
24
24
  "@ng-select/ng-select": "^23.0.0",
25
- "@agorapulse/ngx-daterangepicker-material": "^6.0.9",
25
+ "@agorapulse/ngx-daterangepicker-material": "^6.0.10",
26
26
  "dayjs": "^1.11.8",
27
27
  "es-toolkit": "1.39.8",
28
28
  "ngxtension": "7.2.0"
@@ -185,6 +185,14 @@
185
185
  "types": "./types/agorapulse-ui-components-notification.d.ts",
186
186
  "default": "./fesm2022/agorapulse-ui-components-notification.mjs"
187
187
  },
188
+ "./overflow-base": {
189
+ "types": "./types/agorapulse-ui-components-overflow-base.d.ts",
190
+ "default": "./fesm2022/agorapulse-ui-components-overflow-base.mjs"
191
+ },
192
+ "./overflow-list": {
193
+ "types": "./types/agorapulse-ui-components-overflow-list.d.ts",
194
+ "default": "./fesm2022/agorapulse-ui-components-overflow-list.mjs"
195
+ },
188
196
  "./paginator": {
189
197
  "types": "./types/agorapulse-ui-components-paginator.d.ts",
190
198
  "default": "./fesm2022/agorapulse-ui-components-paginator.mjs"
@@ -2,20 +2,27 @@ import * as _angular_core from '@angular/core';
2
2
  import { CustomTooltipAvatarItem } from '@agorapulse/ui-components/tooltip';
3
3
 
4
4
  type AvatarGroupSize = 16 | 24 | 32;
5
+ /**
6
+ * A stack of avatars, then a counter whose `LIST` tooltip names the hidden ones.
7
+ *
8
+ * It shows `maxAvatars` at most, and fewer when its width runs short. It takes the width its container
9
+ * gives it: in a flex parent, `flex: 1; min-width: 0` lets it collapse on the width; without them it
10
+ * keeps the width of its avatars and only `maxAvatars` caps them.
11
+ */
5
12
  declare class AvatarGroupComponent {
6
- avatars: _angular_core.InputSignalWithTransform<CustomTooltipAvatarItem[], CustomTooltipAvatarItem[]>;
13
+ avatars: _angular_core.InputSignal<CustomTooltipAvatarItem[]>;
7
14
  size: _angular_core.InputSignal<AvatarGroupSize>;
15
+ /** Most avatars shown; a narrower container shows fewer, the others go into the counter. */
8
16
  maxAvatars: _angular_core.InputSignal<number>;
9
17
  showAvatarDescriptionTooltip: _angular_core.InputSignal<boolean>;
10
- visibleAvatars: _angular_core.Signal<CustomTooltipAvatarItem[]>;
11
- tooltipAvatars: _angular_core.Signal<CustomTooltipAvatarItem[]>;
12
- overflowCount: _angular_core.Signal<number>;
13
- hasOverflow: _angular_core.Signal<boolean>;
18
+ protected readonly overlapGap: number;
14
19
  protected readonly CustomTooltipType: {
15
20
  DEFAULT: string;
16
21
  PRESENTATION: string;
17
22
  LIST: string;
18
23
  };
24
+ protected readonly avatarText: (avatar: CustomTooltipAvatarItem) => string;
25
+ protected readonly asListItem: (avatar: CustomTooltipAvatarItem) => CustomTooltipAvatarItem;
19
26
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AvatarGroupComponent, never>;
20
27
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AvatarGroupComponent, "ap-avatar-group", never, { "avatars": { "alias": "avatars"; "required": true; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "maxAvatars": { "alias": "maxAvatars"; "required": false; "isSignal": true; }; "showAvatarDescriptionTooltip": { "alias": "showAvatarDescriptionTooltip"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
21
28
  }
@@ -222,7 +222,8 @@ declare class OverflowCounterDirective {
222
222
  * Put it on the container, mark the items with `apOverflowItem` and the badge with
223
223
  * `apOverflowCounter`; read `hiddenCount()` to render the badge and to derive the hidden data.
224
224
  * The container is measured, so it must be the box that actually bounds the row — give it
225
- * `overflow: hidden` and keep the items from shrinking.
225
+ * `overflow: hidden` and keep the items from shrinking. When `minVisible` keeps an item the row is
226
+ * too narrow for, that last item gets a `max-width` so the badge stays inside: let it truncate.
226
227
  *
227
228
  * Specs that mock a consumer's dependencies have to keep this directive — ng-mocks stubs inputs
228
229
  * and outputs, not plain signal members, so a mocked `hiddenCount` is not callable:
@@ -253,23 +254,37 @@ declare class OverflowCountDirective {
253
254
  readonly counterFallbackWidth: i0.InputSignalWithTransform<number, unknown>;
254
255
  /** Items kept visible whatever the width. A lone "+N" reads as an empty row, hence the default. */
255
256
  readonly minVisible: i0.InputSignalWithTransform<number, unknown>;
257
+ /** Most items laid out whatever the width, for a group capped by design ("2 avatars at most"). */
258
+ readonly max: i0.InputSignalWithTransform<number | undefined, number | undefined>;
259
+ /**
260
+ * Set to false to lay every item out and hide none, for a row unfolded or wrapping on purpose. The
261
+ * counts still say what a collapse would hide, so an unfolded row knows when folding it hides nothing.
262
+ */
263
+ readonly collapse: i0.InputSignalWithTransform<boolean, unknown>;
256
264
  private readonly items;
257
265
  private readonly counter;
258
266
  private readonly visible;
259
267
  private readonly hidden;
260
- /** How many items are currently laid out. */
268
+ private readonly itemObserver;
269
+ private pendingFrame;
270
+ /** How many items fit on the line: the ones laid out, unless `collapse` is false. */
261
271
  readonly visibleCount: i0.Signal<number>;
262
- /** How many items are collapsed — the number the "+N" badge shows. */
272
+ /** How many items do not fit — the number the "+N" badge shows. With `collapse` false they stay laid out. */
263
273
  readonly hiddenCount: i0.Signal<number>;
264
274
  constructor();
265
275
  /** Measures the row and collapses its overflow. Public so a consumer resizing the container itself can force a pass. */
266
276
  recompute(): void;
277
+ /** Fits the last item `minVisible` forced into a row too narrow for it, so the badge is not pushed out. */
278
+ private narrowLastVisible;
279
+ private observe;
280
+ /** A frame later, not in the callback: a pass toggles the observed items, which inside it raises "ResizeObserver loop completed with undelivered notifications". */
281
+ private scheduleRecompute;
267
282
  /** Guarded: these signals are written from a render effect, so an unchanged pass must be inert. */
268
283
  private setCounts;
269
284
  private resolvedGap;
270
285
  private counterWidth;
271
286
  static ɵfac: i0.ɵɵFactoryDeclaration<OverflowCountDirective, never>;
272
- static ɵdir: i0.ɵɵDirectiveDeclaration<OverflowCountDirective, "[apOverflowCount]", ["apOverflowCount"], { "gap": { "alias": "gap"; "required": false; "isSignal": true; }; "counterFallbackWidth": { "alias": "counterFallbackWidth"; "required": false; "isSignal": true; }; "minVisible": { "alias": "minVisible"; "required": false; "isSignal": true; }; }, {}, ["items", "counter"], never, true, [{ directive: typeof i1.NgxResize; inputs: {}; outputs: {}; }]>;
287
+ static ɵdir: i0.ɵɵDirectiveDeclaration<OverflowCountDirective, "[apOverflowCount]", ["apOverflowCount"], { "gap": { "alias": "gap"; "required": false; "isSignal": true; }; "counterFallbackWidth": { "alias": "counterFallbackWidth"; "required": false; "isSignal": true; }; "minVisible": { "alias": "minVisible"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "collapse": { "alias": "collapse"; "required": false; "isSignal": true; }; }, {}, ["items", "counter"], never, true, [{ directive: typeof i1.NgxResize; inputs: {}; outputs: {}; }]>;
273
288
  }
274
289
 
275
290
  /**
@@ -1,38 +1,5 @@
1
- import { TextMeasurementService } from '@agorapulse/ui-components/text-measurement';
2
1
  import * as i0 from '@angular/core';
3
- import { AfterContentInit, OnChanges, OnDestroy, EventEmitter, ChangeDetectorRef, ElementRef, NgZone, SimpleChanges, AfterViewInit } from '@angular/core';
4
-
5
- declare class LabelListComponent implements AfterContentInit, OnChanges, OnDestroy {
6
- private changeDetectorRef;
7
- private elementRef;
8
- private textMeasurementService;
9
- private zone;
10
- labels: string[];
11
- removeLabelsEnabled: boolean;
12
- responsive: boolean;
13
- seeLessTranslation: string;
14
- hiddenLabelsTranslation: string;
15
- removeLabel: EventEmitter<string>;
16
- badgeWidth: number;
17
- expanded: boolean;
18
- howManyItemsLeft: number;
19
- responsiveLabels: string[];
20
- private observer;
21
- private width$;
22
- constructor(changeDetectorRef: ChangeDetectorRef, elementRef: ElementRef, textMeasurementService: TextMeasurementService, zone: NgZone);
23
- ngAfterContentInit(): void;
24
- ngOnChanges(changes: SimpleChanges): void;
25
- ngOnDestroy(): void;
26
- onExpand(): void;
27
- onRemoveLabel({ content }: {
28
- content: string;
29
- }): void;
30
- onResize(): void;
31
- trackByLabelContent(_: number, entry: string): string;
32
- private generateResponsiveLabels;
33
- static ɵfac: i0.ɵɵFactoryDeclaration<LabelListComponent, never>;
34
- static ɵcmp: i0.ɵɵComponentDeclaration<LabelListComponent, "ap-label-list", never, { "labels": { "alias": "labels"; "required": false; }; "removeLabelsEnabled": { "alias": "removeLabelsEnabled"; "required": false; }; "responsive": { "alias": "responsive"; "required": false; }; "seeLessTranslation": { "alias": "seeLessTranslation"; "required": false; }; "hiddenLabelsTranslation": { "alias": "hiddenLabelsTranslation"; "required": false; }; }, { "removeLabel": "removeLabel"; }, never, never, true, never>;
35
- }
2
+ import { AfterViewInit, OnDestroy, EventEmitter } from '@angular/core';
36
3
 
37
4
  declare class LabelComponent implements AfterViewInit, OnDestroy {
38
5
  private elementRef;
@@ -56,4 +23,4 @@ declare class LabelComponent implements AfterViewInit, OnDestroy {
56
23
  static ngAcceptInputType_removable: unknown;
57
24
  }
58
25
 
59
- export { LabelComponent, LabelListComponent };
26
+ export { LabelComponent };