@eui/eds 23.0.0-alpha.11 → 23.0.0-alpha.13
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.
- package/docs/changelog.html +79 -0
- package/docs/index.html +1 -1
- package/docs/js/search/search_index.js +2 -2
- package/docs/llms.txt +1 -1
- package/docs/properties.html +1 -1
- package/fesm2022/eui-eds-charts-eds-chart-legend.mjs +6 -6
- package/fesm2022/eui-eds-charts-eds-chart.mjs +3 -3
- package/fesm2022/eui-eds-charts-eds-gauge-chart.mjs +3 -3
- package/fesm2022/eui-eds-charts-eds-geo-chart.mjs +3 -3
- package/fesm2022/eui-eds-charts-eds-sparkline.mjs +3 -3
- package/fesm2022/eui-eds-eds-accordion.mjs +9 -9
- package/fesm2022/eui-eds-eds-alert.mjs +6 -6
- package/fesm2022/eui-eds-eds-autocomplete.mjs +21 -17
- package/fesm2022/eui-eds-eds-autocomplete.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-avatar.mjs +27 -27
- package/fesm2022/eui-eds-eds-badge.mjs +5 -4
- package/fesm2022/eui-eds-eds-badge.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-banner.mjs +21 -21
- package/fesm2022/eui-eds-eds-block-content.mjs +3 -3
- package/fesm2022/eui-eds-eds-block-document.mjs +3 -3
- package/fesm2022/eui-eds-eds-blockquote.mjs +3 -3
- package/fesm2022/eui-eds-eds-breadcrumb.mjs +6 -6
- package/fesm2022/eui-eds-eds-button-group.mjs +3 -3
- package/fesm2022/eui-eds-eds-button.mjs +3 -3
- package/fesm2022/eui-eds-eds-calendar.mjs +33 -33
- package/fesm2022/eui-eds-eds-card.mjs +30 -30
- package/fesm2022/eui-eds-eds-carousel.mjs +6 -6
- package/fesm2022/eui-eds-eds-chip-list.mjs +9 -9
- package/fesm2022/eui-eds-eds-chip.mjs +5 -4
- package/fesm2022/eui-eds-eds-chip.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-dashboard-card.mjs +72 -72
- package/fesm2022/eui-eds-eds-date-block.mjs +3 -3
- package/fesm2022/eui-eds-eds-datepicker.mjs +3 -3
- package/fesm2022/eui-eds-eds-dialog.mjs +15 -15
- package/fesm2022/eui-eds-eds-dimmer.mjs +3 -3
- package/fesm2022/eui-eds-eds-disable-content.mjs +3 -3
- package/fesm2022/eui-eds-eds-discussion-thread.mjs +6 -6
- package/fesm2022/eui-eds-eds-dropdown.mjs +9 -9
- package/fesm2022/eui-eds-eds-fab-button.mjs +6 -6
- package/fesm2022/eui-eds-eds-feedback-message.mjs +3 -3
- package/fesm2022/eui-eds-eds-fieldset.mjs +15 -15
- package/fesm2022/eui-eds-eds-file-upload.mjs +12 -12
- package/fesm2022/eui-eds-eds-growl.mjs +6 -6
- package/fesm2022/eui-eds-eds-icon-button.mjs +3 -3
- package/fesm2022/eui-eds-eds-icon-state.mjs +3 -3
- package/fesm2022/eui-eds-eds-icon-toggle.mjs +3 -3
- package/fesm2022/eui-eds-eds-icon.mjs +6 -6
- package/fesm2022/eui-eds-eds-input-button.mjs +3 -3
- package/fesm2022/eui-eds-eds-input-checkbox.mjs +3 -3
- package/fesm2022/eui-eds-eds-input-group.mjs +9 -9
- package/fesm2022/eui-eds-eds-input-icon.mjs +3 -3
- package/fesm2022/eui-eds-eds-input-number.mjs +3 -3
- package/fesm2022/eui-eds-eds-input-radio.mjs +3 -3
- package/fesm2022/eui-eds-eds-input-text.mjs +3 -3
- package/fesm2022/eui-eds-eds-label.mjs +3 -3
- package/fesm2022/eui-eds-eds-language-selector.mjs +6 -6
- package/fesm2022/eui-eds-eds-link.mjs +4 -4
- package/fesm2022/eui-eds-eds-link.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-list-items.mjs +6 -6
- package/fesm2022/eui-eds-eds-menu.mjs +6 -6
- package/fesm2022/eui-eds-eds-message-box.mjs +9 -9
- package/fesm2022/eui-eds-eds-multiselect.mjs +6 -6
- package/fesm2022/eui-eds-eds-navbar.mjs +6 -6
- package/fesm2022/eui-eds-eds-overlay.mjs +21 -21
- package/fesm2022/eui-eds-eds-page.mjs +51 -51
- package/fesm2022/eui-eds-eds-paginator.mjs +3 -3
- package/fesm2022/eui-eds-eds-popover.mjs +8 -7
- package/fesm2022/eui-eds-eds-popover.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-progress-bar.mjs +3 -3
- package/fesm2022/eui-eds-eds-progress-circle.mjs +3 -3
- package/fesm2022/eui-eds-eds-rating.mjs +3 -3
- package/fesm2022/eui-eds-eds-select.mjs +15 -15
- package/fesm2022/eui-eds-eds-shell.mjs +69 -69
- package/fesm2022/eui-eds-eds-skeleton.mjs +3 -3
- package/fesm2022/eui-eds-eds-slider.mjs +3 -3
- package/fesm2022/eui-eds-eds-snc.mjs +3 -3
- package/fesm2022/eui-eds-eds-split-button.mjs +3 -3
- package/fesm2022/eui-eds-eds-table.mjs +33 -33
- package/fesm2022/eui-eds-eds-tabs.mjs +39 -33
- package/fesm2022/eui-eds-eds-tabs.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-tag-group.mjs +3 -3
- package/fesm2022/eui-eds-eds-tag.mjs +3 -3
- package/fesm2022/eui-eds-eds-textarea.mjs +6 -6
- package/fesm2022/eui-eds-eds-timeline.mjs +6 -6
- package/fesm2022/eui-eds-eds-timepicker.mjs +3 -3
- package/fesm2022/eui-eds-eds-toggle-group.mjs +6 -6
- package/fesm2022/eui-eds-eds-toggle.mjs +3 -3
- package/fesm2022/eui-eds-eds-tooltip.mjs +6 -6
- package/fesm2022/eui-eds-eds-tree-list.mjs +21 -21
- package/fesm2022/eui-eds-eds-tree.mjs +9 -9
- package/fesm2022/eui-eds-eds-user-profile.mjs +9 -9
- package/fesm2022/eui-eds-eds-wizard.mjs +6 -6
- package/fesm2022/eui-eds-shared.mjs +27 -27
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-eds-eds-popover.mjs","sources":["../../eds-popover/eds-popover-position.ts","../../eds-popover/eds-popover-arrow-position.ts","../../eds-popover/eds-popover.ts","../../eds-popover/eds-popover.html","../../eds-popover/index.ts","../../eds-popover/eui-eds-eds-popover.ts"],"sourcesContent":["import { ConnectedOverlayPositionChange, ConnectionPositionPair } from '@angular/cdk/overlay';\n\n/**\n * Represents the four possible positions for a popover element.\n */\nexport type EdsPopoverPosition = 'top' | 'right' | 'bottom' | 'left';\n\n/**\n * Position configuration for a popover appearing above its origin element.\n */\nexport const TOP = new ConnectionPositionPair(\n { originX: 'center', originY: 'top' },\n { overlayX: 'center', overlayY: 'bottom' },\n 0, 0,\n ['eds-popover-position', 'eds-popover-position--top'],\n);\n\n/**\n * Position configuration for a popover appearing below its origin element.\n */\nexport const BOTTOM = new ConnectionPositionPair(\n { originX: 'center', originY: 'bottom' },\n { overlayX: 'center', overlayY: 'top' },\n 0, 0,\n ['eds-popover-position', 'eds-popover-position--bottom'],\n);\n\n/**\n * Position configuration for a popover appearing to the left of its origin element.\n */\nexport const LEFT = new ConnectionPositionPair(\n { originX: 'start', originY: 'center' },\n { overlayX: 'end', overlayY: 'center' },\n 0, 0,\n ['eds-popover-position', 'eds-popover-position--left'],\n);\n\n/**\n * Position configuration for a popover appearing to the right of its origin element.\n */\nexport const RIGHT = new ConnectionPositionPair(\n { originX: 'end', originY: 'center' },\n { overlayX: 'start', overlayY: 'center' },\n 0, 0,\n ['eds-popover-position', 'eds-popover-position--right'],\n);\n\n/**\n * Converts a ConnectedOverlayPositionChange to an EdsPopoverPosition string.\n */\nexport const getPosition = ({ connectionPair }: ConnectedOverlayPositionChange): EdsPopoverPosition => {\n switch (connectionPair) {\n case TOP:\n return 'top';\n case BOTTOM:\n return 'bottom';\n case LEFT:\n return 'left';\n case RIGHT:\n return 'right';\n }\n};\n","import { DOCUMENT } from '@angular/common';\nimport { Directive, ElementRef, input, OnDestroy, Renderer2, inject, effect } from '@angular/core';\nimport { Subject } from 'rxjs';\n\nimport { EdsPopoverPosition } from './eds-popover-position';\n\n/**\n * Directive that positions an arrow element for a popover relative to its origin element.\n * Calculates and applies the appropriate positioning style to ensure the arrow correctly\n * points to the origin element regardless of the popover's position.\n */\n@Directive({\n selector: '[edsPopoverArrowPosition]',\n})\nexport class EdsPopoverArrowPosition implements OnDestroy {\n /**\n * Tuple of [position, originRect] used to calculate arrow placement.\n */\n position = input.required<[EdsPopoverPosition, DOMRect]>({ alias: 'edsPopoverArrowPosition' });\n\n private destroy$ = new Subject<void>();\n private renderer = inject(Renderer2);\n private elementRef = inject(ElementRef);\n private document = inject<Document>(DOCUMENT);\n\n constructor() {\n effect(() => {\n const pos = this.position();\n if (pos) {\n const [position, originRect] = pos;\n this.renderer.setProperty(this.elementRef.nativeElement, 'style', this.getStyle(position, originRect));\n }\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private getStyle(position: EdsPopoverPosition, originRect: DOMRect): string {\n const arrowRect: DOMRect = this.elementRef.nativeElement.getBoundingClientRect();\n\n if (position === 'left' || position === 'right') {\n const verticalDiff: number =\n Math.floor(arrowRect.top + arrowRect.height / 2) - Math.floor(originRect.top + originRect.height / 2);\n\n if (verticalDiff > 0) {\n return `top: ${originRect.top + originRect.height / 2}px`;\n } else if (verticalDiff < 0) {\n return `bottom: ${\n this.document.body.clientHeight - originRect.bottom + originRect.height / 2 - arrowRect.height\n }px`;\n }\n }\n if (position === 'top' || position === 'bottom') {\n const horizontalDiff: number =\n Math.floor(arrowRect.left + arrowRect.width / 2) - Math.floor(originRect.left + originRect.width / 2);\n\n if (horizontalDiff > 0) {\n return `left: ${originRect.left + originRect.width / 2}px`;\n } else if (horizontalDiff < 0) {\n return `right: ${\n this.document.body.clientWidth - originRect.right + originRect.width / 2 - arrowRect.width\n }px`;\n }\n }\n return '';\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n input,\n viewChild,\n TemplateRef,\n ViewContainerRef,\n OnDestroy,\n output,\n ElementRef,\n booleanAttribute,\n inject,\n signal,\n computed,\n effect,\n} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n Overlay,\n OverlayRef,\n FlexibleConnectedPositionStrategyOrigin,\n ScrollDispatcher,\n CdkScrollable,\n FlexibleConnectedPositionStrategy,\n OverlayModule,\n} from '@angular/cdk/overlay';\nimport { A11yModule, CdkTrapFocus } from '@angular/cdk/a11y';\nimport { ObserversModule } from '@angular/cdk/observers';\nimport { Subject, Subscription } from 'rxjs';\nimport { distinctUntilChanged, map, switchMap, takeUntil } from 'rxjs/operators';\n\nimport { EdsSizeDirective } from '@eui/eds/shared';\nimport { EDS_ICON_BUTTON } from '@eui/eds/eds-icon-button';\n\nimport { EdsPopoverPosition, BOTTOM, LEFT, RIGHT, TOP, getPosition } from './eds-popover-position';\nimport { EdsPopoverArrowPosition } from './eds-popover-arrow-position';\n\n/**\n * @description\n * A flexible popover component that displays content in an overlay positioned relative to an origin element.\n *\n * The popover can be positioned at four positions (top, right, bottom, left) relative to the origin element,\n * with automatic fallback positions if the preferred position doesn't fit in the viewport.\n * It supports dismissal behaviors, size variants, and optional close button.\n *\n * @usageNotes\n * ### Basic usage\n * ```typescript\n * @ViewChild('popover') popover: EdsPopover;\n * @ViewChild('trigger') trigger: ElementRef;\n *\n * openPopover() {\n * this.popover.openPopover(this.trigger);\n * }\n * ```\n * ```html\n * <button #trigger (click)=\"openPopover()\">Open</button>\n * <eds-popover #popover title=\"Popover Title\">\n * <p>Popover content goes here</p>\n * </eds-popover>\n * ```\n *\n * ### Accessibility\n * - Escape key closes the popover when focused\n * - Focus trap keeps keyboard navigation within popover when open\n * - Close button provides clear dismissal option\n * - Outside click dismissal when `isDismissable` is true\n */\n@Component({\n selector: 'eds-popover',\n templateUrl: './eds-popover.html',\n styleUrl: './eds-popover.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n hostDirectives: [\n {\n directive: EdsSizeDirective,\n inputs: [\n 'edsSizeS',\n 'edsSizeM',\n 'edsSizeL',\n 'edsSizeXL',\n 'edsSize2XL',\n 'edsSizeAuto',\n 'edsSizeVariant',\n ],\n },\n ],\n imports: [\n NgTemplateOutlet,\n OverlayModule,\n A11yModule,\n ObserversModule,\n CdkTrapFocus,\n EdsPopoverArrowPosition,\n ...EDS_ICON_BUTTON,\n ],\n})\nexport class EdsPopover implements OnDestroy {\n /**\n * Optional title text to display in the popover header.\n */\n title = input<string>();\n\n /**\n * Preferred placement of the popover relative to its origin element.\n * Falls back to alternative positions if the preferred one doesn't fit.\n * @default 'bottom'\n */\n position = input<EdsPopoverPosition>('bottom');\n\n /**\n * Custom width for the popover (any valid CSS unit).\n * When null, width is determined by the size variant.\n * @default null\n */\n width = input<string>(null);\n\n /**\n * Whether to show a semi-transparent backdrop behind the popover.\n * @default false\n */\n hasBackDrop = input(false, { transform: booleanAttribute });\n\n /**\n * Whether to show a close button in the popover header.\n * @default true\n */\n hasCloseButton = input(true, { transform: booleanAttribute });\n\n /**\n * Whether the popover can be dismissed by clicking outside its boundaries.\n * @default true\n */\n isDismissable = input(true, { transform: booleanAttribute });\n\n /**\n * Whether to remove default content padding.\n * @default false\n */\n hasNoContentPadding = input(false, { transform: booleanAttribute });\n\n /** Emitted when a click occurs outside the popover boundaries. */\n outsideClick = output();\n\n /** Emitted when the popover is opened. */\n popoverOpen = output();\n\n /** Emitted when the popover is closed. */\n popoverClose = output();\n\n /** Current position and origin rect for the arrow directive. */\n public position$ = signal<[EdsPopoverPosition, DOMRect]>(null);\n\n templatePortalContent = viewChild.required<TemplateRef<unknown>>('templatePortalContent');\n\n private templatePortal: TemplatePortal;\n private overlayRef: OverlayRef;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private isOpen$ = signal(false);\n private scrollDispatcherSubscription = new Subscription();\n private origin: ElementRef;\n\n private preferredPositions = computed(() => {\n const pos = this.position();\n if (pos === 'top') return [TOP, BOTTOM, LEFT, RIGHT];\n if (pos === 'right') return [RIGHT, LEFT, TOP, BOTTOM];\n if (pos === 'left') return [LEFT, RIGHT, TOP, BOTTOM];\n return [BOTTOM, TOP, LEFT, RIGHT];\n });\n\n private positionStrategy: FlexibleConnectedPositionStrategy;\n private positionStrategyUpdate$ = new Subject<void>();\n private overlay = inject(Overlay);\n private viewContainerRef = inject(ViewContainerRef);\n private scrollDispatcher = inject(ScrollDispatcher);\n private sizeDirective = inject(EdsSizeDirective);\n\n constructor() {\n effect(() => {\n const template = this.templatePortalContent();\n if (template && !this.templatePortal) {\n this.templatePortal = new TemplatePortal(template, this.viewContainerRef);\n }\n });\n\n effect(() => {\n this.positionStrategyUpdate$.pipe(\n switchMap(() => this.positionStrategy.positionChanges),\n map(getPosition),\n distinctUntilChanged(),\n takeUntil(this.destroy$),\n ).subscribe((position) => {\n const rect = this.origin?.nativeElement ?\n this.origin.nativeElement.getBoundingClientRect() :\n (this.origin as unknown as HTMLElement)?.getBoundingClientRect();\n if (rect) {\n this.position$.set([position, rect]);\n }\n });\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n this.scrollDispatcherSubscription.unsubscribe();\n this.overlayRef?.dispose();\n this.overlayRef = null;\n }\n\n /**\n * Whether the popover is currently open.\n */\n get isOpen(): boolean {\n return this.isOpen$();\n }\n\n /**\n * Updates the position strategy when content changes.\n */\n public onContentChange(): void {\n this.positionStrategy = this.getPositionStrategy();\n this.positionStrategyUpdate$.next();\n this.overlayRef.updatePositionStrategy(this.positionStrategy);\n }\n\n /**\n * Opens the popover relative to the provided origin element.\n */\n public openPopover(origin: ElementRef): void {\n if (!this.isOpen) {\n this.scrollDispatcherSubscription = this.scrollDispatcher.ancestorScrolled(origin).subscribe((event: CdkScrollable) => {\n const scrollableParent = event ? event.getElementRef().nativeElement : document.querySelector('body');\n if (!this.isVisible(origin as unknown as HTMLElement, scrollableParent)) {\n this.closePopover();\n }\n });\n\n this.origin = origin;\n const positionStrategy = this.getPositionStrategy();\n const scrollStrategy = this.overlay.scrollStrategies.reposition({ scrollThrottle: 10 });\n\n this.overlayRef = this.overlay.create({\n positionStrategy,\n scrollStrategy,\n disposeOnNavigation: true,\n width: this.width(),\n panelClass: this.getPanelClasses(),\n hasBackdrop: this.hasBackDrop(),\n });\n this.overlayRef.attach(this.templatePortal);\n\n document.querySelectorAll('.cdk-overlay-container')?.forEach(el => {\n if (!el.classList.contains('eui-21')) {\n el.classList.add('eui-21');\n }\n });\n\n this.positionStrategy = positionStrategy;\n this.positionStrategyUpdate$.next();\n\n this.overlayRef\n .outsidePointerEvents()\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n if (this.isDismissable()) {\n this.outsideClick.emit();\n this.closePopover();\n }\n });\n\n this.isOpen$.set(true);\n this.popoverOpen.emit();\n }\n }\n\n /**\n * Closes the popover and cleans up resources.\n */\n public closePopover(): void {\n this.scrollDispatcherSubscription.unsubscribe();\n this.overlayRef?.dispose();\n this.overlayRef = null;\n this.isOpen$.set(false);\n this.popoverClose.emit();\n }\n\n /**\n * Handles Escape key to close the popover.\n */\n public onKeyDown(event: KeyboardEvent): void {\n if (event.key === 'Escape') {\n this.closePopover();\n }\n }\n\n private getPanelClasses(): string[] {\n const classes = ['eds-popover'];\n const sizeClass = this.sizeDirective.getCssClass('eds-popover');\n if (sizeClass) {\n classes.push(sizeClass);\n }\n if (this.width()) {\n classes.push('eds-popover--has-custom-width');\n }\n return classes;\n }\n\n private isVisible(origin: HTMLElement, scrollableParent: HTMLElement): boolean {\n const originY = origin.getBoundingClientRect().y;\n const scrollableParentY = Math.abs(scrollableParent.getBoundingClientRect().y);\n const scrollableParentHeight = scrollableParent.getBoundingClientRect().height - 50;\n\n return (\n (originY > 0 && originY < scrollableParentHeight) ||\n (originY - scrollableParentY > 0 && originY < scrollableParentY + scrollableParentHeight)\n );\n }\n\n private getPositionStrategy(): FlexibleConnectedPositionStrategy {\n return this.overlay\n .position()\n .flexibleConnectedTo(this.origin as FlexibleConnectedPositionStrategyOrigin)\n .withPositions(this.preferredPositions())\n .withFlexibleDimensions(false)\n .withLockedPosition(true);\n }\n}\n","<ng-template #templatePortalContent>\n <ng-container *ngTemplateOutlet=\"template\" />\n</ng-template>\n\n<ng-template #template>\n <div class=\"eds-popover__container\" [style.width]=\"width()\" cdkTrapFocus cdkTrapFocusAutoCapture role=\"dialog\" [attr.aria-labelledby]=\"title() ? 'eds-popover-title' : null\" [attr.aria-label]=\"!title() ? 'Popover' : null\" (keydown)=\"onKeyDown($event)\">\n <div class=\"eds-popover__arrow\" [edsPopoverArrowPosition]=\"position$()\">\n <div class=\"eds-popover__arrow-inner\"></div>\n </div>\n @if (title()) {\n <div class=\"eds-popover__header\">\n <div class=\"eds-popover__header-title\" id=\"eds-popover-title\">{{ title() }}</div>\n @if (hasCloseButton()) {\n <button\n edsIconButton\n edsSizeS\n edsNeutral\n icon=\"x:core\"\n ariaLabel=\"Close popover\"\n (buttonClick)=\"closePopover()\">\n </button>\n }\n </div>\n } @else if (hasCloseButton()) {\n <div class=\"eds-popover__header eds-popover__header--close-only\">\n <button\n edsIconButton\n edsSizeS\n edsNeutral\n icon=\"x:core\"\n ariaLabel=\"Close popover\"\n (buttonClick)=\"closePopover()\">\n </button>\n </div>\n }\n <div (cdkObserveContent)=\"onContentChange()\" class=\"eds-popover__content\" [class.eds-popover__content--no-padding]=\"hasNoContentPadding()\">\n <ng-content/>\n </div>\n </div>\n</ng-template>\n","import { EdsPopover } from './eds-popover';\nimport { EdsPopoverArrowPosition } from './eds-popover-arrow-position';\n\nexport { EdsPopover, EdsPopoverArrowPosition };\nexport * from './eds-popover-position';\n\n/** Convenience array for importing all eds-popover components. */\nexport const EDS_POPOVER = [\n EdsPopover,\n EdsPopoverArrowPosition,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eui-eds-eds-popover.mjs","sources":["../../eds-popover/eds-popover-position.ts","../../eds-popover/eds-popover-arrow-position.ts","../../eds-popover/eds-popover.ts","../../eds-popover/eds-popover.html","../../eds-popover/index.ts","../../eds-popover/eui-eds-eds-popover.ts"],"sourcesContent":["import { ConnectedOverlayPositionChange, ConnectionPositionPair } from '@angular/cdk/overlay';\n\n/**\n * Represents the four possible positions for a popover element.\n */\nexport type EdsPopoverPosition = 'top' | 'right' | 'bottom' | 'left';\n\n/**\n * Position configuration for a popover appearing above its origin element.\n */\nexport const TOP = new ConnectionPositionPair(\n { originX: 'center', originY: 'top' },\n { overlayX: 'center', overlayY: 'bottom' },\n 0, 0,\n ['eds-popover-position', 'eds-popover-position--top'],\n);\n\n/**\n * Position configuration for a popover appearing below its origin element.\n */\nexport const BOTTOM = new ConnectionPositionPair(\n { originX: 'center', originY: 'bottom' },\n { overlayX: 'center', overlayY: 'top' },\n 0, 0,\n ['eds-popover-position', 'eds-popover-position--bottom'],\n);\n\n/**\n * Position configuration for a popover appearing to the left of its origin element.\n */\nexport const LEFT = new ConnectionPositionPair(\n { originX: 'start', originY: 'center' },\n { overlayX: 'end', overlayY: 'center' },\n 0, 0,\n ['eds-popover-position', 'eds-popover-position--left'],\n);\n\n/**\n * Position configuration for a popover appearing to the right of its origin element.\n */\nexport const RIGHT = new ConnectionPositionPair(\n { originX: 'end', originY: 'center' },\n { overlayX: 'start', overlayY: 'center' },\n 0, 0,\n ['eds-popover-position', 'eds-popover-position--right'],\n);\n\n/**\n * Converts a ConnectedOverlayPositionChange to an EdsPopoverPosition string.\n */\nexport const getPosition = ({ connectionPair }: ConnectedOverlayPositionChange): EdsPopoverPosition => {\n switch (connectionPair) {\n case TOP:\n return 'top';\n case BOTTOM:\n return 'bottom';\n case LEFT:\n return 'left';\n case RIGHT:\n return 'right';\n }\n};\n","import { DOCUMENT } from '@angular/common';\nimport { Directive, ElementRef, input, OnDestroy, Renderer2, inject, effect } from '@angular/core';\nimport { Subject } from 'rxjs';\n\nimport { EdsPopoverPosition } from './eds-popover-position';\n\n/**\n * Directive that positions an arrow element for a popover relative to its origin element.\n * Calculates and applies the appropriate positioning style to ensure the arrow correctly\n * points to the origin element regardless of the popover's position.\n */\n@Directive({\n selector: '[edsPopoverArrowPosition]',\n})\nexport class EdsPopoverArrowPosition implements OnDestroy {\n /**\n * Tuple of [position, originRect] used to calculate arrow placement.\n */\n position = input.required<[EdsPopoverPosition, DOMRect]>({ alias: 'edsPopoverArrowPosition' });\n\n private destroy$ = new Subject<void>();\n private renderer = inject(Renderer2);\n private elementRef = inject(ElementRef);\n private document = inject<Document>(DOCUMENT);\n\n constructor() {\n effect(() => {\n const pos = this.position();\n if (pos) {\n const [position, originRect] = pos;\n this.renderer.setProperty(this.elementRef.nativeElement, 'style', this.getStyle(position, originRect));\n }\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private getStyle(position: EdsPopoverPosition, originRect: DOMRect): string {\n const arrowRect: DOMRect = this.elementRef.nativeElement.getBoundingClientRect();\n\n if (position === 'left' || position === 'right') {\n const verticalDiff: number =\n Math.floor(arrowRect.top + arrowRect.height / 2) - Math.floor(originRect.top + originRect.height / 2);\n\n if (verticalDiff > 0) {\n return `top: ${originRect.top + originRect.height / 2}px`;\n } else if (verticalDiff < 0) {\n return `bottom: ${\n this.document.body.clientHeight - originRect.bottom + originRect.height / 2 - arrowRect.height\n }px`;\n }\n }\n if (position === 'top' || position === 'bottom') {\n const horizontalDiff: number =\n Math.floor(arrowRect.left + arrowRect.width / 2) - Math.floor(originRect.left + originRect.width / 2);\n\n if (horizontalDiff > 0) {\n return `left: ${originRect.left + originRect.width / 2}px`;\n } else if (horizontalDiff < 0) {\n return `right: ${\n this.document.body.clientWidth - originRect.right + originRect.width / 2 - arrowRect.width\n }px`;\n }\n }\n return '';\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n input,\n viewChild,\n TemplateRef,\n ViewContainerRef,\n OnDestroy,\n output,\n ElementRef,\n booleanAttribute,\n inject,\n signal,\n computed,\n effect,\n} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n Overlay,\n OverlayRef,\n FlexibleConnectedPositionStrategyOrigin,\n ScrollDispatcher,\n CdkScrollable,\n FlexibleConnectedPositionStrategy,\n OverlayModule,\n} from '@angular/cdk/overlay';\nimport { A11yModule, CdkTrapFocus } from '@angular/cdk/a11y';\nimport { ObserversModule } from '@angular/cdk/observers';\nimport { Subject, Subscription } from 'rxjs';\nimport { distinctUntilChanged, map, switchMap, takeUntil } from 'rxjs/operators';\n\nimport { EdsSizeDirective } from '@eui/eds/shared';\nimport { EDS_ICON_BUTTON } from '@eui/eds/eds-icon-button';\n\nimport { EdsPopoverPosition, BOTTOM, LEFT, RIGHT, TOP, getPosition } from './eds-popover-position';\nimport { EdsPopoverArrowPosition } from './eds-popover-arrow-position';\n\n/**\n * @description\n * A flexible popover component that displays content in an overlay positioned relative to an origin element.\n *\n * The popover can be positioned at four positions (top, right, bottom, left) relative to the origin element,\n * with automatic fallback positions if the preferred position doesn't fit in the viewport.\n * It supports dismissal behaviors, size variants, and optional close button.\n *\n * @usageNotes\n * ### Basic usage\n * ```typescript\n * @ViewChild('popover') popover: EdsPopover;\n * @ViewChild('trigger') trigger: ElementRef;\n *\n * openPopover() {\n * this.popover.openPopover(this.trigger);\n * }\n * ```\n * ```html\n * <button #trigger (click)=\"openPopover()\">Open</button>\n * <eds-popover #popover title=\"Popover Title\">\n * <p>Popover content goes here</p>\n * </eds-popover>\n * ```\n *\n * ### Accessibility\n * - Escape key closes the popover when focused\n * - Focus trap keeps keyboard navigation within popover when open\n * - Close button provides clear dismissal option\n * - Outside click dismissal when `isDismissable` is true\n */\n@Component({\n selector: 'eds-popover',\n templateUrl: './eds-popover.html',\n styleUrl: './eds-popover.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n hostDirectives: [\n {\n directive: EdsSizeDirective,\n inputs: [\n 'edsSizeS',\n 'edsSizeM',\n 'edsSizeL',\n 'edsSizeXL',\n 'edsSize2XL',\n 'edsSizeAuto',\n 'edsSizeVariant',\n ],\n },\n ],\n imports: [\n NgTemplateOutlet,\n OverlayModule,\n A11yModule,\n ObserversModule,\n CdkTrapFocus,\n EdsPopoverArrowPosition,\n ...EDS_ICON_BUTTON,\n ],\n})\nexport class EdsPopover implements OnDestroy {\n /**\n * Optional title text to display in the popover header.\n */\n title = input<string>();\n\n /**\n * Preferred placement of the popover relative to its origin element.\n * Falls back to alternative positions if the preferred one doesn't fit.\n * @default 'bottom'\n */\n position = input<EdsPopoverPosition>('bottom');\n\n /**\n * Custom width for the popover (any valid CSS unit).\n * When null, width is determined by the size variant.\n * @default null\n */\n width = input<string>(null);\n\n /**\n * Whether to show a semi-transparent backdrop behind the popover.\n * @default false\n */\n hasBackDrop = input(false, { transform: booleanAttribute });\n\n /**\n * Whether to show a close button in the popover header.\n * @default true\n */\n hasCloseButton = input(true, { transform: booleanAttribute });\n\n /**\n * Whether the popover can be dismissed by clicking outside its boundaries.\n * @default true\n */\n isDismissable = input(true, { transform: booleanAttribute });\n\n /**\n * Whether to remove default content padding.\n * @default false\n */\n hasNoContentPadding = input(false, { transform: booleanAttribute });\n\n /** Emitted when a click occurs outside the popover boundaries. */\n outsideClick = output();\n\n /** Emitted when the popover is opened. */\n popoverOpen = output();\n\n /** Emitted when the popover is closed. */\n popoverClose = output();\n\n /** Current position and origin rect for the arrow directive. */\n public position$ = signal<[EdsPopoverPosition, DOMRect]>(null);\n\n templatePortalContent = viewChild.required<TemplateRef<unknown>>('templatePortalContent');\n\n private templatePortal: TemplatePortal;\n private overlayRef: OverlayRef;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private isOpen$ = signal(false);\n private scrollDispatcherSubscription = new Subscription();\n private origin: ElementRef;\n\n private preferredPositions = computed(() => {\n const pos = this.position();\n if (pos === 'top') return [TOP, BOTTOM, LEFT, RIGHT];\n if (pos === 'right') return [RIGHT, LEFT, TOP, BOTTOM];\n if (pos === 'left') return [LEFT, RIGHT, TOP, BOTTOM];\n return [BOTTOM, TOP, LEFT, RIGHT];\n });\n\n private positionStrategy: FlexibleConnectedPositionStrategy;\n private positionStrategyUpdate$ = new Subject<void>();\n private overlay = inject(Overlay);\n private viewContainerRef = inject(ViewContainerRef);\n private scrollDispatcher = inject(ScrollDispatcher);\n private sizeDirective = inject(EdsSizeDirective);\n\n constructor() {\n effect(() => {\n const template = this.templatePortalContent();\n if (template && !this.templatePortal) {\n this.templatePortal = new TemplatePortal(template, this.viewContainerRef);\n }\n });\n\n effect(() => {\n this.positionStrategyUpdate$.pipe(\n switchMap(() => this.positionStrategy.positionChanges),\n map(getPosition),\n distinctUntilChanged(),\n takeUntil(this.destroy$),\n ).subscribe((position) => {\n const rect = this.origin?.nativeElement ?\n this.origin.nativeElement.getBoundingClientRect() :\n (this.origin as unknown as HTMLElement)?.getBoundingClientRect();\n if (rect) {\n this.position$.set([position, rect]);\n }\n });\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n this.scrollDispatcherSubscription.unsubscribe();\n this.overlayRef?.dispose();\n this.overlayRef = null;\n }\n\n /**\n * Whether the popover is currently open.\n */\n get isOpen(): boolean {\n return this.isOpen$();\n }\n\n /**\n * Updates the position strategy when content changes.\n */\n public onContentChange(): void {\n this.positionStrategy = this.getPositionStrategy();\n this.positionStrategyUpdate$.next();\n this.overlayRef.updatePositionStrategy(this.positionStrategy);\n }\n\n /**\n * Opens the popover relative to the provided origin element.\n */\n public openPopover(origin: ElementRef): void {\n if (!this.isOpen) {\n this.scrollDispatcherSubscription = this.scrollDispatcher.ancestorScrolled(origin).subscribe((event: CdkScrollable) => {\n const scrollableParent = event ? event.getElementRef().nativeElement : document.querySelector('body');\n if (!this.isVisible(origin as unknown as HTMLElement, scrollableParent)) {\n this.closePopover();\n }\n });\n\n this.origin = origin;\n const positionStrategy = this.getPositionStrategy();\n const scrollStrategy = this.overlay.scrollStrategies.reposition({ scrollThrottle: 10 });\n\n this.overlayRef = this.overlay.create({\n positionStrategy,\n scrollStrategy,\n disposeOnNavigation: true,\n width: this.width(),\n panelClass: this.getPanelClasses(),\n hasBackdrop: this.hasBackDrop(),\n });\n this.overlayRef.attach(this.templatePortal);\n\n document.querySelectorAll('.cdk-overlay-container')?.forEach(el => {\n if (!el.classList.contains('eui-21')) {\n el.classList.add('eui-21');\n }\n });\n\n this.positionStrategy = positionStrategy;\n this.positionStrategyUpdate$.next();\n\n this.overlayRef\n .outsidePointerEvents()\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n if (this.isDismissable()) {\n this.outsideClick.emit();\n this.closePopover();\n }\n });\n\n this.isOpen$.set(true);\n this.popoverOpen.emit();\n }\n }\n\n /**\n * Closes the popover and cleans up resources.\n */\n public closePopover(): void {\n this.scrollDispatcherSubscription.unsubscribe();\n this.overlayRef?.dispose();\n this.overlayRef = null;\n this.isOpen$.set(false);\n this.popoverClose.emit();\n }\n\n /**\n * Handles Escape key to close the popover.\n */\n public onKeyDown(event: KeyboardEvent): void {\n if (event.key === 'Escape') {\n this.closePopover();\n }\n }\n\n private getPanelClasses(): string[] {\n const classes = ['eds-popover'];\n const sizeClass = this.sizeDirective.getCssClass('eds-popover');\n if (sizeClass) {\n classes.push(sizeClass);\n }\n if (this.width()) {\n classes.push('eds-popover--has-custom-width');\n }\n return classes;\n }\n\n private isVisible(origin: HTMLElement, scrollableParent: HTMLElement): boolean {\n const originY = origin.getBoundingClientRect().y;\n const scrollableParentY = Math.abs(scrollableParent.getBoundingClientRect().y);\n const scrollableParentHeight = scrollableParent.getBoundingClientRect().height - 50;\n\n return (\n (originY > 0 && originY < scrollableParentHeight) ||\n (originY - scrollableParentY > 0 && originY < scrollableParentY + scrollableParentHeight)\n );\n }\n\n private getPositionStrategy(): FlexibleConnectedPositionStrategy {\n return this.overlay\n .position()\n .flexibleConnectedTo(this.origin as FlexibleConnectedPositionStrategyOrigin)\n .withPositions(this.preferredPositions())\n .withFlexibleDimensions(false)\n .withLockedPosition(true);\n }\n}\n","<ng-template #templatePortalContent>\n <ng-container *ngTemplateOutlet=\"template\" />\n</ng-template>\n\n<ng-template #template>\n <div class=\"eds-popover__container\" [style.width]=\"width()\" cdkTrapFocus cdkTrapFocusAutoCapture role=\"dialog\" [attr.aria-labelledby]=\"title() ? 'eds-popover-title' : null\" [attr.aria-label]=\"!title() ? 'Popover' : null\" (keydown)=\"onKeyDown($event)\">\n <div class=\"eds-popover__arrow\" [edsPopoverArrowPosition]=\"position$()\">\n <div class=\"eds-popover__arrow-inner\"></div>\n </div>\n @if (title()) {\n <div class=\"eds-popover__header\">\n <div class=\"eds-popover__header-title\" id=\"eds-popover-title\">{{ title() }}</div>\n @if (hasCloseButton()) {\n <button\n edsIconButton\n edsSizeS\n edsNeutral\n icon=\"x:core\"\n ariaLabel=\"Close popover\"\n (buttonClick)=\"closePopover()\">\n </button>\n }\n </div>\n } @else if (hasCloseButton()) {\n <div class=\"eds-popover__header eds-popover__header--close-only\">\n <button\n edsIconButton\n edsSizeS\n edsNeutral\n icon=\"x:core\"\n ariaLabel=\"Close popover\"\n (buttonClick)=\"closePopover()\">\n </button>\n </div>\n }\n <div (cdkObserveContent)=\"onContentChange()\" class=\"eds-popover__content\" [class.eds-popover__content--no-padding]=\"hasNoContentPadding()\">\n <ng-content/>\n </div>\n </div>\n</ng-template>\n","import { EdsPopover } from './eds-popover';\nimport { EdsPopoverArrowPosition } from './eds-popover-arrow-position';\n\nexport { EdsPopover, EdsPopoverArrowPosition };\nexport * from './eds-popover-position';\n\n/** Convenience array for importing all eds-popover components. */\nexport const EDS_POPOVER = [\n EdsPopover,\n EdsPopoverArrowPosition,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -61,10 +61,10 @@ class EdsProgressBar {
|
|
|
61
61
|
}, /* @ts-ignore */
|
|
62
62
|
...(ngDevMode ? [{ debugName: "hostClasses" }] : /* istanbul ignore next */ []));
|
|
63
63
|
}
|
|
64
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
65
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.
|
|
64
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EdsProgressBar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
65
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: EdsProgressBar, isStandalone: true, selector: "eds-progress-bar", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, valueText: { classPropertyName: "valueText", publicName: "valueText", isSignal: true, isRequired: false, transformFunction: null }, progress: { classPropertyName: "progress", publicName: "progress", isSignal: true, isRequired: false, transformFunction: null }, isIndeterminate: { classPropertyName: "isIndeterminate", publicName: "isIndeterminate", isSignal: true, isRequired: false, transformFunction: null }, hasStatusIcon: { classPropertyName: "hasStatusIcon", publicName: "hasStatusIcon", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "progressbar" }, properties: { "class": "hostClasses()", "attr.data-e2e": "\"eds-progress-bar\"", "attr.aria-valuenow": "!isIndeterminate() ? progress() : null", "attr.aria-valuemin": "\"0\"", "attr.aria-valuemax": "\"100\"", "attr.aria-label": "label() || null", "attr.aria-valuetext": "valueText() || null" } }, hostDirectives: [{ directive: i1.EdsSizeDirective, inputs: ["edsSizeXS", "edsSizeXS", "edsSizeS", "edsSizeS", "edsSizeM", "edsSizeM", "edsSizeL", "edsSizeL", "edsSizeVariant", "edsSizeVariant"] }, { directive: i1.EdsColorDirective, inputs: ["edsSuccess", "edsSuccess", "edsInfo", "edsInfo", "edsWarning", "edsWarning", "edsCritical", "edsCritical", "edsColorVariant", "edsColorVariant"] }], ngImport: i0, template: "@if (label() || hasStatusIcon()) {\n <div class=\"eds-progress-bar__header\">\n @if (label()) {\n <span class=\"eds-progress-bar__header-label\">{{ label() }}</span>\n }\n @if (hasStatusIcon()) {\n <span class=\"eds-progress-bar__header-status\">\n <eds-icon-state [edsColorVariant]=\"colorDirective.resolvedColor()\" edsSizeS/>\n </span>\n }\n </div>\n}\n<div class=\"eds-progress-bar__track\">\n <div class=\"eds-progress-bar__indicator\" [style.width]=\"!isIndeterminate() ? progress() + '%' : null\"></div>\n</div>\n", styles: ["@keyframes eds-spin{0%{transform:translateY(-50%) rotate(0)}to{transform:translateY(-50%) rotate(360deg)}}.eui-21 :host{display:flex;flex-direction:column;align-items:stretch;position:relative;width:100%}.eui-21 :host .eds-progress-bar__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--eds-sp-xs)}.eui-21 :host .eds-progress-bar__header-label{font:var(--eds-f-label-s-semi-bold);color:var(--eds-c-foreground)}.eui-21 :host .eds-progress-bar__header-status{display:flex;align-items:center}.eui-21 :host .eds-progress-bar__track{background-color:var(--eds-c-surface-elevation-sunken);border-radius:var(--eds-br-xs);height:var(--eds-sp-2xs);position:relative;overflow:hidden;width:100%}.eui-21 :host .eds-progress-bar__indicator{background-color:var(--eds-c-surface-primary);border-radius:var(--eds-br-xs);height:100%;transition:width .25s ease}.eui-21 :host.eds-progress-bar--size-xs .eds-progress-bar__track{height:var(--eds-sp-3xs)}.eui-21 :host.eds-progress-bar--size-s .eds-progress-bar__track{height:var(--eds-sp-2xs)}.eui-21 :host.eds-progress-bar--size-m .eds-progress-bar__track{height:var(--eds-sp-xs)}.eui-21 :host.eds-progress-bar--size-l .eds-progress-bar__track{height:var(--eds-sp-s)}.eui-21 :host.eds-progress-bar--success .eds-progress-bar__indicator{background-color:var(--eds-c-surface-success)}.eui-21 :host.eds-progress-bar--info .eds-progress-bar__indicator{background-color:var(--eds-c-surface-info)}.eui-21 :host.eds-progress-bar--warning .eds-progress-bar__indicator{background-color:var(--eds-c-surface-warning)}.eui-21 :host.eds-progress-bar--critical .eds-progress-bar__indicator{background-color:var(--eds-c-surface-critical)}.eui-21 :host.eds-progress-bar--indeterminate .eds-progress-bar__indicator{width:100%!important;background-color:transparent;background-image:linear-gradient(to right,transparent 0%,var(--eds-c-surface-primary) 30%,var(--eds-c-surface-primary) 60%,transparent 100%);background-size:40% 100%;background-repeat:no-repeat;animation:eds-progress-indeterminate 1.5s infinite ease-in-out}.eui-21 :host.eds-progress-bar--indeterminate.eds-progress-bar--success .eds-progress-bar__indicator{background-image:linear-gradient(to right,transparent 0%,var(--eds-c-surface-success) 30%,var(--eds-c-surface-success) 60%,transparent 100%)}.eui-21 :host.eds-progress-bar--indeterminate.eds-progress-bar--info .eds-progress-bar__indicator{background-image:linear-gradient(to right,transparent 0%,var(--eds-c-surface-info) 30%,var(--eds-c-surface-info) 60%,transparent 100%)}.eui-21 :host.eds-progress-bar--indeterminate.eds-progress-bar--warning .eds-progress-bar__indicator{background-image:linear-gradient(to right,transparent 0%,var(--eds-c-surface-warning) 30%,var(--eds-c-surface-warning) 60%,transparent 100%)}.eui-21 :host.eds-progress-bar--indeterminate.eds-progress-bar--critical .eds-progress-bar__indicator{background-image:linear-gradient(to right,transparent 0%,var(--eds-c-surface-critical) 30%,var(--eds-c-surface-critical) 60%,transparent 100%)}@keyframes eds-progress-indeterminate{0%{background-position:-40% 0}to{background-position:140% 0}}\n"], dependencies: [{ kind: "component", type: i2.EdsIconState, selector: "eds-icon-state", inputs: ["ariaLabel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
66
66
|
}
|
|
67
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EdsProgressBar, decorators: [{
|
|
68
68
|
type: Component,
|
|
69
69
|
args: [{ selector: 'eds-progress-bar', changeDetection: ChangeDetectionStrategy.OnPush, imports: [...EDS_ICON_STATE], hostDirectives: [
|
|
70
70
|
{
|
|
@@ -171,10 +171,10 @@ class EdsProgressCircle {
|
|
|
171
171
|
}, /* @ts-ignore */
|
|
172
172
|
...(ngDevMode ? [{ debugName: "hostClasses" }] : /* istanbul ignore next */ []));
|
|
173
173
|
}
|
|
174
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
175
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.
|
|
174
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EdsProgressCircle, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
175
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: EdsProgressCircle, isStandalone: true, selector: "eds-progress-circle", inputs: { e2eAttr: { classPropertyName: "e2eAttr", publicName: "e2eAttr", isSignal: true, isRequired: false, transformFunction: null }, role: { classPropertyName: "role", publicName: "role", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, valueLabel: { classPropertyName: "valueLabel", publicName: "valueLabel", isSignal: true, isRequired: false, transformFunction: null }, emptyLabel: { classPropertyName: "emptyLabel", publicName: "emptyLabel", isSignal: true, isRequired: false, transformFunction: null }, showValue: { classPropertyName: "showValue", publicName: "showValue", isSignal: true, isRequired: false, transformFunction: null }, useColorSteps: { classPropertyName: "useColorSteps", publicName: "useColorSteps", isSignal: true, isRequired: false, transformFunction: null }, colorSteps: { classPropertyName: "colorSteps", publicName: "colorSteps", isSignal: true, isRequired: false, transformFunction: null }, strokeWidth: { classPropertyName: "strokeWidth", publicName: "strokeWidth", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "aria-valuemin": "0", "aria-valuemax": "100" }, properties: { "class": "hostClasses()", "attr.data-e2e": "e2eAttr()", "attr.role": "role()", "attr.aria-valuenow": "value()", "attr.aria-valuetext": "ariaValueText()", "attr.aria-label": "ariaLabel()" } }, hostDirectives: [{ directive: i1.EdsColorDirective, inputs: ["edsInfo", "edsInfo", "edsSuccess", "edsSuccess", "edsWarning", "edsWarning", "edsCritical", "edsCritical", "edsColorVariant", "edsColorVariant"] }, { directive: i1.EdsSizeDirective, inputs: ["edsSizeS", "edsSizeS", "edsSizeM", "edsSizeM", "edsSizeL", "edsSizeL", "edsSizeVariant", "edsSizeVariant"] }], ngImport: i0, template: "<svg viewBox=\"0 0 100 100\" class=\"eds-progress-circle__svg\">\n <!-- Background track circle -->\n <circle\n class=\"eds-progress-circle__track\"\n [attr.cx]=\"50\"\n [attr.cy]=\"50\"\n [attr.r]=\"radius()\"\n [attr.stroke-width]=\"strokeWidth()\"\n fill=\"none\"\n />\n <!-- Progress arc -->\n @if (value() > 0) {\n <circle\n class=\"eds-progress-circle__progress\"\n [attr.cx]=\"50\"\n [attr.cy]=\"50\"\n [attr.r]=\"radius()\"\n [attr.stroke-width]=\"strokeWidth()\"\n [attr.stroke-dasharray]=\"circumference()\"\n [attr.stroke-dashoffset]=\"dashOffset()\"\n fill=\"none\"\n stroke-linecap=\"round\"\n />\n }\n</svg>\n@if (showValue()) {\n <span class=\"eds-progress-circle__label\">{{ displayLabel() }}</span>\n}\n", styles: ["@keyframes eds-spin{0%{transform:translateY(-50%) rotate(0)}to{transform:translateY(-50%) rotate(360deg)}}.eui-21 :host.eds-progress-circle{display:inline-flex;align-items:center;justify-content:center;position:relative;width:6rem;height:6rem;--_track-color: var(--eds-c-surface-neutral-subtler);--_progress-color: var(--eds-c-border-info);--_label-color: var(--eds-c-foreground-default)}.eui-21 :host.eds-progress-circle.eds-progress-circle--info{--_progress-color: var(--eds-c-border-info)}.eui-21 :host.eds-progress-circle.eds-progress-circle--success{--_progress-color: var(--eds-c-border-success)}.eui-21 :host.eds-progress-circle.eds-progress-circle--warning{--_progress-color: var(--eds-c-border-warning)}.eui-21 :host.eds-progress-circle.eds-progress-circle--critical{--_progress-color: var(--eds-c-border-critical)}.eui-21 :host.eds-progress-circle.eds-progress-circle--size-s{width:4rem;height:4rem}.eui-21 :host.eds-progress-circle.eds-progress-circle--size-s .eds-progress-circle__label{font:var(--eds-f-label-xs)}.eui-21 :host.eds-progress-circle.eds-progress-circle--size-m{width:6rem;height:6rem}.eui-21 :host.eds-progress-circle.eds-progress-circle--size-m .eds-progress-circle__label{font:var(--eds-f-label-m-semi-bold)}.eui-21 :host.eds-progress-circle.eds-progress-circle--size-l{width:9rem;height:9rem}.eui-21 :host.eds-progress-circle.eds-progress-circle--size-l .eds-progress-circle__label{font:var(--eds-f-label-l-semi-bold)}.eui-21 :host.eds-progress-circle .eds-progress-circle__svg{width:100%;height:100%;transform:rotate(-90deg)}.eui-21 :host.eds-progress-circle .eds-progress-circle__track{stroke:var(--_track-color)}.eui-21 :host.eds-progress-circle .eds-progress-circle__progress{stroke:var(--_progress-color);transition:stroke-dashoffset .3s ease}.eui-21 :host.eds-progress-circle .eds-progress-circle__label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font:var(--eds-f-label-m-semi-bold);color:var(--_label-color);white-space:nowrap;-webkit-user-select:none;user-select:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
176
176
|
}
|
|
177
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
177
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EdsProgressCircle, decorators: [{
|
|
178
178
|
type: Component,
|
|
179
179
|
args: [{ selector: 'eds-progress-circle', changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [
|
|
180
180
|
{
|
|
@@ -172,8 +172,8 @@ class EdsRating {
|
|
|
172
172
|
buttons[arrayIndex].nativeElement.focus();
|
|
173
173
|
}
|
|
174
174
|
}
|
|
175
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
176
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.
|
|
175
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EdsRating, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
176
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: EdsRating, isStandalone: true, selector: "eds-rating", inputs: { e2eAttr: { classPropertyName: "e2eAttr", publicName: "e2eAttr", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, numberOfStars: { classPropertyName: "numberOfStars", publicName: "numberOfStars", isSignal: true, isRequired: false, transformFunction: null }, rating: { classPropertyName: "rating", publicName: "rating", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ratingChange: "ratingChange" }, host: { attributes: { "role": "radiogroup" }, properties: { "class": "hostClasses()", "attr.data-e2e": "e2eAttr()", "attr.aria-label": "ariaLabel()" } }, providers: [
|
|
177
177
|
{
|
|
178
178
|
provide: NG_VALUE_ACCESSOR,
|
|
179
179
|
useExisting: forwardRef(() => EdsRating),
|
|
@@ -181,7 +181,7 @@ class EdsRating {
|
|
|
181
181
|
},
|
|
182
182
|
], viewQueries: [{ propertyName: "starButtons", predicate: ["starButton"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: "@for (star of stars(); track star.index) {\n <button\n #starButton\n type=\"button\"\n class=\"eds-rating__star\"\n [class.eds-rating__star--filled]=\"star.filled\"\n [disabled]=\"internalDisabled()\"\n [attr.tabindex]=\"getTabIndex(star.index)\"\n [attr.role]=\"'radio'\"\n [attr.aria-checked]=\"star.index === internalRating()\"\n [attr.aria-label]=\"'Star ' + star.index + ' of ' + numberOfStars()\"\n (click)=\"onStarClick(star.index)\"\n (keydown)=\"onKeydown($event, star.index)\"\n (blur)=\"onBlur()\">\n @if (star.filled) {\n <eds-icon icon=\"star:fill\" edsSizeS/>\n } @else {\n <eds-icon icon=\"star:core\" edsSizeS/>\n }\n </button>\n}\n", styles: ["@keyframes eds-spin{0%{transform:translateY(-50%) rotate(0)}to{transform:translateY(-50%) rotate(360deg)}}.eui-21 :host.eds-rating{display:inline-flex;align-items:center}.eui-21 :host.eds-rating .eds-rating__star{display:inline-flex;align-items:center;justify-content:center;padding:var(--eds-sp-3xs);border:none;background:transparent;cursor:pointer;border-radius:var(--eds-br-s);color:var(--eds-c-foreground-subtler);transition:color .15s ease-in-out,transform .15s ease-in-out}.eui-21 :host.eds-rating .eds-rating__star:focus-visible:focus-visible:not([readonly]){outline:var(--eds-bw-s) solid var(--eds-c-border-primary)!important;outline-offset:1px!important;border-radius:var(--eds-br-full)!important}.eui-21 :host.eds-rating .eds-rating__star:hover:not(:disabled){transform:scale(1.15)}.eui-21 :host.eds-rating .eds-rating__star--filled{color:var(--eds-c-foreground-primary)}.eui-21 :host.eds-rating .eds-rating__star:disabled{cursor:not-allowed}.eui-21 :host.eds-rating--disabled{opacity:.4}\n"], dependencies: [{ kind: "component", type: i1.EdsIcon, selector: "eds-icon, span[edsIcon]", inputs: ["icon", "set", "ariaLabel", "ariaHidden", "edsRounded"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
183
183
|
}
|
|
184
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
184
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EdsRating, decorators: [{
|
|
185
185
|
type: Component,
|
|
186
186
|
args: [{ selector: 'eds-rating', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
187
187
|
...EDS_ICON,
|
|
@@ -201,12 +201,12 @@ class EdsSelect {
|
|
|
201
201
|
this._renderer.removeAttribute(placeholderOption, 'selected');
|
|
202
202
|
}
|
|
203
203
|
}
|
|
204
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
205
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.
|
|
204
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EdsSelect, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
205
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.2", type: EdsSelect, isStandalone: true, selector: "select[edsSelect]", inputs: { e2eAttr: { classPropertyName: "e2eAttr", publicName: "e2eAttr", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, isInvalid: { classPropertyName: "isInvalid", publicName: "isInvalid", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "change": "onHostChange($event)" }, properties: { "class": "hostClasses()", "attr.data-e2e": "e2eAttr()" } }, providers: [
|
|
206
206
|
{ provide: EDS_SELECT_COMPONENT, useExisting: EdsSelect },
|
|
207
207
|
], usesOnChanges: true, ngImport: i0, template: '<ng-content/>', isInline: true, styles: ["@keyframes eds-spin{0%{transform:translateY(-50%) rotate(0)}to{transform:translateY(-50%) rotate(360deg)}}.eui-21 :host.eds-select{font:var(--eds-f-paragraph-m);appearance:none;background-color:var(--eds-c-surface-elevation);border:var(--eds-bw-xs) solid var(--eds-c-border-neutral);border-radius:var(--eds-br-s);box-shadow:none;color:var(--eds-c-foreground-default);min-height:var(--eds-si-3xl);padding:var(--eds-sp-xs) var(--eds-sp-s);width:100%}.eui-21 :host.eds-select:focus-visible:not([readonly]){outline:2px solid var(--eds-c-border-primary)!important;outline-offset:-2px!important;transition:none}.eui-21 :host.eds-select:not([hidden]){display:block}.eui-21 :host.eds-select::placeholder{color:var(--eds-c-foreground-subtler);opacity:1}.eui-21 :host.eds-select[readonly]{background-color:transparent;border-color:transparent;box-shadow:none;padding-left:0;padding-right:0;pointer-events:none}.eui-21 :host.eds-select:disabled:not([readonly]),.eui-21 :host.eds-select--disabled:not([readonly]){background-color:var(--eds-c-suface-disabled);border-color:var(--eds-c-border-disabled);color:var(--eds-c-foreground-subtler);pointer-events:none}.eui-21 :host.eds-select--invalid{border-color:var(--eds-c-border-critical)}.eui-21 :host.eds-select--loading{padding-right:var(--eds-sp-7xl)}.eui-21 :host.eds-select--loading-icon{align-items:center;display:flex}.eui-21 :host.eds-select--loading-icon:after,.eui-21 :host.eds-select--loading-icon:before{content:\"\";height:var(--eds-sp-l);position:absolute;right:var(--eds-sp-s);width:var(--eds-sp-l)}.eui-21 :host.eds-select--loading-icon:before{border:var(--eds-sp-3xs) solid rgba(0,0,0,.35);border-radius:100%}.eui-21 :host.eds-select--loading-icon:after{animation:loading .6s linear;animation-iteration-count:infinite;border-color:var(--eui-c-white) transparent transparent;border-radius:100%;border-style:solid;border-width:var(--eds-sp-3xs);box-shadow:0 0 0 1px transparent}.eui-21 :host.eds-select--loading-icon--sm:after,.eui-21 :host.eds-select--loading-icon--sm:before{height:var(--eds-sp-m);width:var(--eds-sp-m)}@keyframes loading{to{transform:rotate(360deg)}}.eui-21 :host.eds-select{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--eds-c-foreground-default);overflow-y:auto}.eui-21 :host.eds-select[hidden],.eui-21 :host.eds-select--readonly{display:none}.eui-21 :host.eds-select[readonly][multiple=true] option:checked{background:none}.eui-21 :host.eds-select[readonly][multiple=true] :not(option:checked){display:none}.eui-21 :host.eds-select[multiple=true],.eui-21 :host.eds-select[size]:not([size=\"1\"]):not([size=\"0\"]){background-image:none;height:auto;overflow:auto;padding:var(--eds-sp-3xs) 0}.eui-21 :host.eds-select--placeholder{color:var(--eds-c-foreground-subtler)}.eui-21 :host.eds-select optgroup{font:var(--eds-f-label-m-semi-bold)}.eui-21 :host.eds-select optgroup,.eui-21 :host.eds-select option{appearance:none;color:var(--eds-c-foreground-default);display:block;padding:var(--eds-sp-3xs);white-space:pre}.eui-21 :host.eds-select optgroup:disabled,.eui-21 :host.eds-select option:disabled{color:var(--eds-c-foreground-subtler)}.eui-21 :host.eds-select optgroup.eds-select__placeholder,.eui-21 :host.eds-select option.eds-select__placeholder{color:var(--eds-c-foreground-subtler)!important}.eui-21 :host.eds-select:not([readonly]):not([multiple]),.eui-21 :host.eds-select[size=\"1\"],.eui-21 :host.eds-select[size=\"0\"]{appearance:none;background-color:var(--eds-c-surface-elevation);background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='%23404040'%3E%3Cpath d='M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z'/%3E%3C/svg%3E\");background-position:calc(100% - var(--eds-sp-s)) center;background-repeat:no-repeat;background-size:var(--eds-sp-l);padding-right:var(--eds-sp-3xl)}.eds-select__readonly-display{font:var(--eds-f-paragraph-m);background-color:transparent;border:none;box-shadow:none;color:var(--eds-c-foreground-default);padding:var(--eds-sp-xs) 0;width:100%;pointer-events:none;outline:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
208
208
|
}
|
|
209
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
209
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EdsSelect, decorators: [{
|
|
210
210
|
type: Component,
|
|
211
211
|
args: [{ selector: 'select[edsSelect]', template: '<ng-content/>', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
212
212
|
{ provide: EDS_SELECT_COMPONENT, useExisting: EdsSelect },
|
|
@@ -354,8 +354,8 @@ class EdsSelectControlValueAccessor extends SelectControlValueAccessor {
|
|
|
354
354
|
}
|
|
355
355
|
}
|
|
356
356
|
}
|
|
357
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
358
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.
|
|
357
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EdsSelectControlValueAccessor, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
358
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.2", type: EdsSelectControlValueAccessor, isStandalone: true, selector: "select:not([multiple])[formControlName][edsSelect],select:not([multiple])[formControl][edsSelect],select:not([multiple])[ngModel][edsSelect]", inputs: { placeholder: "placeholder" }, host: { listeners: { "blur": "onTouched()" } }, providers: [
|
|
359
359
|
{
|
|
360
360
|
provide: NG_VALUE_ACCESSOR,
|
|
361
361
|
useExisting: forwardRef(() => EdsSelectControlValueAccessor),
|
|
@@ -363,7 +363,7 @@ class EdsSelectControlValueAccessor extends SelectControlValueAccessor {
|
|
|
363
363
|
},
|
|
364
364
|
], usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
|
|
365
365
|
}
|
|
366
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
366
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EdsSelectControlValueAccessor, decorators: [{
|
|
367
367
|
type: Directive,
|
|
368
368
|
args: [{
|
|
369
369
|
selector:
|
|
@@ -450,10 +450,10 @@ class EdsSelectOptionDirective extends NgSelectOption {
|
|
|
450
450
|
this._selectComponent?.syncReadOnlyValue();
|
|
451
451
|
}
|
|
452
452
|
}
|
|
453
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
454
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "22.
|
|
453
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EdsSelectOptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
454
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "22.1.2", type: EdsSelectOptionDirective, isStandalone: true, selector: "option[edsOption]", inputs: { selected: ["selected", "selected", booleanAttribute], label: "label", ngValue: "ngValue" }, usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
|
|
455
455
|
}
|
|
456
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
456
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EdsSelectOptionDirective, decorators: [{
|
|
457
457
|
type: Directive,
|
|
458
458
|
args: [{
|
|
459
459
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -606,10 +606,10 @@ class EdsSelectMultipleControlValueAccessor extends SelectMultipleControlValueAc
|
|
|
606
606
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
607
607
|
return this._optionMap.has(id) ? this._optionMap.get(id)._value : valueString;
|
|
608
608
|
}
|
|
609
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
610
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.
|
|
609
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EdsSelectMultipleControlValueAccessor, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
610
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.2", type: EdsSelectMultipleControlValueAccessor, isStandalone: true, selector: "select[multiple][formControlName][edsSelect],select[multiple][formControl][edsSelect],select[multiple][ngModel][edsSelect]", inputs: { isInvalid: "isInvalid" }, host: { listeners: { "change": "onChange($event.target)", "blur": "onTouched()" } }, providers: [SELECT_MULTIPLE_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0 }); }
|
|
611
611
|
}
|
|
612
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
612
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EdsSelectMultipleControlValueAccessor, decorators: [{
|
|
613
613
|
type: Directive,
|
|
614
614
|
args: [{
|
|
615
615
|
selector:
|
|
@@ -683,10 +683,10 @@ class EdsSelectMultipleOption extends _NgSelectMultipleOption {
|
|
|
683
683
|
this.select.writeValue(this.select.value);
|
|
684
684
|
}
|
|
685
685
|
}
|
|
686
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
687
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.
|
|
686
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EdsSelectMultipleOption, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
687
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.2", type: EdsSelectMultipleOption, isStandalone: true, selector: "option[edsOption]", inputs: { ngValue: "ngValue", value: "value" }, usesInheritance: true, ngImport: i0 }); }
|
|
688
688
|
}
|
|
689
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
689
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EdsSelectMultipleOption, decorators: [{
|
|
690
690
|
type: Directive,
|
|
691
691
|
args: [{
|
|
692
692
|
// eslint-disable-next-line @angular-eslint/directive-selector
|