@eui/eds 22.0.0-alpha.34 → 22.0.0-alpha.35

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.
@@ -1 +1 @@
1
- {"version":3,"file":"eui-eds-shared.mjs","sources":["../../shared/eds-size.directive.ts","../../shared/eds-color.directive.ts","../../shared/eds-clearable.directive.ts","../../shared/eds-loading.directive.ts","../../shared/eds-maxlength.directive.ts","../../shared/eds-resizable.directive.ts","../../shared/eds-shell.service.ts","../../shared/eds-sr-only.directive.ts","../../shared/eds-text-truncate.directive.ts","../../shared/eui-eds-shared.ts"],"sourcesContent":["import { computed, Directive, input, booleanAttribute } from '@angular/core';\n\n/** Supported size tokens across EDS components. */\nexport type EdsSizeToken = '2xs' | 'xs' | 's' | 'm' | 'l' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl' | '6xl' | 'auto';\n\n/**\n * Signal-based size variant directive.\n *\n * Provides both a string-based `edsSizeVariant` input and boolean shorthand inputs\n * (`edsSizeS`, `edsSizeM`, etc.) for template ergonomics.\n *\n * The resolved size is exposed as a reactive `resolvedSize` computed signal,\n * and `cssClass(rootClass)` returns the BEM modifier class string.\n *\n * Usage as hostDirective:\n * ```\n * hostDirectives: [{\n * directive: EdsSizeDirective,\n * inputs: ['edsSizeM', 'edsSizeL', 'edsSizeVariant'],\n * }]\n * ```\n */\n@Directive({\n selector: '[edsSizeVariants]',\n})\nexport class EdsSizeDirective {\n /** String-based size input — the canonical API. */\n edsSizeVariant = input<EdsSizeToken | ''>('');\n\n // Boolean shorthand inputs\n edsSize2XS = input(false, { transform: booleanAttribute });\n edsSizeXS = input(false, { transform: booleanAttribute });\n edsSizeS = input(false, { transform: booleanAttribute });\n edsSizeM = input(false, { transform: booleanAttribute });\n edsSizeL = input(false, { transform: booleanAttribute });\n edsSizeXL = input(false, { transform: booleanAttribute });\n edsSize2XL = input(false, { transform: booleanAttribute });\n edsSize3XL = input(false, { transform: booleanAttribute });\n edsSize4XL = input(false, { transform: booleanAttribute });\n edsSize5XL = input(false, { transform: booleanAttribute });\n edsSize6XL = input(false, { transform: booleanAttribute });\n edsSizeAuto = input(false, { transform: booleanAttribute });\n\n /** Resolved size — first boolean that is true wins, otherwise falls back to `edsSizeVariant`. */\n resolvedSize = computed((): EdsSizeToken | '' => {\n if (this.edsSize2XS()) return '2xs';\n if (this.edsSizeXS()) return 'xs';\n if (this.edsSizeS()) return 's';\n if (this.edsSizeM()) return 'm';\n if (this.edsSizeL()) return 'l';\n if (this.edsSizeXL()) return 'xl';\n if (this.edsSize2XL()) return '2xl';\n if (this.edsSize3XL()) return '3xl';\n if (this.edsSize4XL()) return '4xl';\n if (this.edsSize5XL()) return '5xl';\n if (this.edsSize6XL()) return '6xl';\n if (this.edsSizeAuto()) return 'auto';\n return this.edsSizeVariant();\n });\n\n /** Returns the BEM modifier class for the resolved size, e.g. `eds-tag--size-m`. */\n cssClass = computed(() => {\n const size = this.resolvedSize();\n return size ? `--size-${size}` : '';\n });\n\n /**\n * Returns the full BEM class with the component root prefix.\n * E.g. `getCssClass('eds-tag')` → `'eds-tag--size-m'`\n */\n getCssClass(rootClass: string): string {\n const size = this.resolvedSize();\n return size ? `${rootClass}--size-${size}` : '';\n }\n}\n","import { computed, Directive, input, booleanAttribute } from '@angular/core';\n\n/** Supported color tokens across EDS components. */\nexport type EdsColorToken =\n | 'primary'\n | 'brand'\n | 'neutral'\n | 'neutral-subtle'\n | 'neutral-subtler'\n | 'highlight'\n | 'info'\n | 'success'\n | 'warning'\n | 'critical'\n | 'disabled';\n\n/**\n * Signal-based color variant directive.\n *\n * Provides both a string-based `edsColorVariant` input and boolean shorthand inputs\n * (`edsNeutral`, `edsSuccess`, etc.) for template ergonomics.\n *\n * The resolved color is exposed as a reactive `resolvedColor` computed signal,\n * and `getCssClass(rootClass)` returns the BEM modifier class string.\n *\n * Usage as hostDirective:\n * ```\n * hostDirectives: [{\n * directive: EdsColorDirective,\n * inputs: ['edsNeutral', 'edsSuccess', 'edsColorVariant'],\n * }]\n * ```\n */\n@Directive({\n selector: '[edsColorVariants]',\n})\nexport class EdsColorDirective {\n /** String-based color input — the canonical API. */\n edsColorVariant = input<EdsColorToken | ''>('');\n\n // Boolean shorthand inputs\n edsPrimary = input(false, { transform: booleanAttribute });\n edsBrand = input(false, { transform: booleanAttribute });\n edsNeutral = input(false, { transform: booleanAttribute });\n edsNeutralSubtle = input(false, { transform: booleanAttribute });\n edsNeutralSubtler = input(false, { transform: booleanAttribute });\n edsHighlight = input(false, { transform: booleanAttribute });\n edsInfo = input(false, { transform: booleanAttribute });\n edsSuccess = input(false, { transform: booleanAttribute });\n edsWarning = input(false, { transform: booleanAttribute });\n edsCritical = input(false, { transform: booleanAttribute });\n edsDisabled = input(false, { transform: booleanAttribute });\n\n /** Resolved color — first boolean that is true wins, otherwise falls back to `edsColorVariant`. */\n resolvedColor = computed((): EdsColorToken | '' => {\n if (this.edsPrimary()) return 'primary';\n if (this.edsBrand()) return 'brand';\n if (this.edsNeutral()) return 'neutral';\n if (this.edsNeutralSubtle()) return 'neutral-subtle';\n if (this.edsNeutralSubtler()) return 'neutral-subtler';\n if (this.edsHighlight()) return 'highlight';\n if (this.edsInfo()) return 'info';\n if (this.edsSuccess()) return 'success';\n if (this.edsWarning()) return 'warning';\n if (this.edsCritical()) return 'critical';\n if (this.edsDisabled()) return 'disabled';\n return this.edsColorVariant();\n });\n\n /** Returns the BEM modifier suffix for the resolved color, e.g. `--neutral`. */\n cssClass = computed(() => {\n const color = this.resolvedColor();\n return color ? `--${color}` : '';\n });\n\n /**\n * Returns the full BEM class with the component root prefix.\n * E.g. `getCssClass('eds-tag')` → `'eds-tag--neutral'`\n */\n getCssClass(rootClass: string): string {\n const color = this.resolvedColor();\n return color ? `${rootClass}--${color}` : '';\n }\n}\n","import {\n Directive,\n ElementRef,\n Renderer2,\n ViewContainerRef,\n inject,\n input,\n booleanAttribute,\n OnChanges,\n SimpleChanges,\n AfterViewInit,\n DoCheck,\n Injector,\n OnDestroy,\n} from '@angular/core';\nimport { NgControl, NgModel } from '@angular/forms';\n\n/**\n * Directive adding a clear button to text input fields for quick value reset.\n * Dynamically creates a close icon that appears when input has content.\n *\n * Usage: `<input edsInputText edsClearable />`\n */\n@Directive({\n // Applied via hostDirectives only — selector intentionally non-matching\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[edsClearable]:not([edsInputText])',\n})\nexport class EdsClearableDirective implements OnChanges, AfterViewInit, OnDestroy, DoCheck {\n edsClearable = input(true, { transform: booleanAttribute });\n readonly = input(false, { transform: booleanAttribute });\n disabled = input(false, { transform: booleanAttribute });\n\n private _elementRef = inject(ElementRef);\n private _renderer = inject(Renderer2);\n private _injector = inject(Injector);\n private _clearIcon: HTMLElement | null = null;\n private _wrapper: HTMLElement | null = null;\n private _inputListener: (() => void) | null = null;\n private _clickListener: (() => void) | null = null;\n private _keyListener: (() => void) | null = null;\n private _classObserver: MutationObserver | null = null;\n\n ngAfterViewInit(): void {\n if (this.edsClearable()) {\n this._setup();\n // Delay visibility check to allow form control to write initial value\n Promise.resolve().then(() => this._syncVisibility());\n }\n }\n\n ngDoCheck(): void {\n // Sync visibility on every change detection cycle to catch programmatic value changes\n this._syncVisibility();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['edsClearable']) {\n if (this.edsClearable()) {\n this._setup();\n } else {\n this._teardown();\n }\n }\n if (changes['readonly']) {\n if (this.readonly()) {\n this._teardown();\n } else if (this.edsClearable()) {\n this._setup();\n this._syncVisibility();\n }\n }\n if (changes['disabled'] && this._clearIcon) {\n if (this.disabled()) {\n this._renderer.setStyle(this._clearIcon, 'visibility', 'hidden');\n } else {\n this._syncVisibility();\n }\n }\n }\n\n ngOnDestroy(): void {\n this._teardown();\n }\n\n private _setup(): void {\n if (this._clearIcon) {\n return;\n }\n\n // Create wrapper\n if (!this._wrapper) {\n this._wrapper = this._renderer.createElement('div');\n this._wrapper!.setAttribute('style', 'position:relative;display:flex;width:100%;min-width:0;');\n this._renderer.insertBefore(\n this._elementRef.nativeElement.parentElement,\n this._wrapper,\n this._elementRef.nativeElement,\n );\n this._renderer.appendChild(this._wrapper, this._elementRef.nativeElement);\n }\n\n // Create clear icon\n this._clearIcon = this._renderer.createElement('span');\n this._renderer.setAttribute(this._clearIcon, 'aria-label', 'Clear input');\n this._renderer.setAttribute(this._clearIcon, 'role', 'button');\n this._renderer.setAttribute(this._clearIcon, 'tabindex', '0');\n this._renderer.addClass(this._clearIcon, 'eds-clearable-icon');\n this._renderer.setStyle(this._clearIcon, 'position', 'absolute');\n this._renderer.setStyle(this._clearIcon, 'right', 'var(--eds-sp-s)');\n this._renderer.setStyle(this._clearIcon, 'top', '50%');\n this._renderer.setStyle(this._clearIcon, 'transform', 'translateY(-50%)');\n this._renderer.setStyle(this._clearIcon, 'cursor', 'pointer');\n this._renderer.setStyle(this._clearIcon, 'font-size', '18px');\n this._renderer.setStyle(this._clearIcon, 'line-height', '1');\n this._renderer.setStyle(this._clearIcon, 'color', 'var(--eds-c-foreground-subtle)');\n this._renderer.setStyle(this._clearIcon, 'border-radius', 'var(--eds-br-xs)');\n this._renderer.setStyle(this._clearIcon, 'padding', '2px');\n this._renderer.setStyle(this._clearIcon, 'outline', 'none');\n this._renderer.setStyle(this._clearIcon, 'visibility', 'hidden');\n this._clearIcon!.innerHTML = '✕';\n\n // Add focus-visible listener for keyboard accessibility\n this._renderer.listen(this._clearIcon, 'focus', () => {\n this._renderer.setStyle(this._clearIcon, 'outline', '2px solid var(--eds-c-focus-default, #0e47cb)');\n this._renderer.setStyle(this._clearIcon, 'outline-offset', '1px');\n });\n this._renderer.listen(this._clearIcon, 'blur', () => {\n this._renderer.setStyle(this._clearIcon, 'outline', 'none');\n });\n\n this._renderer.appendChild(this._wrapper, this._clearIcon);\n\n // Add class to input — SCSS handles padding\n this._renderer.addClass(this._elementRef.nativeElement, 'eds-input-text--clearable');\n\n // Listen for input changes\n this._inputListener = this._renderer.listen(this._elementRef.nativeElement, 'input', () => this._syncVisibility());\n\n // Listen for click on clear icon\n this._clickListener = this._renderer.listen(this._clearIcon, 'click', () => this._clear());\n this._keyListener = this._renderer.listen(this._clearIcon, 'keydown.enter', () => this._clear());\n\n // Observe class and readonly changes to hide/show when loading toggles or readonly changes\n this._classObserver = new MutationObserver(() => this._syncVisibility());\n this._classObserver.observe(this._elementRef.nativeElement, { attributes: true, attributeFilter: ['class', 'readonly'] });\n }\n\n private _teardown(): void {\n if (this._classObserver) {\n this._classObserver.disconnect();\n this._classObserver = null;\n }\n if (this._inputListener) {\n this._inputListener();\n this._inputListener = null;\n }\n if (this._clickListener) {\n this._clickListener();\n this._clickListener = null;\n }\n if (this._keyListener) {\n this._keyListener();\n this._keyListener = null;\n }\n if (this._clearIcon && this._wrapper) {\n this._renderer.removeChild(this._wrapper, this._clearIcon);\n this._clearIcon = null;\n }\n if (this._wrapper) {\n this._renderer.insertBefore(this._wrapper.parentElement, this._elementRef.nativeElement, this._wrapper);\n this._renderer.removeChild(this._wrapper.parentElement, this._wrapper);\n this._wrapper = null;\n }\n this._renderer.removeClass(this._elementRef.nativeElement, 'eds-input-text--clearable');\n }\n\n private _syncVisibility(): void {\n if (!this._clearIcon) {\n return;\n }\n // Hide clearable when loading is active, input is readonly, or input is disabled\n const isLoading = this._elementRef.nativeElement.classList.contains('eds-input-text--loading');\n const isReadonly = this._elementRef.nativeElement.hasAttribute('readonly');\n const isDisabled = this.disabled() || this._elementRef.nativeElement.hasAttribute('disabled');\n if (isLoading || isReadonly || isDisabled) {\n this._renderer.setStyle(this._clearIcon, 'visibility', 'hidden');\n return;\n }\n const value = this._elementRef.nativeElement.value;\n this._renderer.setStyle(this._clearIcon, 'visibility', value?.length > 0 ? 'visible' : 'hidden');\n }\n\n private _clear(): void {\n const control = this._injector.get(NgControl, null, { optional: true });\n if (control) {\n control.reset();\n } else {\n this._elementRef.nativeElement.value = '';\n this._elementRef.nativeElement.dispatchEvent(new InputEvent('input', { data: null }));\n }\n this._elementRef.nativeElement.dispatchEvent(new Event('clear'));\n this._elementRef.nativeElement.focus();\n this._syncVisibility();\n }\n}\n","import {\n Directive,\n ElementRef,\n Renderer2,\n inject,\n input,\n booleanAttribute,\n OnChanges,\n SimpleChanges,\n OnDestroy,\n AfterViewInit,\n} from '@angular/core';\n\n/**\n * Directive displaying a loading spinner inside an input field during async operations.\n * Relies on the `eds-input` mixin SCSS for all visual styling — no inline styles.\n *\n * Usage: `<input edsInputText [edsLoading]=\"isSearching\" />`\n */\n@Directive({\n // Applied via hostDirectives only — selector intentionally non-matching\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[edsLoading]:not([edsInputText])',\n})\nexport class EdsLoadingDirective implements OnChanges, AfterViewInit, OnDestroy {\n edsLoading = input(false, { transform: booleanAttribute });\n readonly = input(false, { transform: booleanAttribute });\n\n private _elementRef = inject(ElementRef);\n private _renderer = inject(Renderer2);\n private _icon: HTMLElement | null = null;\n private _wrapper: HTMLElement | null = null;\n private _initialized = false;\n\n ngAfterViewInit(): void {\n this._initialized = true;\n if (this.edsLoading()) {\n this._show();\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (!this._initialized) {\n return;\n }\n if (changes['edsLoading']) {\n if (this.edsLoading()) {\n this._show();\n } else {\n this._hide();\n }\n }\n }\n\n ngOnDestroy(): void {\n this._hide();\n }\n\n private _ensureWrapper(): HTMLElement {\n if (this._wrapper) {\n return this._wrapper;\n }\n\n // Check if clearable already created a wrapper\n const parent = this._elementRef.nativeElement.parentElement;\n if (parent?.style?.position === 'relative') {\n this._wrapper = parent;\n return this._wrapper;\n }\n\n // Create wrapper — only position:relative needed for CSS positioning\n this._wrapper = this._renderer.createElement('div');\n this._wrapper!.setAttribute('style', 'position:relative;display:flex;width:100%;min-width:0;');\n this._renderer.insertBefore(parent, this._wrapper, this._elementRef.nativeElement);\n this._renderer.appendChild(this._wrapper, this._elementRef.nativeElement);\n return this._wrapper!;\n }\n\n private _show(): void {\n if (this._icon) {\n return;\n }\n\n // Add loading class — SCSS handles padding-right via &--loading\n this._renderer.addClass(this._elementRef.nativeElement, 'eds-input-text--loading');\n\n const wrapper = this._ensureWrapper();\n\n // Create loading icon element with minimal positioning\n // Visual styles must be inline since element is outside Angular view encapsulation\n this._icon = this._renderer.createElement('span');\n this._renderer.addClass(this._icon, 'eds-input-text--loading-icon');\n this._icon!.setAttribute('style', [\n 'position:absolute',\n 'right:var(--eds-sp-s)',\n 'top:50%',\n 'transform:translateY(-50%)',\n 'width:20px',\n 'height:20px',\n 'border:3px solid var(--eds-c-border-neutral)',\n 'border-top-color:var(--eds-c-border-primary)',\n 'border-radius:50%',\n 'animation:eds-spin 0.6s linear infinite',\n 'pointer-events:none',\n ].join(';'));\n this._renderer.appendChild(wrapper, this._icon);\n\n // Set input to readonly while loading\n this._renderer.setAttribute(this._elementRef.nativeElement, 'readonly', '');\n }\n\n private _hide(): void {\n if (this._icon) {\n this._icon.remove();\n this._icon = null;\n }\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'readonly');\n this._renderer.removeClass(this._elementRef.nativeElement, 'eds-input-text--loading');\n }\n}\n","import {\n Directive,\n ElementRef,\n Renderer2,\n inject,\n input,\n output,\n numberAttribute,\n booleanAttribute,\n AfterContentInit,\n OnDestroy,\n OnChanges,\n SimpleChanges,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\n/**\n * @description\n * Directive that adds maxLength functionality to input/textarea elements with visual feedback.\n * Shows remaining characters count and provides visual indication when the limit is reached.\n *\n * @usageNotes\n * ```html\n * <input edsInputText [edsMaxlength]=\"100\" />\n * <textarea [edsMaxlength]=\"200\" [isShowMaxlength]=\"false\"></textarea>\n * ```\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'input[edsMaxlength], textarea[edsMaxlength], [ngModel][edsMaxlength], [formControlName][edsMaxlength]',\n host: {\n '(input)': '_onInput()',\n '(change)': '_onInput()',\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n '(paste)': '_onPaste($any($event))',\n },\n})\nexport class EdsMaxlengthDirective implements AfterContentInit, OnDestroy, OnChanges {\n /** Maximum character length. Set to null to disable. */\n edsMaxlength = input(0, { transform: numberAttribute });\n\n /** Controls visibility of the maxLength counter indicator. */\n isShowMaxlength = input(true, { transform: booleanAttribute });\n\n /** Emits true when max length is reached, false when below limit. */\n maxLengthReached = output<boolean>();\n\n private _el = inject(ElementRef);\n private _renderer = inject(Renderer2);\n private _control = inject(NgControl, { self: true, optional: true });\n private _maxLengthSpan: HTMLSpanElement | undefined;\n private _wrapper: HTMLDivElement | undefined;\n private _valueChangesSub: Subscription | undefined;\n\n ngAfterContentInit(): void {\n if (this.edsMaxlength()) {\n this._createMaxLengthBox();\n this._refresh();\n }\n\n if (this._control?.valueChanges) {\n this._valueChangesSub = this._control.valueChanges.subscribe(() => this._refresh());\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['isShowMaxlength']) {\n if (this.isShowMaxlength()) {\n this._createMaxLengthBox();\n this._refresh();\n } else {\n this._destroyMaxLengthBox();\n }\n }\n if (changes['edsMaxlength']) {\n const maxLen = this.edsMaxlength();\n if (maxLen < 0) {\n throw new Error('edsMaxlength cannot be negative.');\n }\n if (maxLen) {\n if (this.isShowMaxlength() && !this._maxLengthSpan) {\n this._createMaxLengthBox();\n }\n this._refresh();\n } else {\n this._renderer.removeAttribute(this._el.nativeElement, 'maxLength');\n this._destroyMaxLengthBox();\n }\n }\n }\n\n ngOnDestroy(): void {\n this._destroyMaxLengthBox();\n this._valueChangesSub?.unsubscribe();\n }\n\n protected _onInput(): void {\n this._refresh();\n }\n\n protected _onPaste(event: ClipboardEvent): void {\n const value = (event.clipboardData || (window as unknown as Record<string, unknown>)['clipboardData'] as DataTransfer | undefined)?.getData('text') || '';\n const input = this._el.nativeElement as HTMLInputElement;\n if (this.edsMaxlength()) {\n this._renderer.setProperty(input, 'maxLength', this._calculateMaxLength(value));\n }\n }\n\n private _calculateMaxLength(pastedValue?: string): number {\n const currentValue = this._getValue();\n const currentLen = currentValue?.length || 0;\n const valueLen = this._getValueLength();\n return (pastedValue?.length || currentLen - valueLen) + this.edsMaxlength();\n }\n\n private _getValueLength(): number {\n return this._getValue()?.length || 0;\n }\n\n private _getValue(): string {\n const input = this._el.nativeElement as HTMLInputElement;\n return this._control && this._control.control?.updateOn === 'change'\n ? this._control.value\n : input.value;\n }\n\n private _refresh(): void {\n const maxLen = this.edsMaxlength();\n if (isNaN(maxLen) || !maxLen) {\n return;\n }\n const input = this._el.nativeElement as HTMLInputElement;\n const valueLength = this._getValueLength();\n const remaining = maxLen - valueLength;\n\n this._renderer.setProperty(input, 'maxLength', this._calculateMaxLength());\n\n if (this._maxLengthSpan) {\n if (remaining <= 0) {\n this._maxLengthSpan.style.backgroundColor = 'var(--eds-c-surface-warning)';\n this._maxLengthSpan.style.borderColor = 'var(--eds-c-border-warning)';\n this._maxLengthSpan.style.color = 'var(--eds-c-foreground-critical)';\n this.maxLengthReached.emit(true);\n } else {\n this._maxLengthSpan.style.backgroundColor = 'var(--eds-c-surface-elevation)';\n this._maxLengthSpan.style.borderColor = 'var(--eds-c-border-neutral)';\n this._maxLengthSpan.style.color = 'var(--eds-c-foreground)';\n this.maxLengthReached.emit(false);\n }\n\n if (remaining < 0) {\n if (this._control) {\n this._control.control!.setValue(input.value.substring(0, this._calculateMaxLength()));\n } else {\n input.value = input.value.substring(0, this._calculateMaxLength());\n }\n this._renderer.setProperty(this._maxLengthSpan, 'textContent', '0');\n } else {\n this._renderer.setProperty(this._maxLengthSpan, 'textContent', remaining.toString());\n }\n }\n }\n\n private _createMaxLengthBox(): void {\n if (this._maxLengthSpan) {\n this._destroyMaxLengthBox();\n }\n\n this._maxLengthSpan = this._renderer.createElement('span');\n this._renderer.addClass(this._maxLengthSpan, 'eds-maxlength');\n this._renderer.setProperty(this._maxLengthSpan, 'textContent', (this.edsMaxlength() || 0).toString());\n // Inline styles (self-contained, no global stylesheet dependency)\n this._maxLengthSpan.setAttribute('style', [\n 'font: var(--eds-f-microcopy-xs)',\n 'background-color: var(--eds-c-surface-neutral-subtle, #f0f0f0)',\n 'border: 1px solid var(--eds-c-border-neutral)',\n 'border-radius: var(--eds-br-xs)',\n 'color: var(--eds-c-foreground)',\n 'padding: 0 var(--eds-sp-3xs)',\n 'position: absolute',\n 'right: calc(-1 * var(--eds-sp-xs))',\n 'top: calc(-1 * var(--eds-sp-xs))',\n 'z-index: 1',\n 'line-height: 1.6',\n ].join(';'));\n\n const nativeElement: HTMLElement = this._el.nativeElement;\n const parent = nativeElement.parentNode;\n if (parent && this.isShowMaxlength()) {\n this._renderer.setStyle(nativeElement, 'width', '100%');\n this._wrapper = this._renderer.createElement('div');\n this._renderer.addClass(this._wrapper, 'eds-maxlength-wrapper');\n this._wrapper.setAttribute('style', 'position: relative; width: 100%;');\n parent.replaceChild(this._wrapper, nativeElement);\n this._renderer.appendChild(this._wrapper, nativeElement);\n this._renderer.appendChild(this._wrapper, this._maxLengthSpan);\n }\n }\n\n private _destroyMaxLengthBox(): void {\n if (this._maxLengthSpan) {\n this._renderer.removeChild(this._maxLengthSpan.parentElement, this._maxLengthSpan);\n this._maxLengthSpan = undefined;\n }\n if (this._wrapper) {\n const parent = this._wrapper.parentNode;\n const nativeElement = this._el.nativeElement;\n parent?.replaceChild(nativeElement, this._wrapper);\n this._wrapper = undefined;\n }\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n Directive,\n ElementRef,\n OnDestroy,\n OnInit,\n Renderer2,\n inject,\n input,\n output,\n effect,\n numberAttribute,\n booleanAttribute,\n} from '@angular/core';\nimport { fromEvent, Subject } from 'rxjs';\nimport { distinctUntilChanged, map, takeUntil, tap } from 'rxjs/operators';\n\n/** Handle placement side. */\nexport type EdsResizablePosition = 'left' | 'right';\n\n/** Ensures value is a non-negative pixel number. */\nconst pixelTransform = (value: string | number): number => Math.max(0, numberAttribute(value, 0));\n\n/**\n * Directive that enables interactive resizing of a host element by dragging a handle.\n * Applies width constraints dynamically and supports left or right-side handle placement.\n *\n * Usage: `<div edsResizable [edsResizableMinWidth]=\"200\" [edsResizableMaxWidth]=\"600\"></div>`\n */\n@Directive({\n selector: '[edsResizable]',\n host: {\n 'style.position': 'relative',\n },\n})\nexport class EdsResizable implements OnInit, OnDestroy {\n /** Minimum width in pixels. */\n edsResizableMinWidth = input(0, { transform: pixelTransform });\n\n /** Maximum width in pixels. */\n edsResizableMaxWidth = input<number | undefined>(undefined);\n\n /** Handle placement side. */\n edsResizablePosition = input<EdsResizablePosition>('right');\n\n /** Whether the resize handle is hidden/disabled. */\n edsResizableDisabled = input(false, { transform: booleanAttribute });\n\n /** Step size in pixels for keyboard arrow key resizing. */\n edsResizableKeyStep = input(10, { transform: pixelTransform });\n\n /** Accessible label for the separator handle. */\n edsResizableAriaLabel = input('Press the left or right arrow key to resize the panel');\n\n /** Emits the new width in pixels after a resize operation. */\n edsResizableWidthChange = output<number>();\n\n private document = inject<Document>(DOCUMENT);\n private el = inject<ElementRef<HTMLElement>>(ElementRef);\n private renderer = inject(Renderer2);\n\n private destroy$ = new Subject<void>();\n private interaction$ = new Subject<void>();\n private handleEl!: HTMLElement;\n private initialized = false;\n\n constructor() {\n effect(() => {\n const disabled = this.edsResizableDisabled();\n if (!this.initialized) return;\n if (disabled) {\n this.teardownInteraction();\n } else {\n this.setupInteraction();\n }\n this.updateHandleVisibility();\n });\n }\n\n ngOnInit(): void {\n this.createHandle();\n this.initialized = true;\n if (!this.edsResizableDisabled()) {\n this.setupInteraction();\n }\n this.updateHandleVisibility();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n this.interaction$.complete();\n }\n\n private applySize(size: number): void {\n const min = this.edsResizableMinWidth();\n const max = this.edsResizableMaxWidth();\n let constrained = Math.max(Math.round(size), min);\n if (max !== undefined) {\n constrained = Math.min(constrained, max);\n }\n\n const host = this.el.nativeElement;\n this.renderer.setStyle(host, 'width', `${constrained}px`);\n this.renderer.setStyle(host, 'min-width', `${constrained}px`);\n this.renderer.setStyle(host, 'max-width', `${constrained}px`);\n this.renderer.setStyle(host, 'flex-basis', `${constrained}px`);\n\n this.handleEl.setAttribute('aria-valuenow', String(constrained));\n this.edsResizableWidthChange.emit(constrained);\n }\n\n private setupInteraction(): void {\n this.interaction$.next();\n\n fromEvent<MouseEvent>(this.handleEl, 'mousedown').pipe(\n tap(e => e.preventDefault()),\n takeUntil(this.interaction$),\n takeUntil(this.destroy$),\n ).subscribe(e => {\n if (e.button !== 0) return;\n\n const { width, right, left } = this.el.nativeElement.getBoundingClientRect();\n this.renderer.addClass(this.document.body, 'eds-resizing');\n\n fromEvent<MouseEvent>(this.document, 'mousemove').pipe(\n map(({ clientX }) => {\n if (this.edsResizablePosition() === 'right') {\n return width + clientX - right;\n }\n return width + (left - clientX);\n }),\n distinctUntilChanged(),\n takeUntil(fromEvent(this.document, 'mouseup').pipe(\n tap(() => this.renderer.removeClass(this.document.body, 'eds-resizing')),\n )),\n ).subscribe(size => this.applySize(size));\n });\n\n fromEvent<KeyboardEvent>(this.handleEl, 'keydown').pipe(\n takeUntil(this.interaction$),\n takeUntil(this.destroy$),\n ).subscribe(e => this.onKeydown(e));\n }\n\n private teardownInteraction(): void {\n this.interaction$.next();\n }\n\n private onKeydown(e: KeyboardEvent): void {\n const currentWidth = this.el.nativeElement.getBoundingClientRect().width;\n const step = this.edsResizableKeyStep();\n const isLeft = this.edsResizablePosition() === 'left';\n let newSize: number | null = null;\n\n switch (e.key) {\n case 'ArrowRight':\n newSize = isLeft ? currentWidth - step : currentWidth + step;\n break;\n case 'ArrowLeft':\n newSize = isLeft ? currentWidth + step : currentWidth - step;\n break;\n case 'Home':\n newSize = this.edsResizableMinWidth();\n break;\n case 'End':\n newSize = this.edsResizableMaxWidth() ?? currentWidth;\n break;\n default:\n return;\n }\n\n e.preventDefault();\n this.applySize(newSize);\n }\n\n private createHandle(): void {\n const handle = this.renderer.createElement('div');\n\n // Position & layout\n this.renderer.setStyle(handle, 'position', 'absolute');\n this.renderer.setStyle(handle, 'top', '0');\n this.renderer.setStyle(handle, 'bottom', '0');\n this.renderer.setStyle(handle, 'width', '6px');\n this.renderer.setStyle(handle, 'cursor', 'ew-resize');\n this.renderer.setStyle(handle, 'opacity', '0');\n this.renderer.setStyle(handle, 'background', 'var(--eds-c-border-primary)');\n this.renderer.setStyle(handle, 'transition', 'opacity 0.2s ease');\n this.renderer.setStyle(handle, 'z-index', '10');\n\n if (this.edsResizablePosition() === 'right') {\n this.renderer.setStyle(handle, 'right', '0');\n } else {\n this.renderer.setStyle(handle, 'left', '0');\n }\n\n // Hover/focus effects via event listeners\n this.renderer.listen(handle, 'mouseenter', () => this.renderer.setStyle(handle, 'opacity', '1'));\n this.renderer.listen(handle, 'mouseleave', () => {\n if (this.document.activeElement !== handle) {\n this.renderer.setStyle(handle, 'opacity', '0');\n }\n });\n this.renderer.listen(handle, 'focus', () => this.renderer.setStyle(handle, 'opacity', '1'));\n this.renderer.listen(handle, 'blur', () => this.renderer.setStyle(handle, 'opacity', '0'));\n\n // Accessibility attributes\n this.renderer.setAttribute(handle, 'role', 'separator');\n this.renderer.setAttribute(handle, 'aria-orientation', 'vertical');\n this.renderer.setAttribute(handle, 'tabindex', '0');\n this.renderer.setAttribute(handle, 'aria-label', this.edsResizableAriaLabel());\n this.renderer.setAttribute(handle, 'aria-valuemin', String(this.edsResizableMinWidth()));\n if (this.edsResizableMaxWidth() !== undefined) {\n this.renderer.setAttribute(handle, 'aria-valuemax', String(this.edsResizableMaxWidth()));\n }\n const currentWidth = Math.round(this.el.nativeElement.getBoundingClientRect().width);\n this.renderer.setAttribute(handle, 'aria-valuenow', String(currentWidth));\n\n this.renderer.appendChild(this.el.nativeElement, handle);\n this.handleEl = handle;\n }\n private updateHandleVisibility(): void {\n if (!this.handleEl) return;\n if (this.edsResizableDisabled()) {\n this.renderer.setStyle(this.handleEl, 'display', 'none');\n } else {\n this.renderer.removeStyle(this.handleEl, 'display');\n }\n }\n}\n","import { Injectable, signal, computed } from '@angular/core';\n\n/**\n * EdsShellService provides a centralized, signal-based state management service\n * for shell-level concerns. It replaces the legacy BehaviorSubject-based\n * EuiAppShellService pattern with a modern Angular signals approach.\n *\n * @usageNotes\n * Inject the service and use signal-based state:\n *\n * ```ts\n * import { EdsShellService } from '@eui/eds/shared';\n *\n * private shellService = inject(EdsShellService);\n *\n * blockDocument(): void {\n * this.shellService.setBlockDocumentActive(true);\n * // ... async operation\n * this.shellService.setBlockDocumentActive(false);\n * }\n * ```\n *\n * The EdsShell component reads `isBlockDocumentActive` to show/hide the\n * EdsBlockDocument overlay.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class EdsShellService {\n /** Read-only signal exposing the block document state. */\n readonly isBlockDocumentActive;\n\n /** Read-only signal exposing the dimmer state. */\n readonly isDimmerActive;\n\n /** Read-only signal exposing the modal active state. */\n readonly hasModalActive;\n\n /** Computed: whether the UI should be considered \"blocked\" by any mechanism. */\n readonly isBlocked;\n\n /** Whether the full-page block document overlay is active. */\n private _isBlockDocumentActive = signal(false);\n\n /** Whether a dimmer/overlay is active (used by edit-mode scenarios). */\n private _isDimmerActive = signal(false);\n\n /** Whether there is currently a modal active in the application. */\n private _hasModalActive = signal(false);\n\n constructor() {\n this.isBlockDocumentActive = this._isBlockDocumentActive.asReadonly();\n this.isDimmerActive = this._isDimmerActive.asReadonly();\n this.hasModalActive = this._hasModalActive.asReadonly();\n this.isBlocked = computed(() => this._isBlockDocumentActive() || this._hasModalActive());\n }\n\n /**\n * Activates or deactivates the full-page block document overlay.\n * When active, EdsBlockDocument renders a fixed overlay with a loading indicator.\n */\n setBlockDocumentActive(isActive: boolean): void {\n this._isBlockDocumentActive.set(isActive);\n }\n\n /**\n * Activates or deactivates the dimmer overlay.\n */\n setDimmerActive(isActive: boolean): void {\n this._isDimmerActive.set(isActive);\n }\n\n /**\n * Toggles the dimmer overlay state.\n */\n toggleDimmer(): void {\n this._isDimmerActive.update(v => !v);\n }\n\n /**\n * Activates or deactivates the modal state flag.\n */\n setModalActive(isActive: boolean): void {\n this._hasModalActive.set(isActive);\n }\n}\n","import { Directive } from '@angular/core';\n\n/**\n * @description\n * Visually hides content while keeping it accessible to screen readers.\n * Use on elements that provide context for assistive technology but should\n * not be visible on screen.\n *\n * @example\n * <span edsSrOnly>Opens in a new tab</span>\n */\n@Directive({\n // eslint-disable-next-line\n selector: '[edsSrOnly]',\n host: {\n style: 'position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0',\n },\n})\nexport class EdsSrOnly {}\n","import { Directive } from '@angular/core';\n\n/**\n * @description\n * Truncates text content with an ellipsis when it overflows its container.\n * Apply to any block or inline-block element.\n *\n * @example\n * <p edsTextTruncate>This very long text will be truncated with an ellipsis</p>\n */\n@Directive({\n // eslint-disable-next-line\n selector: '[edsTextTruncate]',\n host: {\n style: 'overflow:hidden;text-overflow:ellipsis;white-space:nowrap',\n },\n})\nexport class EdsTextTruncate {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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AA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAA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"}
1
+ {"version":3,"file":"eui-eds-shared.mjs","sources":["../../shared/eds-size.directive.ts","../../shared/eds-color.directive.ts","../../shared/eds-clearable.directive.ts","../../shared/eds-loading.directive.ts","../../shared/eds-maxlength.directive.ts","../../shared/eds-resizable.directive.ts","../../shared/eds-shell.service.ts","../../shared/eds-sr-only.directive.ts","../../shared/eds-text-truncate.directive.ts","../../shared/eui-eds-shared.ts"],"sourcesContent":["import { computed, Directive, input, booleanAttribute } from '@angular/core';\n\n/** Supported size tokens across EDS components. */\nexport type EdsSizeToken = '2xs' | 'xs' | 's' | 'm' | 'l' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl' | '6xl' | 'auto';\n\n/**\n * Signal-based size variant directive.\n *\n * Provides both a string-based `edsSizeVariant` input and boolean shorthand inputs\n * (`edsSizeS`, `edsSizeM`, etc.) for template ergonomics.\n *\n * The resolved size is exposed as a reactive `resolvedSize` computed signal,\n * and `cssClass(rootClass)` returns the BEM modifier class string.\n *\n * Usage as hostDirective:\n * ```\n * hostDirectives: [{\n * directive: EdsSizeDirective,\n * inputs: ['edsSizeM', 'edsSizeL', 'edsSizeVariant'],\n * }]\n * ```\n */\n@Directive({\n selector: '[edsSizeVariants]',\n})\nexport class EdsSizeDirective {\n /** String-based size input — the canonical API. */\n edsSizeVariant = input<EdsSizeToken | ''>('');\n\n // Boolean shorthand inputs\n edsSize2XS = input(false, { transform: booleanAttribute });\n edsSizeXS = input(false, { transform: booleanAttribute });\n edsSizeS = input(false, { transform: booleanAttribute });\n edsSizeM = input(false, { transform: booleanAttribute });\n edsSizeL = input(false, { transform: booleanAttribute });\n edsSizeXL = input(false, { transform: booleanAttribute });\n edsSize2XL = input(false, { transform: booleanAttribute });\n edsSize3XL = input(false, { transform: booleanAttribute });\n edsSize4XL = input(false, { transform: booleanAttribute });\n edsSize5XL = input(false, { transform: booleanAttribute });\n edsSize6XL = input(false, { transform: booleanAttribute });\n edsSizeAuto = input(false, { transform: booleanAttribute });\n\n /** Resolved size — first boolean that is true wins, otherwise falls back to `edsSizeVariant`. */\n resolvedSize = computed((): EdsSizeToken | '' => {\n if (this.edsSize2XS()) return '2xs';\n if (this.edsSizeXS()) return 'xs';\n if (this.edsSizeS()) return 's';\n if (this.edsSizeM()) return 'm';\n if (this.edsSizeL()) return 'l';\n if (this.edsSizeXL()) return 'xl';\n if (this.edsSize2XL()) return '2xl';\n if (this.edsSize3XL()) return '3xl';\n if (this.edsSize4XL()) return '4xl';\n if (this.edsSize5XL()) return '5xl';\n if (this.edsSize6XL()) return '6xl';\n if (this.edsSizeAuto()) return 'auto';\n return this.edsSizeVariant();\n });\n\n /** Returns the BEM modifier class for the resolved size, e.g. `eds-tag--size-m`. */\n cssClass = computed(() => {\n const size = this.resolvedSize();\n return size ? `--size-${size}` : '';\n });\n\n /**\n * Returns the full BEM class with the component root prefix.\n * E.g. `getCssClass('eds-tag')` → `'eds-tag--size-m'`\n */\n getCssClass(rootClass: string): string {\n const size = this.resolvedSize();\n return size ? `${rootClass}--size-${size}` : '';\n }\n}\n","import { computed, Directive, input, booleanAttribute } from '@angular/core';\n\n/** Supported color tokens across EDS components. */\nexport type EdsColorToken =\n | 'primary'\n | 'brand'\n | 'neutral'\n | 'neutral-subtle'\n | 'neutral-subtler'\n | 'highlight'\n | 'info'\n | 'success'\n | 'warning'\n | 'critical'\n | 'disabled';\n\n/**\n * Signal-based color variant directive.\n *\n * Provides both a string-based `edsColorVariant` input and boolean shorthand inputs\n * (`edsNeutral`, `edsSuccess`, etc.) for template ergonomics.\n *\n * The resolved color is exposed as a reactive `resolvedColor` computed signal,\n * and `getCssClass(rootClass)` returns the BEM modifier class string.\n *\n * Usage as hostDirective:\n * ```\n * hostDirectives: [{\n * directive: EdsColorDirective,\n * inputs: ['edsNeutral', 'edsSuccess', 'edsColorVariant'],\n * }]\n * ```\n */\n@Directive({\n selector: '[edsColorVariants]',\n})\nexport class EdsColorDirective {\n /** String-based color input — the canonical API. */\n edsColorVariant = input<EdsColorToken | ''>('');\n\n // Boolean shorthand inputs\n edsPrimary = input(false, { transform: booleanAttribute });\n edsBrand = input(false, { transform: booleanAttribute });\n edsNeutral = input(false, { transform: booleanAttribute });\n edsNeutralSubtle = input(false, { transform: booleanAttribute });\n edsNeutralSubtler = input(false, { transform: booleanAttribute });\n edsHighlight = input(false, { transform: booleanAttribute });\n edsInfo = input(false, { transform: booleanAttribute });\n edsSuccess = input(false, { transform: booleanAttribute });\n edsWarning = input(false, { transform: booleanAttribute });\n edsCritical = input(false, { transform: booleanAttribute });\n edsDisabled = input(false, { transform: booleanAttribute });\n\n /** Resolved color — first boolean that is true wins, otherwise falls back to `edsColorVariant`. */\n resolvedColor = computed((): EdsColorToken | '' => {\n if (this.edsPrimary()) return 'primary';\n if (this.edsBrand()) return 'brand';\n if (this.edsNeutral()) return 'neutral';\n if (this.edsNeutralSubtle()) return 'neutral-subtle';\n if (this.edsNeutralSubtler()) return 'neutral-subtler';\n if (this.edsHighlight()) return 'highlight';\n if (this.edsInfo()) return 'info';\n if (this.edsSuccess()) return 'success';\n if (this.edsWarning()) return 'warning';\n if (this.edsCritical()) return 'critical';\n if (this.edsDisabled()) return 'disabled';\n return this.edsColorVariant();\n });\n\n /** Returns the BEM modifier suffix for the resolved color, e.g. `--neutral`. */\n cssClass = computed(() => {\n const color = this.resolvedColor();\n return color ? `--${color}` : '';\n });\n\n /**\n * Returns the full BEM class with the component root prefix.\n * E.g. `getCssClass('eds-tag')` → `'eds-tag--neutral'`\n */\n getCssClass(rootClass: string): string {\n const color = this.resolvedColor();\n return color ? `${rootClass}--${color}` : '';\n }\n}\n","import {\n Directive,\n ElementRef,\n Renderer2,\n ViewContainerRef,\n inject,\n input,\n booleanAttribute,\n OnChanges,\n SimpleChanges,\n AfterViewInit,\n DoCheck,\n Injector,\n OnDestroy,\n} from '@angular/core';\nimport { NgControl, NgModel } from '@angular/forms';\n\n/**\n * Directive adding a clear button to text input fields for quick value reset.\n * Dynamically creates a close icon that appears when input has content.\n *\n * Usage: `<input edsInputText edsClearable />`\n */\n@Directive({\n // Applied via hostDirectives only — selector intentionally non-matching\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[edsClearable]:not([edsInputText])',\n})\nexport class EdsClearableDirective implements OnChanges, AfterViewInit, OnDestroy, DoCheck {\n edsClearable = input(true, { transform: booleanAttribute });\n readonly = input(false, { transform: booleanAttribute });\n disabled = input(false, { transform: booleanAttribute });\n\n private _elementRef = inject(ElementRef);\n private _renderer = inject(Renderer2);\n private _injector = inject(Injector);\n private _clearIcon: HTMLElement | null = null;\n private _wrapper: HTMLElement | null = null;\n private _inputListener: (() => void) | null = null;\n private _clickListener: (() => void) | null = null;\n private _keyListener: (() => void) | null = null;\n private _classObserver: MutationObserver | null = null;\n\n ngAfterViewInit(): void {\n if (this.edsClearable()) {\n this._setup();\n // Delay visibility check to allow form control to write initial value\n Promise.resolve().then(() => this._syncVisibility());\n }\n }\n\n ngDoCheck(): void {\n // Sync visibility on every change detection cycle to catch programmatic value changes\n this._syncVisibility();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['edsClearable']) {\n if (this.edsClearable()) {\n this._setup();\n } else {\n this._teardown();\n }\n }\n if (changes['readonly']) {\n if (this.readonly()) {\n this._teardown();\n } else if (this.edsClearable()) {\n this._setup();\n this._syncVisibility();\n }\n }\n if (changes['disabled'] && this._clearIcon) {\n if (this.disabled()) {\n this._renderer.setStyle(this._clearIcon, 'visibility', 'hidden');\n } else {\n this._syncVisibility();\n }\n }\n }\n\n ngOnDestroy(): void {\n this._teardown();\n }\n\n private _setup(): void {\n if (this._clearIcon) {\n return;\n }\n\n // Create wrapper\n if (!this._wrapper) {\n this._wrapper = this._renderer.createElement('div');\n this._wrapper!.setAttribute('style', 'position:relative;display:flex;width:100%;min-width:0;');\n this._renderer.insertBefore(\n this._elementRef.nativeElement.parentElement,\n this._wrapper,\n this._elementRef.nativeElement,\n );\n this._renderer.appendChild(this._wrapper, this._elementRef.nativeElement);\n }\n\n // Create clear icon\n this._clearIcon = this._renderer.createElement('span');\n this._renderer.setAttribute(this._clearIcon, 'aria-label', 'Clear input');\n this._renderer.setAttribute(this._clearIcon, 'role', 'button');\n this._renderer.setAttribute(this._clearIcon, 'tabindex', '0');\n this._renderer.addClass(this._clearIcon, 'eds-clearable-icon');\n this._renderer.setStyle(this._clearIcon, 'position', 'absolute');\n this._renderer.setStyle(this._clearIcon, 'right', 'var(--eds-sp-s)');\n this._renderer.setStyle(this._clearIcon, 'top', '50%');\n this._renderer.setStyle(this._clearIcon, 'transform', 'translateY(-50%)');\n this._renderer.setStyle(this._clearIcon, 'cursor', 'pointer');\n this._renderer.setStyle(this._clearIcon, 'font-size', '18px');\n this._renderer.setStyle(this._clearIcon, 'line-height', '1');\n this._renderer.setStyle(this._clearIcon, 'color', 'var(--eds-c-foreground-subtle)');\n this._renderer.setStyle(this._clearIcon, 'border-radius', 'var(--eds-br-xs)');\n this._renderer.setStyle(this._clearIcon, 'padding', '2px');\n this._renderer.setStyle(this._clearIcon, 'outline', 'none');\n this._renderer.setStyle(this._clearIcon, 'visibility', 'hidden');\n this._clearIcon!.innerHTML = '✕';\n\n // Add focus-visible listener for keyboard accessibility\n this._renderer.listen(this._clearIcon, 'focus', () => {\n this._renderer.setStyle(this._clearIcon, 'outline', '2px solid var(--eds-c-focus-default, #0e47cb)');\n this._renderer.setStyle(this._clearIcon, 'outline-offset', '1px');\n });\n this._renderer.listen(this._clearIcon, 'blur', () => {\n this._renderer.setStyle(this._clearIcon, 'outline', 'none');\n });\n\n this._renderer.appendChild(this._wrapper, this._clearIcon);\n\n // Add class to input — SCSS handles padding\n this._renderer.addClass(this._elementRef.nativeElement, 'eds-input-text--clearable');\n\n // Listen for input changes\n this._inputListener = this._renderer.listen(this._elementRef.nativeElement, 'input', () => this._syncVisibility());\n\n // Listen for click on clear icon\n this._clickListener = this._renderer.listen(this._clearIcon, 'click', () => this._clear());\n this._keyListener = this._renderer.listen(this._clearIcon, 'keydown.enter', () => this._clear());\n\n // Observe class and readonly changes to hide/show when loading toggles or readonly changes\n this._classObserver = new MutationObserver(() => this._syncVisibility());\n this._classObserver.observe(this._elementRef.nativeElement, { attributes: true, attributeFilter: ['class', 'readonly'] });\n }\n\n private _teardown(): void {\n if (this._classObserver) {\n this._classObserver.disconnect();\n this._classObserver = null;\n }\n if (this._inputListener) {\n this._inputListener();\n this._inputListener = null;\n }\n if (this._clickListener) {\n this._clickListener();\n this._clickListener = null;\n }\n if (this._keyListener) {\n this._keyListener();\n this._keyListener = null;\n }\n if (this._clearIcon && this._wrapper) {\n this._renderer.removeChild(this._wrapper, this._clearIcon);\n this._clearIcon = null;\n }\n if (this._wrapper) {\n this._renderer.insertBefore(this._wrapper.parentElement, this._elementRef.nativeElement, this._wrapper);\n this._renderer.removeChild(this._wrapper.parentElement, this._wrapper);\n this._wrapper = null;\n }\n this._renderer.removeClass(this._elementRef.nativeElement, 'eds-input-text--clearable');\n }\n\n private _syncVisibility(): void {\n if (!this._clearIcon) {\n return;\n }\n // Hide clearable when loading is active, input is readonly, or input is disabled\n const isLoading = this._elementRef.nativeElement.classList.contains('eds-input-text--loading');\n const isReadonly = this._elementRef.nativeElement.hasAttribute('readonly');\n const isDisabled = this.disabled() || this._elementRef.nativeElement.hasAttribute('disabled');\n if (isLoading || isReadonly || isDisabled) {\n this._renderer.setStyle(this._clearIcon, 'visibility', 'hidden');\n return;\n }\n const value = this._elementRef.nativeElement.value;\n this._renderer.setStyle(this._clearIcon, 'visibility', value?.length > 0 ? 'visible' : 'hidden');\n }\n\n private _clear(): void {\n const control = this._injector.get(NgControl, null, { optional: true });\n if (control) {\n control.reset();\n } else {\n this._elementRef.nativeElement.value = '';\n this._elementRef.nativeElement.dispatchEvent(new InputEvent('input', { data: null }));\n }\n this._elementRef.nativeElement.dispatchEvent(new Event('clear'));\n this._elementRef.nativeElement.focus();\n this._syncVisibility();\n }\n}\n","import {\n Directive,\n ElementRef,\n Renderer2,\n inject,\n input,\n booleanAttribute,\n OnChanges,\n SimpleChanges,\n OnDestroy,\n AfterViewInit,\n} from '@angular/core';\n\n/**\n * Directive displaying a loading spinner inside an input field during async operations.\n * Relies on the `eds-input` mixin SCSS for all visual styling — no inline styles.\n *\n * Usage: `<input edsInputText [edsLoading]=\"isSearching\" />`\n */\n@Directive({\n // Applied via hostDirectives only — selector intentionally non-matching\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[edsLoading]:not([edsInputText])',\n})\nexport class EdsLoadingDirective implements OnChanges, AfterViewInit, OnDestroy {\n edsLoading = input(false, { transform: booleanAttribute });\n readonly = input(false, { transform: booleanAttribute });\n\n private _elementRef = inject(ElementRef);\n private _renderer = inject(Renderer2);\n private _icon: HTMLElement | null = null;\n private _wrapper: HTMLElement | null = null;\n private _initialized = false;\n\n ngAfterViewInit(): void {\n this._initialized = true;\n if (this.edsLoading()) {\n this._show();\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (!this._initialized) {\n return;\n }\n if (changes['edsLoading']) {\n if (this.edsLoading()) {\n this._show();\n } else {\n this._hide();\n }\n }\n }\n\n ngOnDestroy(): void {\n this._hide();\n }\n\n private _ensureWrapper(): HTMLElement {\n if (this._wrapper) {\n return this._wrapper;\n }\n\n // Check if clearable already created a wrapper\n const parent = this._elementRef.nativeElement.parentElement;\n if (parent?.style?.position === 'relative') {\n this._wrapper = parent;\n return this._wrapper;\n }\n\n // Create wrapper — only position:relative needed for CSS positioning\n this._wrapper = this._renderer.createElement('div');\n this._wrapper!.setAttribute('style', 'position:relative;display:flex;width:100%;min-width:0;');\n this._renderer.insertBefore(parent, this._wrapper, this._elementRef.nativeElement);\n this._renderer.appendChild(this._wrapper, this._elementRef.nativeElement);\n return this._wrapper!;\n }\n\n private _show(): void {\n if (this._icon) {\n return;\n }\n\n // Add loading class — SCSS handles padding-right via &--loading\n this._renderer.addClass(this._elementRef.nativeElement, 'eds-input-text--loading');\n\n const wrapper = this._ensureWrapper();\n\n // Create loading icon element with minimal positioning\n // Visual styles must be inline since element is outside Angular view encapsulation\n this._icon = this._renderer.createElement('span');\n this._renderer.addClass(this._icon, 'eds-input-text--loading-icon');\n this._icon!.setAttribute('style', [\n 'position:absolute',\n 'right:var(--eds-sp-s)',\n 'top:50%',\n 'transform:translateY(-50%)',\n 'width:20px',\n 'height:20px',\n 'border:3px solid var(--eds-c-border-neutral)',\n 'border-top-color:var(--eds-c-border-primary)',\n 'border-radius:50%',\n 'animation:eds-spin 0.6s linear infinite',\n 'pointer-events:none',\n ].join(';'));\n this._renderer.appendChild(wrapper, this._icon);\n\n // Set input to readonly while loading\n this._renderer.setAttribute(this._elementRef.nativeElement, 'readonly', '');\n }\n\n private _hide(): void {\n if (this._icon) {\n this._icon.remove();\n this._icon = null;\n }\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'readonly');\n this._renderer.removeClass(this._elementRef.nativeElement, 'eds-input-text--loading');\n }\n}\n","import {\n Directive,\n ElementRef,\n Renderer2,\n inject,\n input,\n output,\n numberAttribute,\n booleanAttribute,\n AfterContentInit,\n OnDestroy,\n OnChanges,\n SimpleChanges,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\n/**\n * @description\n * Directive that adds maxLength functionality to input/textarea elements with visual feedback.\n * Shows remaining characters count and provides visual indication when the limit is reached.\n *\n * @usageNotes\n * ```html\n * <input edsInputText [edsMaxlength]=\"100\" />\n * <textarea [edsMaxlength]=\"200\" [isShowMaxlength]=\"false\"></textarea>\n * ```\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'input[edsMaxlength], textarea[edsMaxlength], [ngModel][edsMaxlength], [formControlName][edsMaxlength]',\n host: {\n '(input)': '_onInput()',\n '(change)': '_onInput()',\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n '(paste)': '_onPaste($any($event))',\n },\n})\nexport class EdsMaxlengthDirective implements AfterContentInit, OnDestroy, OnChanges {\n /** Maximum character length. Set to null to disable. */\n edsMaxlength = input(0, { transform: numberAttribute });\n\n /** Controls visibility of the maxLength counter indicator. */\n isShowMaxlength = input(true, { transform: booleanAttribute });\n\n /** Emits true when max length is reached, false when below limit. */\n maxLengthReached = output<boolean>();\n\n private _el = inject(ElementRef);\n private _renderer = inject(Renderer2);\n private _control = inject(NgControl, { self: true, optional: true });\n private _maxLengthSpan: HTMLSpanElement | undefined;\n private _wrapper: HTMLDivElement | undefined;\n private _valueChangesSub: Subscription | undefined;\n\n ngAfterContentInit(): void {\n if (this.edsMaxlength()) {\n this._createMaxLengthBox();\n this._refresh();\n }\n\n if (this._control?.valueChanges) {\n this._valueChangesSub = this._control.valueChanges.subscribe(() => this._refresh());\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['isShowMaxlength']) {\n if (this.isShowMaxlength()) {\n this._createMaxLengthBox();\n this._refresh();\n } else {\n this._destroyMaxLengthBox();\n }\n }\n if (changes['edsMaxlength']) {\n const maxLen = this.edsMaxlength();\n if (maxLen < 0) {\n throw new Error('edsMaxlength cannot be negative.');\n }\n if (maxLen) {\n if (this.isShowMaxlength() && !this._maxLengthSpan) {\n this._createMaxLengthBox();\n }\n this._refresh();\n } else {\n this._renderer.removeAttribute(this._el.nativeElement, 'maxLength');\n this._destroyMaxLengthBox();\n }\n }\n }\n\n ngOnDestroy(): void {\n this._destroyMaxLengthBox();\n this._valueChangesSub?.unsubscribe();\n }\n\n protected _onInput(): void {\n this._refresh();\n }\n\n protected _onPaste(event: ClipboardEvent): void {\n const value = (event.clipboardData || (window as unknown as Record<string, unknown>)['clipboardData'] as DataTransfer | undefined)?.getData('text') || '';\n const input = this._el.nativeElement as HTMLInputElement;\n if (this.edsMaxlength()) {\n this._renderer.setProperty(input, 'maxLength', this._calculateMaxLength(value));\n }\n }\n\n private _calculateMaxLength(pastedValue?: string): number {\n const currentValue = this._getValue();\n const currentLen = currentValue?.length || 0;\n const valueLen = this._getValueLength();\n return (pastedValue?.length || currentLen - valueLen) + this.edsMaxlength();\n }\n\n private _getValueLength(): number {\n return this._getValue()?.length || 0;\n }\n\n private _getValue(): string {\n const input = this._el.nativeElement as HTMLInputElement;\n return this._control && this._control.control?.updateOn === 'change'\n ? this._control.value\n : input.value;\n }\n\n private _refresh(): void {\n const maxLen = this.edsMaxlength();\n if (isNaN(maxLen) || !maxLen) {\n return;\n }\n const input = this._el.nativeElement as HTMLInputElement;\n const valueLength = this._getValueLength();\n const remaining = maxLen - valueLength;\n\n this._renderer.setProperty(input, 'maxLength', this._calculateMaxLength());\n\n if (this._maxLengthSpan) {\n if (remaining <= 0) {\n this._maxLengthSpan.style.color = 'var(--eds-c-foreground-critical)';\n this.maxLengthReached.emit(true);\n } else {\n this._maxLengthSpan.style.color = 'var(--eds-c-foreground-subtler)';\n this.maxLengthReached.emit(false);\n }\n\n if (remaining < 0) {\n if (this._control) {\n this._control.control!.setValue(input.value.substring(0, this._calculateMaxLength()));\n } else {\n input.value = input.value.substring(0, this._calculateMaxLength());\n }\n this._renderer.setProperty(this._maxLengthSpan, 'textContent', `${maxLen} / ${maxLen}`);\n } else {\n // Display current character count over the maximum, e.g. \"12 / 100\".\n this._renderer.setProperty(this._maxLengthSpan, 'textContent', `${valueLength} / ${maxLen}`);\n }\n }\n }\n\n private _createMaxLengthBox(): void {\n if (this._maxLengthSpan) {\n this._destroyMaxLengthBox();\n }\n\n this._maxLengthSpan = this._renderer.createElement('span');\n this._renderer.addClass(this._maxLengthSpan, 'eds-maxlength');\n const initialLength = Math.min(this._getValueLength(), this.edsMaxlength() || 0);\n this._renderer.setProperty(this._maxLengthSpan, 'textContent', `${initialLength} / ${this.edsMaxlength() || 0}`);\n // Inline styles (self-contained, no global stylesheet dependency).\n // No border, no background — only the foreground color. The counter sits\n // above the top-right corner of the element it is attached to.\n this._maxLengthSpan.setAttribute('style', [\n 'font: var(--eds-f-microcopy-xs)',\n 'color: var(--eds-c-foreground-subtler)',\n 'padding: 0 var(--eds-sp-3xs)',\n 'position: absolute',\n 'right: 0',\n 'bottom: 100%',\n 'z-index: 1',\n 'line-height: 1.6',\n 'pointer-events: none',\n ].join(';'));\n\n const nativeElement: HTMLElement = this._el.nativeElement;\n const parent = nativeElement.parentNode;\n if (parent && this.isShowMaxlength()) {\n this._renderer.setStyle(nativeElement, 'width', '100%');\n this._wrapper = this._renderer.createElement('div');\n this._renderer.addClass(this._wrapper, 'eds-maxlength-wrapper');\n this._wrapper.setAttribute('style', 'position: relative; width: 100%;');\n parent.replaceChild(this._wrapper, nativeElement);\n this._renderer.appendChild(this._wrapper, nativeElement);\n this._renderer.appendChild(this._wrapper, this._maxLengthSpan);\n }\n }\n\n private _destroyMaxLengthBox(): void {\n if (this._maxLengthSpan) {\n this._renderer.removeChild(this._maxLengthSpan.parentElement, this._maxLengthSpan);\n this._maxLengthSpan = undefined;\n }\n if (this._wrapper) {\n const parent = this._wrapper.parentNode;\n const nativeElement = this._el.nativeElement;\n parent?.replaceChild(nativeElement, this._wrapper);\n this._wrapper = undefined;\n }\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n Directive,\n ElementRef,\n OnDestroy,\n OnInit,\n Renderer2,\n inject,\n input,\n output,\n effect,\n numberAttribute,\n booleanAttribute,\n} from '@angular/core';\nimport { fromEvent, Subject } from 'rxjs';\nimport { distinctUntilChanged, map, takeUntil, tap } from 'rxjs/operators';\n\n/** Handle placement side. */\nexport type EdsResizablePosition = 'left' | 'right';\n\n/** Ensures value is a non-negative pixel number. */\nconst pixelTransform = (value: string | number): number => Math.max(0, numberAttribute(value, 0));\n\n/**\n * Directive that enables interactive resizing of a host element by dragging a handle.\n * Applies width constraints dynamically and supports left or right-side handle placement.\n *\n * Usage: `<div edsResizable [edsResizableMinWidth]=\"200\" [edsResizableMaxWidth]=\"600\"></div>`\n */\n@Directive({\n selector: '[edsResizable]',\n host: {\n 'style.position': 'relative',\n },\n})\nexport class EdsResizable implements OnInit, OnDestroy {\n /** Minimum width in pixels. */\n edsResizableMinWidth = input(0, { transform: pixelTransform });\n\n /** Maximum width in pixels. */\n edsResizableMaxWidth = input<number | undefined>(undefined);\n\n /** Handle placement side. */\n edsResizablePosition = input<EdsResizablePosition>('right');\n\n /** Whether the resize handle is hidden/disabled. */\n edsResizableDisabled = input(false, { transform: booleanAttribute });\n\n /** Step size in pixels for keyboard arrow key resizing. */\n edsResizableKeyStep = input(10, { transform: pixelTransform });\n\n /** Accessible label for the separator handle. */\n edsResizableAriaLabel = input('Press the left or right arrow key to resize the panel');\n\n /** Emits the new width in pixels after a resize operation. */\n edsResizableWidthChange = output<number>();\n\n private document = inject<Document>(DOCUMENT);\n private el = inject<ElementRef<HTMLElement>>(ElementRef);\n private renderer = inject(Renderer2);\n\n private destroy$ = new Subject<void>();\n private interaction$ = new Subject<void>();\n private handleEl!: HTMLElement;\n private initialized = false;\n\n constructor() {\n effect(() => {\n const disabled = this.edsResizableDisabled();\n if (!this.initialized) return;\n if (disabled) {\n this.teardownInteraction();\n } else {\n this.setupInteraction();\n }\n this.updateHandleVisibility();\n });\n }\n\n ngOnInit(): void {\n this.createHandle();\n this.initialized = true;\n if (!this.edsResizableDisabled()) {\n this.setupInteraction();\n }\n this.updateHandleVisibility();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n this.interaction$.complete();\n }\n\n private applySize(size: number): void {\n const min = this.edsResizableMinWidth();\n const max = this.edsResizableMaxWidth();\n let constrained = Math.max(Math.round(size), min);\n if (max !== undefined) {\n constrained = Math.min(constrained, max);\n }\n\n const host = this.el.nativeElement;\n this.renderer.setStyle(host, 'width', `${constrained}px`);\n this.renderer.setStyle(host, 'min-width', `${constrained}px`);\n this.renderer.setStyle(host, 'max-width', `${constrained}px`);\n this.renderer.setStyle(host, 'flex-basis', `${constrained}px`);\n\n this.handleEl.setAttribute('aria-valuenow', String(constrained));\n this.edsResizableWidthChange.emit(constrained);\n }\n\n private setupInteraction(): void {\n this.interaction$.next();\n\n fromEvent<MouseEvent>(this.handleEl, 'mousedown').pipe(\n tap(e => e.preventDefault()),\n takeUntil(this.interaction$),\n takeUntil(this.destroy$),\n ).subscribe(e => {\n if (e.button !== 0) return;\n\n const { width, right, left } = this.el.nativeElement.getBoundingClientRect();\n this.renderer.addClass(this.document.body, 'eds-resizing');\n\n fromEvent<MouseEvent>(this.document, 'mousemove').pipe(\n map(({ clientX }) => {\n if (this.edsResizablePosition() === 'right') {\n return width + clientX - right;\n }\n return width + (left - clientX);\n }),\n distinctUntilChanged(),\n takeUntil(fromEvent(this.document, 'mouseup').pipe(\n tap(() => this.renderer.removeClass(this.document.body, 'eds-resizing')),\n )),\n ).subscribe(size => this.applySize(size));\n });\n\n fromEvent<KeyboardEvent>(this.handleEl, 'keydown').pipe(\n takeUntil(this.interaction$),\n takeUntil(this.destroy$),\n ).subscribe(e => this.onKeydown(e));\n }\n\n private teardownInteraction(): void {\n this.interaction$.next();\n }\n\n private onKeydown(e: KeyboardEvent): void {\n const currentWidth = this.el.nativeElement.getBoundingClientRect().width;\n const step = this.edsResizableKeyStep();\n const isLeft = this.edsResizablePosition() === 'left';\n let newSize: number | null = null;\n\n switch (e.key) {\n case 'ArrowRight':\n newSize = isLeft ? currentWidth - step : currentWidth + step;\n break;\n case 'ArrowLeft':\n newSize = isLeft ? currentWidth + step : currentWidth - step;\n break;\n case 'Home':\n newSize = this.edsResizableMinWidth();\n break;\n case 'End':\n newSize = this.edsResizableMaxWidth() ?? currentWidth;\n break;\n default:\n return;\n }\n\n e.preventDefault();\n this.applySize(newSize);\n }\n\n private createHandle(): void {\n const handle = this.renderer.createElement('div');\n\n // Position & layout\n this.renderer.setStyle(handle, 'position', 'absolute');\n this.renderer.setStyle(handle, 'top', '0');\n this.renderer.setStyle(handle, 'bottom', '0');\n this.renderer.setStyle(handle, 'width', '6px');\n this.renderer.setStyle(handle, 'cursor', 'ew-resize');\n this.renderer.setStyle(handle, 'opacity', '0');\n this.renderer.setStyle(handle, 'background', 'var(--eds-c-border-primary)');\n this.renderer.setStyle(handle, 'transition', 'opacity 0.2s ease');\n this.renderer.setStyle(handle, 'z-index', '10');\n\n if (this.edsResizablePosition() === 'right') {\n this.renderer.setStyle(handle, 'right', '0');\n } else {\n this.renderer.setStyle(handle, 'left', '0');\n }\n\n // Hover/focus effects via event listeners\n this.renderer.listen(handle, 'mouseenter', () => this.renderer.setStyle(handle, 'opacity', '1'));\n this.renderer.listen(handle, 'mouseleave', () => {\n if (this.document.activeElement !== handle) {\n this.renderer.setStyle(handle, 'opacity', '0');\n }\n });\n this.renderer.listen(handle, 'focus', () => this.renderer.setStyle(handle, 'opacity', '1'));\n this.renderer.listen(handle, 'blur', () => this.renderer.setStyle(handle, 'opacity', '0'));\n\n // Accessibility attributes\n this.renderer.setAttribute(handle, 'role', 'separator');\n this.renderer.setAttribute(handle, 'aria-orientation', 'vertical');\n this.renderer.setAttribute(handle, 'tabindex', '0');\n this.renderer.setAttribute(handle, 'aria-label', this.edsResizableAriaLabel());\n this.renderer.setAttribute(handle, 'aria-valuemin', String(this.edsResizableMinWidth()));\n if (this.edsResizableMaxWidth() !== undefined) {\n this.renderer.setAttribute(handle, 'aria-valuemax', String(this.edsResizableMaxWidth()));\n }\n const currentWidth = Math.round(this.el.nativeElement.getBoundingClientRect().width);\n this.renderer.setAttribute(handle, 'aria-valuenow', String(currentWidth));\n\n this.renderer.appendChild(this.el.nativeElement, handle);\n this.handleEl = handle;\n }\n private updateHandleVisibility(): void {\n if (!this.handleEl) return;\n if (this.edsResizableDisabled()) {\n this.renderer.setStyle(this.handleEl, 'display', 'none');\n } else {\n this.renderer.removeStyle(this.handleEl, 'display');\n }\n }\n}\n","import { Injectable, signal, computed } from '@angular/core';\n\n/**\n * EdsShellService provides a centralized, signal-based state management service\n * for shell-level concerns. It replaces the legacy BehaviorSubject-based\n * EuiAppShellService pattern with a modern Angular signals approach.\n *\n * @usageNotes\n * Inject the service and use signal-based state:\n *\n * ```ts\n * import { EdsShellService } from '@eui/eds/shared';\n *\n * private shellService = inject(EdsShellService);\n *\n * blockDocument(): void {\n * this.shellService.setBlockDocumentActive(true);\n * // ... async operation\n * this.shellService.setBlockDocumentActive(false);\n * }\n * ```\n *\n * The EdsShell component reads `isBlockDocumentActive` to show/hide the\n * EdsBlockDocument overlay.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class EdsShellService {\n /** Read-only signal exposing the block document state. */\n readonly isBlockDocumentActive;\n\n /** Read-only signal exposing the dimmer state. */\n readonly isDimmerActive;\n\n /** Read-only signal exposing the modal active state. */\n readonly hasModalActive;\n\n /** Computed: whether the UI should be considered \"blocked\" by any mechanism. */\n readonly isBlocked;\n\n /** Whether the full-page block document overlay is active. */\n private _isBlockDocumentActive = signal(false);\n\n /** Whether a dimmer/overlay is active (used by edit-mode scenarios). */\n private _isDimmerActive = signal(false);\n\n /** Whether there is currently a modal active in the application. */\n private _hasModalActive = signal(false);\n\n constructor() {\n this.isBlockDocumentActive = this._isBlockDocumentActive.asReadonly();\n this.isDimmerActive = this._isDimmerActive.asReadonly();\n this.hasModalActive = this._hasModalActive.asReadonly();\n this.isBlocked = computed(() => this._isBlockDocumentActive() || this._hasModalActive());\n }\n\n /**\n * Activates or deactivates the full-page block document overlay.\n * When active, EdsBlockDocument renders a fixed overlay with a loading indicator.\n */\n setBlockDocumentActive(isActive: boolean): void {\n this._isBlockDocumentActive.set(isActive);\n }\n\n /**\n * Activates or deactivates the dimmer overlay.\n */\n setDimmerActive(isActive: boolean): void {\n this._isDimmerActive.set(isActive);\n }\n\n /**\n * Toggles the dimmer overlay state.\n */\n toggleDimmer(): void {\n this._isDimmerActive.update(v => !v);\n }\n\n /**\n * Activates or deactivates the modal state flag.\n */\n setModalActive(isActive: boolean): void {\n this._hasModalActive.set(isActive);\n }\n}\n","import { Directive } from '@angular/core';\n\n/**\n * @description\n * Visually hides content while keeping it accessible to screen readers.\n * Use on elements that provide context for assistive technology but should\n * not be visible on screen.\n *\n * @example\n * <span edsSrOnly>Opens in a new tab</span>\n */\n@Directive({\n // eslint-disable-next-line\n selector: '[edsSrOnly]',\n host: {\n style: 'position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0',\n },\n})\nexport class EdsSrOnly {}\n","import { Directive } from '@angular/core';\n\n/**\n * @description\n * Truncates text content with an ellipsis when it overflows its container.\n * Apply to any block or inline-block element.\n *\n * @example\n * <p edsTextTruncate>This very long text will be truncated with an ellipsis</p>\n */\n@Directive({\n // eslint-disable-next-line\n selector: '[edsTextTruncate]',\n host: {\n style: 'overflow:hidden;text-overflow:ellipsis;white-space:nowrap',\n },\n})\nexport class EdsTextTruncate {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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AA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAA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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eui/eds",
3
- "version": "22.0.0-alpha.34",
3
+ "version": "22.0.0-alpha.35",
4
4
  "tag": "next",
5
5
  "description": "eUI EDS components package",
6
6
  "homepage": "https://eui.ecdevops.eu",
@@ -27,8 +27,16 @@ declare class EdsMultiselectOption implements Highlightable {
27
27
  * @default false
28
28
  */
29
29
  isDisabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
30
+ /**
31
+ * Whether this entry is a non-selectable group header.
32
+ * When true the entry renders as plain label text, is skipped by keyboard
33
+ * navigation, and cannot be selected.
34
+ * @default false
35
+ */
36
+ isGroup: _angular_core.InputSignalWithTransform<boolean, unknown>;
30
37
  /**
31
38
  * Required by Highlightable interface — reads the signal value.
39
+ * Group headers are treated as "disabled" so the key manager skips them.
32
40
  */
33
41
  get disabled(): boolean;
34
42
  /** Whether this option is currently selected. */
@@ -42,7 +50,7 @@ declare class EdsMultiselectOption implements Highlightable {
42
50
  setInactiveStyles(): void;
43
51
  onSelect(): void;
44
52
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<EdsMultiselectOption, never>;
45
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<EdsMultiselectOption, "eds-multiselect-option", never, { "value": { "alias": "value"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; "isDisabled": { "alias": "isDisabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
53
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<EdsMultiselectOption, "eds-multiselect-option", never, { "value": { "alias": "value"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; "isDisabled": { "alias": "isDisabled"; "required": false; "isSignal": true; }; "isGroup": { "alias": "isGroup"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
46
54
  }
47
55
 
48
56
  /**
@@ -103,10 +111,28 @@ declare class EdsMultiselect implements ControlValueAccessor, OnDestroy, AfterCo
103
111
  * @default 'Select options'
104
112
  */
105
113
  ariaLabel: _angular_core.InputSignal<string>;
114
+ /**
115
+ * Label for the panel-footer "Cancel" button.
116
+ * @default 'Cancel'
117
+ */
118
+ cancelLabel: _angular_core.InputSignal<string>;
119
+ /**
120
+ * Label for the panel-footer "Confirm choice" button.
121
+ * @default 'Confirm choice'
122
+ */
123
+ confirmLabel: _angular_core.InputSignal<string>;
106
124
  /**
107
125
  * Emits the current selection whenever it changes.
108
126
  */
109
127
  valueChange: _angular_core.OutputEmitterRef<string[]>;
128
+ /**
129
+ * Emits the confirmed selection when the "Confirm choice" button is clicked.
130
+ */
131
+ confirmed: _angular_core.OutputEmitterRef<string[]>;
132
+ /**
133
+ * Emits when the "Cancel" button is clicked (selection reverted to its pre-open state).
134
+ */
135
+ cancelled: _angular_core.OutputEmitterRef<void>;
110
136
  /** The projected option components. */
111
137
  readonly options: _angular_core.Signal<readonly EdsMultiselectOption[]>;
112
138
  /** Reference to the dropdown template for the overlay. */
@@ -117,6 +143,8 @@ declare class EdsMultiselect implements ControlValueAccessor, OnDestroy, AfterCo
117
143
  isOpen: _angular_core.WritableSignal<boolean>;
118
144
  /** Internal selected values. */
119
145
  protected internalValue: _angular_core.WritableSignal<string[]>;
146
+ /** Snapshot of the selection taken when the dropdown opens, used to revert on Cancel. */
147
+ private valueSnapshot;
120
148
  /** Internal disabled state (supports CVA setDisabledState). */
121
149
  protected internalDisabled: _angular_core.WritableSignal<boolean>;
122
150
  /** Internal invalid state. */
@@ -145,7 +173,8 @@ declare class EdsMultiselect implements ControlValueAccessor, OnDestroy, AfterCo
145
173
  protected onTriggerClick(): void;
146
174
  protected onTriggerKeydown(event: KeyboardEvent): void;
147
175
  protected onOptionClick(option: EdsMultiselectOption): void;
148
- protected onDoneClick(): void;
176
+ protected onConfirmClick(): void;
177
+ protected onCancelClick(): void;
149
178
  protected onPanelKeydown(event: KeyboardEvent): void;
150
179
  private openDropdown;
151
180
  private closeDropdown;
@@ -156,7 +185,7 @@ declare class EdsMultiselect implements ControlValueAccessor, OnDestroy, AfterCo
156
185
  private syncValueFromOptions;
157
186
  private syncOptionsFromValue;
158
187
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<EdsMultiselect, never>;
159
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<EdsMultiselect, "eds-multiselect", never, { "e2eAttr": { "alias": "e2eAttr"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "isInvalid": { "alias": "isInvalid"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, ["options"], never, true, never>;
188
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<EdsMultiselect, "eds-multiselect", never, { "e2eAttr": { "alias": "e2eAttr"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "isInvalid": { "alias": "isInvalid"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "cancelLabel": { "alias": "cancelLabel"; "required": false; "isSignal": true; }; "confirmLabel": { "alias": "confirmLabel"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "confirmed": "confirmed"; "cancelled": "cancelled"; }, ["options"], never, true, never>;
160
189
  }
161
190
 
162
191
  /** Convenience array for importing all eds-multiselect components. */
@@ -1 +1 @@
1
- {"version":3,"file":"eui-eds-eds-multiselect.d.ts","sources":["../../eds-multiselect/eds-multiselect-option.ts","../../eds-multiselect/eds-multiselect.ts","../../eds-multiselect/index.ts"],"mappings":";;;;;AAaA;;;;;;;;;AASG;AACH,cA0Ba,oBAAqB,YAAW,aAAa;AACtD;;AAEG;AACH,WAAK,aAAA,CAAA,WAAA;AAEL;;AAEG;AACH,WAAK,aAAA,CAAA,WAAA;AAEL;;;AAGG;AACH,gBAAU,aAAA,CAAA,wBAAA;AAEV;;AAEG;;;AAMH,cAAQ,aAAA,CAAA,cAAA;;AAGR,cAAQ,aAAA,CAAA,cAAA;;AAGR,cAAQ,aAAA,CAAA,MAAA;yBAEW,UAAA;AAInB;AAIA;AAMA;oDA/CS,oBAAoB;sDAApB,oBAAoB;AAoDhC;;ACjED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BG;AACH,cAqBa,cAAe,YAAW,oBAAoB,EAAE,SAAS,EAAE,gBAAgB;AACpF;;;AAGG;AACH,aAAO,aAAA,CAAA,WAAA;AAEP;;;AAGG;AACH,iBAAW,aAAA,CAAA,WAAA;AAEX;;;AAGG;AACH,cAAQ,aAAA,CAAA,wBAAA;AAER;;;AAGG;AACH,eAAS,aAAA,CAAA,wBAAA;AAET;;;AAGG;AACH,eAAS,aAAA,CAAA,WAAA;AAET;;AAEG;AACH,iBAAW,aAAA,CAAA,gBAAA;;sBAGK,aAAA,CAAA,MAAA,UAAA,oBAAA;;+BAGS,aAAA,CAAA,MAAA,CAAA,WAAA;;yBAGN,aAAA,CAAA,MAAA,CAAA,UAAA,CAAA,WAAA;;AAGnB,YAAM,aAAA,CAAA,cAAA;;6BAGiB,aAAA,CAAA,cAAA;;gCAGG,aAAA,CAAA,cAAA;;+BAGD,aAAA,CAAA,cAAA;;4BAGH,aAAA,CAAA,MAAA;;kCAcM,aAAA,CAAA,MAAA;;kCAGA,aAAA,CAAA,cAAA;;;;;;;;;;AAwB5B;AAKA;AAQA;;AASA;AAIA;;AAiBA,sCAAkC,aAAa;AAkC/C,oCAAgC,oBAAoB;;AAcpD,oCAAgC,aAAa;AA8C7C;AAiFA;AAkBA;AAQA;AAkBA;AAWA;AAKA;AASA;oDAlYS,cAAc;sDAAd,cAAc;AAwY1B;;ACzdD;AACA,cAAa,eAAe,mBAAA,cAAA,SAAA,oBAAA;;;;","names":[]}
1
+ {"version":3,"file":"eui-eds-eds-multiselect.d.ts","sources":["../../eds-multiselect/eds-multiselect-option.ts","../../eds-multiselect/eds-multiselect.ts","../../eds-multiselect/index.ts"],"mappings":";;;;;AAaA;;;;;;;;;AASG;AACH,cA0Ba,oBAAqB,YAAW,aAAa;AACtD;;AAEG;AACH,WAAK,aAAA,CAAA,WAAA;AAEL;;AAEG;AACH,WAAK,aAAA,CAAA,WAAA;AAEL;;;AAGG;AACH,gBAAU,aAAA,CAAA,wBAAA;AAEV;;;;;AAKG;AACH,aAAO,aAAA,CAAA,wBAAA;AAEP;;;AAGG;;;AAMH,cAAQ,aAAA,CAAA,cAAA;;AAGR,cAAQ,aAAA,CAAA,cAAA;;AAGR,cAAQ,aAAA,CAAA,MAAA;yBAEW,UAAA;AAInB;AAIA;AAMA;oDAxDS,oBAAoB;sDAApB,oBAAoB;AA6DhC;;ACxED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BG;AACH,cAqBa,cAAe,YAAW,oBAAoB,EAAE,SAAS,EAAE,gBAAgB;AACpF;;;AAGG;AACH,aAAO,aAAA,CAAA,WAAA;AAEP;;;AAGG;AACH,iBAAW,aAAA,CAAA,WAAA;AAEX;;;AAGG;AACH,cAAQ,aAAA,CAAA,wBAAA;AAER;;;AAGG;AACH,eAAS,aAAA,CAAA,wBAAA;AAET;;;AAGG;AACH,eAAS,aAAA,CAAA,WAAA;AAET;;;AAGG;AACH,iBAAW,aAAA,CAAA,WAAA;AAEX;;;AAGG;AACH,kBAAY,aAAA,CAAA,WAAA;AAEZ;;AAEG;AACH,iBAAW,aAAA,CAAA,gBAAA;AAEX;;AAEG;AACH,eAAS,aAAA,CAAA,gBAAA;AAET;;AAEG;AACH,eAAS,aAAA,CAAA,gBAAA;;sBAGO,aAAA,CAAA,MAAA,UAAA,oBAAA;;+BAGS,aAAA,CAAA,MAAA,CAAA,WAAA;;yBAGN,aAAA,CAAA,MAAA,CAAA,UAAA,CAAA,WAAA;;AAGnB,YAAM,aAAA,CAAA,cAAA;;6BAGiB,aAAA,CAAA,cAAA;;;;gCAMG,aAAA,CAAA,cAAA;;+BAGD,aAAA,CAAA,cAAA;;4BAGH,aAAA,CAAA,MAAA;;kCAcM,aAAA,CAAA,MAAA;;kCAGA,aAAA,CAAA,cAAA;;;;;;;;;;AAwB5B;AAKA;AAQA;;AASA;AAIA;;AAiBA,sCAAkC,aAAa;AAkC/C,oCAAgC,oBAAoB;;;AAyBpD,oCAAgC,aAAa;AA8C7C;AAoFA;AAkBA;AAQA;AAkBA;AAWA;AAKA;AASA;oDAzaS,cAAc;sDAAd,cAAc;AA+a1B;;AClgBD;AACA,cAAa,eAAe,mBAAA,cAAA,SAAA,oBAAA;;;;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"eui-eds-shared.d.ts","sources":["../../shared/eds-size.directive.ts","../../shared/eds-color.directive.ts","../../shared/eds-clearable.directive.ts","../../shared/eds-loading.directive.ts","../../shared/eds-maxlength.directive.ts","../../shared/eds-resizable.directive.ts","../../shared/eds-shell.service.ts","../../shared/eds-sr-only.directive.ts","../../shared/eds-text-truncate.directive.ts"],"mappings":";;;AAEA;AACM,KAAM,YAAY;AAExB;;;;;;;;;;;;;;;;AAgBG;AACH,cAGa,gBAAgB;;AAEzB,oBAAc,aAAA,CAAA,WAAA,MAAA,YAAA;AAGd,gBAAU,aAAA,CAAA,wBAAA;AACV,eAAS,aAAA,CAAA,wBAAA;AACT,cAAQ,aAAA,CAAA,wBAAA;AACR,cAAQ,aAAA,CAAA,wBAAA;AACR,cAAQ,aAAA,CAAA,wBAAA;AACR,eAAS,aAAA,CAAA,wBAAA;AACT,gBAAU,aAAA,CAAA,wBAAA;AACV,gBAAU,aAAA,CAAA,wBAAA;AACV,gBAAU,aAAA,CAAA,wBAAA;AACV,gBAAU,aAAA,CAAA,wBAAA;AACV,gBAAU,aAAA,CAAA,wBAAA;AACV,iBAAW,aAAA,CAAA,wBAAA;;AAGX,kBAAY,aAAA,CAAA,MAAA,MAAA,YAAA;;AAiBZ,cAAQ,aAAA,CAAA,MAAA;AAKR;;;AAGG;AACH;oDA7CS,gBAAgB;sDAAhB,gBAAgB;AAiD5B;;ACxED;AACM,KAAM,aAAa;AAazB;;;;;;;;;;;;;;;;AAgBG;AACH,cAGa,iBAAiB;;AAE1B,qBAAe,aAAA,CAAA,WAAA,MAAA,aAAA;AAGf,gBAAU,aAAA,CAAA,wBAAA;AACV,cAAQ,aAAA,CAAA,wBAAA;AACR,gBAAU,aAAA,CAAA,wBAAA;AACV,sBAAgB,aAAA,CAAA,wBAAA;AAChB,uBAAiB,aAAA,CAAA,wBAAA;AACjB,kBAAY,aAAA,CAAA,wBAAA;AACZ,aAAO,aAAA,CAAA,wBAAA;AACP,gBAAU,aAAA,CAAA,wBAAA;AACV,gBAAU,aAAA,CAAA,wBAAA;AACV,iBAAW,aAAA,CAAA,wBAAA;AACX,iBAAW,aAAA,CAAA,wBAAA;;AAGX,mBAAa,aAAA,CAAA,MAAA,MAAA,aAAA;;AAgBb,cAAQ,aAAA,CAAA,MAAA;AAKR;;;AAGG;AACH;oDA3CS,iBAAiB;sDAAjB,iBAAiB;AA+C7B;;AClED;;;;;AAKG;AACH,cAKa,qBAAsB,YAAW,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO;AACtF,kBAAY,aAAA,CAAA,wBAAA;AACZ,cAAQ,aAAA,CAAA,wBAAA;AACR,cAAQ,aAAA,CAAA,wBAAA;;;;;;;;;;AAYR;AAQA;AAKA,yBAAqB,aAAa;AAyBlC;AAIA;AA+DA;AA6BA;AAgBA;oDArKS,qBAAqB;sDAArB,qBAAqB;AAiLjC;;AChMD;;;;;AAKG;AACH,cAKa,mBAAoB,YAAW,SAAS,EAAE,aAAa,EAAE,SAAS;AAC3E,gBAAU,aAAA,CAAA,wBAAA;AACV,cAAQ,aAAA,CAAA,wBAAA;;;;;;AAQR;AAOA,yBAAqB,aAAa;AAalC;AAIA;AAoBA;AAiCA;oDAvFS,mBAAmB;sDAAnB,mBAAmB;AA+F/B;;ACtGD;;;;;;;;;;AAUG;AACH,cAUa,qBAAsB,YAAW,gBAAgB,EAAE,SAAS,EAAE,SAAS;;AAEhF,kBAAY,aAAA,CAAA,wBAAA;;AAGZ,qBAAe,aAAA,CAAA,wBAAA;;AAGf,sBAAgB,aAAA,CAAA,gBAAA;;;;;;;AAShB;AAWA,yBAAqB,aAAa;AA0BlC;;AASA,8BAA0B,cAAc;AAQxC;AAOA;AAIA;AAOA;AAqCA;AAoCA;oDAlKS,qBAAqB;sDAArB,qBAAqB;AA8KjC;;ACnMD;KACY,oBAAoB;AAKhC;;;;;AAKG;AACH,cAMa,YAAa,YAAW,MAAM,EAAE,SAAS;;AAEpD,0BAAoB,aAAA,CAAA,wBAAA;;AAGpB,0BAAoB,aAAA,CAAA,WAAA;;AAGpB,0BAAoB,aAAA,CAAA,WAAA,CAAA,oBAAA;;AAGpB,0BAAoB,aAAA,CAAA,wBAAA;;AAGpB,yBAAmB,aAAA,CAAA,wBAAA;;AAGnB,2BAAqB,aAAA,CAAA,WAAA;;AAGrB,6BAAuB,aAAA,CAAA,gBAAA;;;;;;;;;AAwBvB;AASA;AAMA;AAkBA;AAiCA;AAIA;AA2BA;AA6CA;oDA1LW,YAAY;sDAAZ,YAAY;AAkMxB;;ACnOD;;;;;;;;;;;;;;;;;;;;;;AAsBG;AACH,cAGa,eAAe;;;;;;;;;;;;;;;;AA6BxB;;;AAGG;AACH;AAIA;;AAEG;AACH;AAIA;;AAEG;AACH;AAIA;;AAEG;AACH;oDAtDS,eAAe;wDAAf,eAAe;AAyD3B;;ACnFD;;;;;;;;AAQG;AACH,cAOa,SAAS;oDAAT,SAAS;sDAAT,SAAS;AAAG;;AChBzB;;;;;;;AAOG;AACH,cAOa,eAAe;oDAAf,eAAe;sDAAf,eAAe;AAAG;;;;","names":[]}
1
+ {"version":3,"file":"eui-eds-shared.d.ts","sources":["../../shared/eds-size.directive.ts","../../shared/eds-color.directive.ts","../../shared/eds-clearable.directive.ts","../../shared/eds-loading.directive.ts","../../shared/eds-maxlength.directive.ts","../../shared/eds-resizable.directive.ts","../../shared/eds-shell.service.ts","../../shared/eds-sr-only.directive.ts","../../shared/eds-text-truncate.directive.ts"],"mappings":"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","names":[]}