From ba8cc429f75215ffeed7602a6fe124749439eba1 Mon Sep 17 00:00:00 2001 From: Nikita Guryev Date: Mon, 3 Aug 2026 19:45:53 +0300 Subject: [PATCH 01/11] feat(inline-edit): only overlay for single select (#DS-4870) --- packages/components-dev/inline-edit/module.ts | 1 + .../components/inline-edit/inline-edit.en.md | 6 + .../components/inline-edit/inline-edit.ru.md | 6 + .../inline-edit/inline-edit.spec.ts | 84 ++++++++++++ .../components/inline-edit/inline-edit.ts | 9 ++ .../components/inline-edit/index.ts | 3 + .../inline-edit-select-example.ts | 122 ++++++++++++++++++ packages/docs-examples/example-module.ts | 15 +++ .../components/inline-edit.api.md | 1 + 9 files changed, 247 insertions(+) create mode 100644 packages/docs-examples/components/inline-edit/inline-edit-select/inline-edit-select-example.ts diff --git a/packages/components-dev/inline-edit/module.ts b/packages/components-dev/inline-edit/module.ts index 9ebe5053c9..e2681c2e4e 100644 --- a/packages/components-dev/inline-edit/module.ts +++ b/packages/components-dev/inline-edit/module.ts @@ -18,6 +18,7 @@ import { DevThemeToggle } from '../theme-toggle'; + diff --git a/packages/components/inline-edit/inline-edit.en.md b/packages/components/inline-edit/inline-edit.en.md index 0d9f0179b4..a811b737e8 100644 --- a/packages/components/inline-edit/inline-edit.en.md +++ b/packages/components/inline-edit/inline-edit.en.md @@ -70,6 +70,12 @@ Inline-editable elements should remain aligned with their appearance in view mod +#### Select-style editor + +For a single select, edit mode can show only the dropdown panel instead of a bordered input box, with a "not specified" option inside the panel standing in for a clear button. + + + ### Recommendations Inline edits should be saved immediately after a change—without requiring a global **Save** button. diff --git a/packages/components/inline-edit/inline-edit.ru.md b/packages/components/inline-edit/inline-edit.ru.md index 17ab059cc9..d2ff063286 100644 --- a/packages/components/inline-edit/inline-edit.ru.md +++ b/packages/components/inline-edit/inline-edit.ru.md @@ -62,6 +62,12 @@ +#### Селект без рамки + +Для одиночного селекта в режиме редактирования можно показывать только выпадающее меню без рамки поля ввода, а опцию «Не указано» внутри списка использовать вместо кнопки очистки. + + + ### Рекомендации Поле с инлайн-редактированием должны сохраняться сразу после изменения без общей для всего экрана кнопки «Сохранить». diff --git a/packages/components/inline-edit/inline-edit.spec.ts b/packages/components/inline-edit/inline-edit.spec.ts index d1e7f88109..21f8b62141 100644 --- a/packages/components/inline-edit/inline-edit.spec.ts +++ b/packages/components/inline-edit/inline-edit.spec.ts @@ -349,6 +349,42 @@ describe('KbqInlineEdit', () => { expect(spyFn).not.toHaveBeenCalled(); }); + it('should save and return to view mode when commit() is called directly', () => { + const fixture = setup(TestComponent); + const { componentInstance, debugElement } = fixture; + const inlineEditDebugElement: DebugElement = getInlineEditDebugElement(debugElement); + const spyFn = jest.spyOn(componentInstance, 'update'); + + inlineEditDebugElement.nativeElement.click(); + fixture.detectChanges(); + + (inlineEditDebugElement.componentInstance as KbqInlineEdit).commit(); + fixture.detectChanges(); + + expect(spyFn).toHaveBeenCalled(); + expect(inlineEditDebugElement.classes['kbq-inline-edit_view']).toBe(true); + }); + + it('should not save when commit() is called while control is invalid', () => { + const fixture = setup(TestWithValidatedControl); + const { componentInstance, debugElement } = fixture; + const inlineEditDebugElement: DebugElement = getInlineEditDebugElement(debugElement); + const spyFn = jest.spyOn(componentInstance, 'update'); + + inlineEditDebugElement.nativeElement.click(); + fixture.detectChanges(); + + componentInstance.control.markAsTouched(); + componentInstance.control.updateValueAndValidity(); + fixture.detectChanges(); + + (inlineEditDebugElement.componentInstance as KbqInlineEdit).commit(); + fixture.detectChanges(); + + expect(spyFn).not.toHaveBeenCalled(); + expect(inlineEditDebugElement.classes['kbq-inline-edit_edit']).toBe(true); + }); + it('should reposition the edit mode overlay when the surrounding layout resizes', () => { const resize$ = new Subject(); const fixture = setup(TestComponent, [ @@ -517,6 +553,28 @@ describe('KbqInlineEdit', () => { expect(document.querySelector(componentCssClasses.selectPanel)).toBeTruthy(); }); + it('should stay in view mode when commit() is followed by a redundant outside-click save()', async () => { + // A control whose panel is a separate CDK overlay (e.g. kbq-select) makes the overlay's own + // outside-click detection see clicks on that panel as "outside" inline-edit's overlay, so both + // the control's own (selectionChange)-driven commit() and the overlay's outside-click handler + // can fire for the same interaction. Since save() used to be an unconditional toggle, the + // second (redundant) call would flip the mode straight back to 'edit'. + const fixture = setup(TestWithSelectAutoCommit); + const { debugElement } = fixture; + const inlineEditDebugElement: DebugElement = getInlineEditDebugElement(debugElement); + const inlineEdit = inlineEditDebugElement.componentInstance as KbqInlineEdit; + + inlineEditDebugElement.nativeElement.click(); + fixture.detectChanges(); + await fixture.whenStable(); + + inlineEdit.commit(); + (inlineEdit as any).save(); + fixture.detectChanges(); + + expect(inlineEditDebugElement.classes['kbq-inline-edit_view']).toBe(true); + }); + describe('with multiple form fields', () => { it('should emit saved event when both form fields are valid', async () => { const fixture = setup(TestWithMultipleFormFields); @@ -1140,6 +1198,32 @@ export class TestWithSelect extends BaseTestComponent { cancel = jest.fn(); } +@Component({ + selector: 'name', + imports: [ + FormsModule, + KbqInlineEditModule, + KbqOptionModule, + KbqSelectModule + ], + template: ` + +
{{ selected() }}
+ + + @for (option of options; track option) { + {{ option }} + } + + +
+ ` +}) +export class TestWithSelectAutoCommit { + readonly options = Array.from({ length: 5 }).map((_, i) => `Option #${i}`); + readonly selected = model(this.options[0]); +} + @Component({ selector: 'name', imports: [ReactiveFormsModule, KbqFormFieldModule, KbqInlineEditModule, KbqTextareaModule], diff --git a/packages/components/inline-edit/inline-edit.ts b/packages/components/inline-edit/inline-edit.ts index 5237807afe..1cfc6c39d7 100644 --- a/packages/components/inline-edit/inline-edit.ts +++ b/packages/components/inline-edit/inline-edit.ts @@ -283,6 +283,11 @@ export class KbqInlineEdit { this.mode.update((mode) => (mode === 'view' ? 'edit' : 'view')); } + /** Saves the current value and returns to view mode, running the same validation as a normal save. */ + commit(): void { + this.save(); + } + /** @docs-private */ protected onClick(event: Event): void { if (this.disabled() || this.isEditMode() || this.isInteractiveElement(event.target)) return; @@ -331,6 +336,10 @@ export class KbqInlineEdit { /** @docs-private */ protected save($event?: Event): void { + // Guards against a control triggering both its own commit() and the overlay's outside-click handler for the + // same interaction — without this, the second call would toggle back into edit mode. + if (!this.isEditMode()) return; + if (this.isInvalid()) { $event?.stopPropagation(); diff --git a/packages/docs-examples/components/inline-edit/index.ts b/packages/docs-examples/components/inline-edit/index.ts index cfe9fc7eca..e30d9fd622 100644 --- a/packages/docs-examples/components/inline-edit/index.ts +++ b/packages/docs-examples/components/inline-edit/index.ts @@ -10,6 +10,7 @@ import { InlineEditHorizontalListExample } from './inline-edit-horizontal-list/i import { InlineEditMenuExample } from './inline-edit-menu/inline-edit-menu-example'; import { InlineEditOnCleanExample } from './inline-edit-on-clean/inline-edit-on-clean-example'; import { InlineEditOverviewExample } from './inline-edit-overview/inline-edit-overview-example'; +import { InlineEditSelectExample } from './inline-edit-select/inline-edit-select-example'; import { InlineEditUnfilledExample } from './inline-edit-unfilled/inline-edit-unfilled-example'; import { InlineEditValidationExample } from './inline-edit-validation/inline-edit-validation-example'; import { InlineEditVerticalListExample } from './inline-edit-vertical-list/inline-edit-vertical-list-example'; @@ -27,6 +28,7 @@ export { InlineEditMenuExample, InlineEditOnCleanExample, InlineEditOverviewExample, + InlineEditSelectExample, InlineEditUnfilledExample, InlineEditValidationExample, InlineEditVerticalListExample, @@ -40,6 +42,7 @@ const EXAMPLES = [ InlineEditDisabledExample, InlineEditHorizontalListExample, InlineEditOnCleanExample, + InlineEditSelectExample, InlineEditValidationExample, InlineEditCustomHandlerExample, InlineEditVerticalListExample, diff --git a/packages/docs-examples/components/inline-edit/inline-edit-select/inline-edit-select-example.ts b/packages/docs-examples/components/inline-edit/inline-edit-select/inline-edit-select-example.ts new file mode 100644 index 0000000000..2a71e4d466 --- /dev/null +++ b/packages/docs-examples/components/inline-edit/inline-edit-select/inline-edit-select-example.ts @@ -0,0 +1,122 @@ +import { ChangeDetectionStrategy, Component } from '@angular/core'; +import { FormControl, ReactiveFormsModule } from '@angular/forms'; +import { KbqOptionModule } from '@koobiq/components/core'; +import { KbqFormFieldModule, KbqLabel } from '@koobiq/components/form-field'; +import { KbqInlineEditModule } from '@koobiq/components/inline-edit'; +import { KbqSelectModule } from '@koobiq/components/select'; +import { KbqUserInfo, KbqUsername } from '@koobiq/components/username'; + +const USERS: KbqUserInfo[] = [ + { + firstName: 'Ivan', + lastName: 'Petrov Petrov Petrov Petrov Petrov Petrov Petrov Petrov Petrov Petrov', + login: 'ipetrov', + site: 'Engineering' + }, + { firstName: 'Maria', lastName: 'Sidorova', login: 'msidorova', site: 'Customer support' }, + { firstName: 'Alexey', lastName: 'Smirnov', login: 'asmirnov', site: 'Information security' }, + { firstName: 'Olga', lastName: 'Kuznetsova', login: 'okuznetsova', site: 'Marketing' } +]; + +/** + * @title Inline edit select + */ +@Component({ + selector: 'inline-edit-select-example', + imports: [ + ReactiveFormsModule, + KbqInlineEditModule, + KbqFormFieldModule, + KbqLabel, + KbqOptionModule, + KbqSelectModule, + KbqUsername + ], + template: ` + + Assignee + +
+ @if (control.value) { + + } @else { + {{ notSetLabel }} + } +
+ + + @if (control.value) { + + + + } + + + {{ notSetLabel }} + + @for (user of users; track user) { + + + + } + + +
+ `, + styles: ` + .example-inline-select__view { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + + /* The following rules reach into content rendered by kbq-inline-edit/kbq-select inside + the CDK overlay, which lives outside this component's own DOM subtree. */ + + /* View mode already gets hover styling from kbq-inline-edit itself (transparent-hover + background). While editing, the trigger has no border of its own, so give it the same + "active" background a dropdown trigger gets while its panel is open, otherwise the field + looks empty. */ + ::ng-deep .example-inline-select__panel .kbq-inline-edit__control-container { + box-shadow: none; + } + + ::ng-deep .example-inline-select__panel .kbq-form-field__container { + background-color: var(--kbq-states-background-transparent-active) !important; + padding-left: 0; + padding-right: 0; + min-height: unset; + } + + ::ng-deep .example-inline-select__panel .kbq-form-field__container .kbq-select__arrow-wrapper { + visibility: hidden; + } + + ::ng-deep .example-inline-select__options .kbq-option { + align-items: flex-start; + min-height: unset; + padding-top: var(--kbq-size-xs); + padding-bottom: var(--kbq-size-xs); + } + + ::ng-deep .example-inline-select__options .kbq-option-text { + white-space: normal; + overflow-wrap: break-word; + } + `, + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class InlineEditSelectExample { + protected readonly notSetLabel = 'Not specified'; + + protected readonly users = USERS; + + protected readonly control = new FormControl(this.users[0]); +} diff --git a/packages/docs-examples/example-module.ts b/packages/docs-examples/example-module.ts index e6bf9535d5..493dd7816b 100644 --- a/packages/docs-examples/example-module.ts +++ b/packages/docs-examples/example-module.ts @@ -3196,6 +3196,19 @@ export const EXAMPLE_COMPONENTS: {[id: string]: LiveExample} = { "primaryFile": "inline-edit-overview-example.ts", "importPath": "components/inline-edit" }, + "inline-edit-select": { + "packagePath": "components/inline-edit/inline-edit-select", + "title": "Inline edit select", + "componentName": "InlineEditSelectExample", + "files": [ + "inline-edit-select-example.ts" + ], + "localImportFiles": [], + "selector": "inline-edit-select-example", + "additionalComponents": [], + "primaryFile": "inline-edit-select-example.ts", + "importPath": "components/inline-edit" + }, "inline-edit-unfilled": { "packagePath": "components/inline-edit/inline-edit-unfilled", "title": "Inline edit unfilled", @@ -7980,6 +7993,8 @@ return import('@koobiq/docs-examples/components/inline-edit'); case 'inline-edit-on-clean': return import('@koobiq/docs-examples/components/inline-edit'); case 'inline-edit-overview': +return import('@koobiq/docs-examples/components/inline-edit'); + case 'inline-edit-select': return import('@koobiq/docs-examples/components/inline-edit'); case 'inline-edit-unfilled': return import('@koobiq/docs-examples/components/inline-edit'); diff --git a/tools/public_api_guard/components/inline-edit.api.md b/tools/public_api_guard/components/inline-edit.api.md index ce4d6a46a7..5b5a2e0a46 100644 --- a/tools/public_api_guard/components/inline-edit.api.md +++ b/tools/public_api_guard/components/inline-edit.api.md @@ -42,6 +42,7 @@ export class KbqInlineEdit { readonly canSaveOnEnter: _angular_core.InputSignal<(event: KeyboardEvent) => boolean>; protected readonly className: _angular_core.Signal; protected readonly colors: typeof KbqComponentColors; + commit(): void; readonly disabled: _angular_core.InputSignalWithTransform; readonly editModeWidth: _angular_core.InputSignalWithTransform; // (undocumented) From 979c1207e4e755491580a9972b1ee6dad24d99ab Mon Sep 17 00:00:00 2001 From: Nikita Guryev Date: Tue, 4 Aug 2026 14:19:37 +0300 Subject: [PATCH 02/11] feat(select): added custom origin to support inline-edit UX --- packages/components/select/public-api.ts | 1 + .../select/select-origin.directive.ts | 13 ++ .../components/select/select.component.ts | 19 ++- packages/components/select/select.module.ts | 3 + .../inline-edit-select-example.ts | 135 +++++++++++------- .../public_api_guard/components/select.api.md | 17 ++- 6 files changed, 135 insertions(+), 53 deletions(-) create mode 100644 packages/components/select/select-origin.directive.ts diff --git a/packages/components/select/public-api.ts b/packages/components/select/public-api.ts index cc0217c8a2..1965964167 100644 --- a/packages/components/select/public-api.ts +++ b/packages/components/select/public-api.ts @@ -1,4 +1,5 @@ export * from './select-common'; export * from './select-option.directive'; +export * from './select-origin.directive'; export * from './select.component'; export * from './select.module'; diff --git a/packages/components/select/select-origin.directive.ts b/packages/components/select/select-origin.directive.ts new file mode 100644 index 0000000000..615dcbe226 --- /dev/null +++ b/packages/components/select/select-origin.directive.ts @@ -0,0 +1,13 @@ +import { Directive, ElementRef, inject } from '@angular/core'; + +/** + * Directive applied to an element to make it usable + * as a connection point for a select panel. + */ +@Directive({ + selector: '[kbqSelectOrigin]', + exportAs: 'kbqSelectOrigin' +}) +export class KbqSelectOrigin { + elementRef = inject>(ElementRef); +} diff --git a/packages/components/select/select.component.ts b/packages/components/select/select.component.ts index ec3ff0f389..2c9be78179 100644 --- a/packages/components/select/select.component.ts +++ b/packages/components/select/select.component.ts @@ -118,6 +118,7 @@ import { take, takeUntil } from 'rxjs/operators'; +import { KbqSelectOrigin } from './select-origin.directive'; let nextUniqueId = 0; @@ -727,6 +728,14 @@ export class KbqSelect */ protected readonly panelMaxHeightToken = computed(() => kbqResolvePanelMaxHeightToken(this.panelMaxHeight())); + /** + * Custom element the panel is positioned and sized against, overriding the default + * (the parent `kbq-form-field`'s container, if any, or the trigger itself). Useful when the select + * is nested inside another component whose own box better represents the panel's visual anchor + * than the select's immediate wrapper. + */ + readonly connectedTo = input(undefined, { alias: 'kbqSelectConnectedTo' }); + /** Value of the select control. Can be a single value or array of values for multiple selection. */ // TODO: Skipped for migration because: // Accessor inputs cannot be migrated as they are too complex. @@ -1143,9 +1152,13 @@ export class KbqSelect if (!trigger || !this.keyManager) return; + const connectedTo = this.connectedTo(); + // add check for form-field bounding rectangles, since it adds extra padding around the trigger this.triggerRect = ( - this.parentFormField?.getConnectedOverlayOrigin().nativeElement || trigger.nativeElement + connectedTo?.elementRef.nativeElement || + this.parentFormField?.getConnectedOverlayOrigin().nativeElement || + trigger.nativeElement ).getBoundingClientRect(); // Note: The computed font-size will be a string pixel value (e.g. "16px"). @@ -1155,7 +1168,9 @@ export class KbqSelect // It's important that we read this as late as possible, because doing so earlier will // return a different element since it's based on queries in the form field which may // not have run yet. Also this needs to be assigned before we measure the overlay width. - if (this.parentFormField) { + if (connectedTo) { + this.overlayOrigin = connectedTo.elementRef; + } else if (this.parentFormField) { this.overlayOrigin = this.parentFormField.getConnectedOverlayOrigin(); } diff --git a/packages/components/select/select.module.ts b/packages/components/select/select.module.ts index 842558db2c..47b99ffb05 100644 --- a/packages/components/select/select.module.ts +++ b/packages/components/select/select.module.ts @@ -17,6 +17,7 @@ import { KbqTagsModule } from '@koobiq/components/tags'; import { KbqToolTipModule } from '@koobiq/components/tooltip'; import { KbqSelectError, KbqSelectErrorText, KbqSelectLoading, KbqSelectNoOptions } from './select-common'; import { KbqOptionTooltip } from './select-option.directive'; +import { KbqSelectOrigin } from './select-origin.directive'; import { KbqSelect } from './select.component'; @NgModule({ @@ -34,6 +35,7 @@ import { KbqSelect } from './select.component'; NgTemplateOutlet, A11yModule, KbqSelect, + KbqSelectOrigin, KbqOptionTooltip, KbqSelectLoading, KbqSelectError, @@ -43,6 +45,7 @@ import { KbqSelect } from './select.component'; providers: [KBQ_SELECT_SCROLL_STRATEGY_PROVIDER], exports: [ KbqSelect, + KbqSelectOrigin, KbqOptionTooltip, KbqOptionModule, KbqSelectSearch, diff --git a/packages/docs-examples/components/inline-edit/inline-edit-select/inline-edit-select-example.ts b/packages/docs-examples/components/inline-edit/inline-edit-select/inline-edit-select-example.ts index 2a71e4d466..7e82143c3d 100644 --- a/packages/docs-examples/components/inline-edit/inline-edit-select/inline-edit-select-example.ts +++ b/packages/docs-examples/components/inline-edit/inline-edit-select/inline-edit-select-example.ts @@ -33,42 +33,49 @@ const USERS: KbqUserInfo[] = [ KbqUsername ], template: ` - - Assignee - -
- @if (control.value) { - - } @else { - {{ notSetLabel }} - } -
- - +
+ + Assignee + +
@if (control.value) { - - - + + } @else { + {{ notSetLabel }} } +
+ + + +
- - {{ notSetLabel }} - - @for (user of users; track user) { - - + + {{ notSetLabel }} - } -
-
-
+ @for (user of users; track user) { + + + + } + + + +
`, styles: ` .example-inline-select__view { @@ -78,40 +85,72 @@ const USERS: KbqUserInfo[] = [ } /* The following rules reach into content rendered by kbq-inline-edit/kbq-select inside - the CDK overlay, which lives outside this component's own DOM subtree. */ + the CDK overlay, which lives outside this component's own DOM subtree - a portal, not a + child of this component's host, so CSS custom properties set on the host don't cascade + into it and it needs its own background rather than inheriting one. */ + + /* Gives the host itself the same "active" look while the panel is open, for the sliver of + host (e.g. the label row) that remains visible around the portaled panel. */ + ::ng-deep .example-inline-select__host.kbq-inline-edit_edit { + --kbq-inline-edit-background: var(--kbq-states-background-transparent-active); + } - /* View mode already gets hover styling from kbq-inline-edit itself (transparent-hover - background). While editing, the trigger has no border of its own, so give it the same - "active" background a dropdown trigger gets while its panel is open, otherwise the field - looks empty. */ + /* kbq-inline-edit__view-content keeps rendering behind the panel even in edit mode (it's + what the panel's position/size is measured against), so the control-container needs an + opaque background of its own to mask it - transparent here would let the old value's + text show through underneath. */ ::ng-deep .example-inline-select__panel .kbq-inline-edit__control-container { + display: none; box-shadow: none; + background-color: var(--kbq-states-background-transparent-active); + padding: var(--kbq-inline-edit-padding-vertical) var(--kbq-inline-edit-padding-horizontal); } + /* The form-field/select fill that box edge-to-edge with no padding or background of their + own, so the text sits at the same offset as in view mode, nothing shifts when the panel + opens, and the control-container's background above shows through uniformly instead of + the form-field's own opaque default poking through as a mismatched patch. */ ::ng-deep .example-inline-select__panel .kbq-form-field__container { - background-color: var(--kbq-states-background-transparent-active) !important; - padding-left: 0; - padding-right: 0; + padding: 0 !important; + background-color: transparent !important; min-height: unset; } - ::ng-deep .example-inline-select__panel .kbq-form-field__container .kbq-select__arrow-wrapper { - visibility: hidden; + ::ng-deep .example-inline-select__panel .kbq-form-field__infix { + padding-left: 0 !important; } - ::ng-deep .example-inline-select__options .kbq-option { - align-items: flex-start; - min-height: unset; - padding-top: var(--kbq-size-xs); - padding-bottom: var(--kbq-size-xs); + ::ng-deep .example-inline-select__panel .kbq-select__matcher { + padding: 0 !important; } + ::ng-deep .example-inline-select__panel .kbq-select__arrow-wrapper { + visibility: hidden; + } + + /* kbq-username isn't a , so the select's own "shrink the matcher content" rule + (which only targets a direct span child) doesn't reach it - constrain it explicitly so a + long name wraps instead of overflowing the option row. */ ::ng-deep .example-inline-select__options .kbq-option-text { white-space: normal; overflow-wrap: break-word; } + + ::ng-deep .example-inline-select__options .kbq-option-text > kbq-username { + width: 100%; + min-width: 0; + } + + ::ng-deep .example-inline-select__options .kbq-username__primary, + ::ng-deep .example-inline-select__options .kbq-username__secondary { + white-space: normal; + overflow-wrap: break-word; + } `, - changeDetection: ChangeDetectionStrategy.OnPush + changeDetection: ChangeDetectionStrategy.OnPush, + host: { + class: 'layout-column layout-align-center-center' + } }) export class InlineEditSelectExample { protected readonly notSetLabel = 'Not specified'; diff --git a/tools/public_api_guard/components/select.api.md b/tools/public_api_guard/components/select.api.md index 9be1beeb7a..7590f92dd1 100644 --- a/tools/public_api_guard/components/select.api.md +++ b/tools/public_api_guard/components/select.api.md @@ -23,7 +23,7 @@ import { ErrorStateMatcher } from '@koobiq/components/core'; import { EventEmitter } from '@angular/core'; import { FormGroupDirective } from '@angular/forms'; import * as i1 from '@angular/cdk/overlay'; -import * as i11 from '@koobiq/components/form-field'; +import * as i12 from '@koobiq/components/form-field'; import * as i2 from '@koobiq/components/core'; import * as i3 from '@koobiq/components/icon'; import * as i4 from '@koobiq/components/tags'; @@ -112,6 +112,7 @@ export class KbqSelect extends KbqAbstractSelect implements AfterContentInit, On get colorForState(): KbqComponentColors; get compareWith(): (o1: any, o2: any) => boolean; set compareWith(fn: (o1: any, o2: any) => boolean); + readonly connectedTo: _angular_core.InputSignal; controlType: string; readonly customMatcher: _angular_core.Signal; readonly customTagTemplateRef: _angular_core.Signal | undefined>; @@ -263,7 +264,7 @@ export class KbqSelect extends KbqAbstractSelect implements AfterContentInit, On withVirtualScroll: boolean; writeValue(value: any): void; // (undocumented) - static ɵcmp: _angular_core.ɵɵComponentDeclaration; + static ɵcmp: _angular_core.ɵɵComponentDeclaration; // (undocumented) static ɵfac: _angular_core.ɵɵFactoryDeclaration; } @@ -309,7 +310,7 @@ export class KbqSelectModule { // (undocumented) static ɵinj: _angular_core.ɵɵInjectorDeclaration; // (undocumented) - static ɵmod: _angular_core.ɵɵNgModuleDeclaration; + static ɵmod: _angular_core.ɵɵNgModuleDeclaration; } // @public @@ -332,6 +333,16 @@ export type KbqSelectOptions = Partial<{ // @public export const kbqSelectOptionsProvider: (options: KbqSelectOptions) => Provider; +// @public +export class KbqSelectOrigin { + // (undocumented) + elementRef: ElementRef; + // (undocumented) + static ɵdir: _angular_core.ɵɵDirectiveDeclaration; + // (undocumented) + static ɵfac: _angular_core.ɵɵFactoryDeclaration; +} + // @public @deprecated export type KbqSelectPanelWidth = KbqPanelWidth; From 1bc34dd2373108e5c03e37e0e460a667dc5c98fe Mon Sep 17 00:00:00 2001 From: Nikita Guryev Date: Tue, 4 Aug 2026 15:15:22 +0300 Subject: [PATCH 03/11] feat: moved single select look as builtin for inline edit --- packages/components-dev/inline-edit/module.ts | 1 + .../components/inline-edit/inline-edit.en.md | 6 ++ .../components/inline-edit/inline-edit.html | 7 +- .../components/inline-edit/inline-edit.ru.md | 6 ++ .../components/inline-edit/inline-edit.scss | 10 +++ .../components/inline-edit/inline-edit.ts | 18 +++- .../components/inline-edit/index.ts | 3 + .../inline-edit-select-multiline-example.ts | 77 +++++++++++++++++ .../inline-edit-select-example.ts | 83 +------------------ packages/docs-examples/example-module.ts | 15 ++++ 10 files changed, 145 insertions(+), 81 deletions(-) create mode 100644 packages/docs-examples/components/inline-edit/inline-edit-select-multiline/inline-edit-select-multiline-example.ts diff --git a/packages/components-dev/inline-edit/module.ts b/packages/components-dev/inline-edit/module.ts index e2681c2e4e..73f0d8ef29 100644 --- a/packages/components-dev/inline-edit/module.ts +++ b/packages/components-dev/inline-edit/module.ts @@ -19,6 +19,7 @@ import { DevThemeToggle } from '../theme-toggle'; + diff --git a/packages/components/inline-edit/inline-edit.en.md b/packages/components/inline-edit/inline-edit.en.md index a811b737e8..021984079c 100644 --- a/packages/components/inline-edit/inline-edit.en.md +++ b/packages/components/inline-edit/inline-edit.en.md @@ -76,6 +76,12 @@ For a single select, edit mode can show only the dropdown panel instead of a bor +#### Multiline select + +When option text is too long for a single line, let both the trigger and the options wrap instead of truncating, and size the panel to the field's width. + + + ### Recommendations Inline edits should be saved immediately after a change—without requiring a global **Save** button. diff --git a/packages/components/inline-edit/inline-edit.html b/packages/components/inline-edit/inline-edit.html index 3849b982cc..4d9e8f18e6 100644 --- a/packages/components/inline-edit/inline-edit.html +++ b/packages/components/inline-edit/inline-edit.html @@ -44,7 +44,12 @@ (overlayKeydown)="onOverlayKeydown($event)" > -
+
+#### Многострочный селект + +Если текст опции не помещается на одну строку, дайте триггеру и опциям переноситься вместо обрезания, а размер панели подстройте под ширину поля. + + + ### Рекомендации Поле с инлайн-редактированием должны сохраняться сразу после изменения без общей для всего экрана кнопки «Сохранить». diff --git a/packages/components/inline-edit/inline-edit.scss b/packages/components/inline-edit/inline-edit.scss index bd423fbdaa..afc299b8f8 100644 --- a/packages/components/inline-edit/inline-edit.scss +++ b/packages/components/inline-edit/inline-edit.scss @@ -125,6 +125,12 @@ } } + // Select-style editor: edit mode shows only the dropdown, not a bordered field, so the view + // text keeps showing through and just gets the "active" look instead. + &.kbq-inline-edit_select.kbq-inline-edit_edit { + --kbq-inline-edit-background: var(--kbq-states-background-transparent-active); + } + &:hover, &.cdk-keyboard-focused, &.kbq-inline-edit_anchor-focused { @@ -187,6 +193,10 @@ padding: var(--kbq-size-xxs) var(--kbq-size-s) var(--kbq-size-s); } + &.kbq-inline-edit__panel_select .kbq-inline-edit__control-container { + display: none; + } + .kbq-inline-edit__control-container, .kbq-inline-edit__action-button { box-shadow: var(--kbq-shadow-popup); diff --git a/packages/components/inline-edit/inline-edit.ts b/packages/components/inline-edit/inline-edit.ts index 1cfc6c39d7..37a56f02c9 100644 --- a/packages/components/inline-edit/inline-edit.ts +++ b/packages/components/inline-edit/inline-edit.ts @@ -38,6 +38,7 @@ import { import { KbqDropdownTrigger } from '@koobiq/components/dropdown'; import { KbqFormField, KbqLabel } from '@koobiq/components/form-field'; import { KbqIcon } from '@koobiq/components/icon'; +import { KbqSelect, KbqSelectOrigin } from '@koobiq/components/select'; import { KbqTooltipTrigger } from '@koobiq/components/tooltip'; import { merge, skip } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; @@ -139,12 +140,14 @@ export class KbqInlineEditMenu { '[class.kbq-inline-edit_with-menu]': '!!menu()', '[class.kbq-inline-edit_disabled]': 'disabled()', '[class.kbq-inline-edit_anchor-focused]': 'anchorFocused()', + '[class.kbq-inline-edit_select]': 'isSingleSelect()', '(click)': 'onClick($event)', '(keydown.enter)': 'onClick($event)', '(keydown.space)': 'onClick($event)' }, hostDirectives: [ - CdkMonitorFocus + CdkMonitorFocus, + KbqSelectOrigin ], animations: [KBQ_INLINE_EDIT_ACTION_BUTTONS_ANIMATION], exportAs: 'kbqInlineEdit' @@ -217,6 +220,19 @@ export class KbqInlineEdit { /** @docs-private */ protected readonly formFieldRefList = contentChildren(KbqFormField, { descendants: true }); + /** @docs-private */ + protected readonly selectRef = contentChild(KbqSelect, { descendants: true }); + /** + * Whether edit mode contains a single-value select. When true, edit mode shows only the + * dropdown panel instead of a bordered field - see the "Select-style editor" example. + * @docs-private + */ + protected readonly isSingleSelect = computed(() => { + const select = this.selectRef(); + + return !!select && !select.multiple && !select.multiline(); + }); + /** @docs-private */ protected overlayOrigin: HTMLElement = this.elementRef.nativeElement; /** @docs-private */ diff --git a/packages/docs-examples/components/inline-edit/index.ts b/packages/docs-examples/components/inline-edit/index.ts index e30d9fd622..2979c8631c 100644 --- a/packages/docs-examples/components/inline-edit/index.ts +++ b/packages/docs-examples/components/inline-edit/index.ts @@ -10,6 +10,7 @@ import { InlineEditHorizontalListExample } from './inline-edit-horizontal-list/i import { InlineEditMenuExample } from './inline-edit-menu/inline-edit-menu-example'; import { InlineEditOnCleanExample } from './inline-edit-on-clean/inline-edit-on-clean-example'; import { InlineEditOverviewExample } from './inline-edit-overview/inline-edit-overview-example'; +import { InlineEditSelectMultilineExample } from './inline-edit-select-multiline/inline-edit-select-multiline-example'; import { InlineEditSelectExample } from './inline-edit-select/inline-edit-select-example'; import { InlineEditUnfilledExample } from './inline-edit-unfilled/inline-edit-unfilled-example'; import { InlineEditValidationExample } from './inline-edit-validation/inline-edit-validation-example'; @@ -29,6 +30,7 @@ export { InlineEditOnCleanExample, InlineEditOverviewExample, InlineEditSelectExample, + InlineEditSelectMultilineExample, InlineEditUnfilledExample, InlineEditValidationExample, InlineEditVerticalListExample, @@ -43,6 +45,7 @@ const EXAMPLES = [ InlineEditHorizontalListExample, InlineEditOnCleanExample, InlineEditSelectExample, + InlineEditSelectMultilineExample, InlineEditValidationExample, InlineEditCustomHandlerExample, InlineEditVerticalListExample, diff --git a/packages/docs-examples/components/inline-edit/inline-edit-select-multiline/inline-edit-select-multiline-example.ts b/packages/docs-examples/components/inline-edit/inline-edit-select-multiline/inline-edit-select-multiline-example.ts new file mode 100644 index 0000000000..4e31ef0fb2 --- /dev/null +++ b/packages/docs-examples/components/inline-edit/inline-edit-select-multiline/inline-edit-select-multiline-example.ts @@ -0,0 +1,77 @@ +import { ChangeDetectionStrategy, Component } from '@angular/core'; +import { FormControl, ReactiveFormsModule } from '@angular/forms'; +import { KbqOptionModule } from '@koobiq/components/core'; +import { KbqFormFieldModule, KbqLabel } from '@koobiq/components/form-field'; +import { KbqInlineEditModule } from '@koobiq/components/inline-edit'; +import { KbqSelectModule } from '@koobiq/components/select'; + +const COMMENTS: string[] = [ + 'Issue resolved after restarting the affected service. No further action required.', + 'Root cause identified as a misconfigured environment variable, fixed and redeployed.', + 'Duplicate of an existing issue, closing without further changes.', + 'Waiting on additional information from the reporter before further diagnosis.' +]; + +/** + * @title Inline edit select multiline + */ +@Component({ + selector: 'inline-edit-select-multiline-example', + imports: [ + ReactiveFormsModule, + KbqInlineEditModule, + KbqFormFieldModule, + KbqLabel, + KbqOptionModule, + KbqSelectModule + ], + template: ` +
+ + Resolution comment + +
+ @if (control.value) { + {{ control.value }} + } @else { + {{ notSetLabel }} + } +
+ + + + + {{ notSetLabel }} + + @for (comment of comments; track comment) { + {{ comment }} + } + + +
+
+ `, + styles: ` + ::ng-deep .example-inline-select-multiline__options .kbq-option-text { + white-space: normal; + overflow-wrap: break-word; + } + `, + changeDetection: ChangeDetectionStrategy.OnPush, + host: { + class: 'layout-column layout-align-center-center' + } +}) +export class InlineEditSelectMultilineExample { + protected readonly notSetLabel = 'Not specified'; + + protected readonly comments = COMMENTS; + + protected readonly control = new FormControl(COMMENTS[0]); +} diff --git a/packages/docs-examples/components/inline-edit/inline-edit-select/inline-edit-select-example.ts b/packages/docs-examples/components/inline-edit/inline-edit-select/inline-edit-select-example.ts index 7e82143c3d..96d5c411cb 100644 --- a/packages/docs-examples/components/inline-edit/inline-edit-select/inline-edit-select-example.ts +++ b/packages/docs-examples/components/inline-edit/inline-edit-select/inline-edit-select-example.ts @@ -9,7 +9,7 @@ import { KbqUserInfo, KbqUsername } from '@koobiq/components/username'; const USERS: KbqUserInfo[] = [ { firstName: 'Ivan', - lastName: 'Petrov Petrov Petrov Petrov Petrov Petrov Petrov Petrov Petrov Petrov', + lastName: 'Petrov', login: 'ipetrov', site: 'Engineering' }, @@ -33,14 +33,8 @@ const USERS: KbqUserInfo[] = [ KbqUsername ], template: ` -
- +
+ Assignee
@@ -56,20 +50,14 @@ const USERS: KbqUserInfo[] = [ [panelClass]="'example-inline-select__options'" [placeholder]="notSetLabel" [formControl]="control" - [kbqSelectConnectedTo]="selectOrigin" (selectionChange)="inlineEdit.commit()" > - -
- {{ notSetLabel }} @for (user of users; track user) { - + } @@ -83,69 +71,6 @@ const USERS: KbqUserInfo[] = [ text-overflow: ellipsis; white-space: nowrap; } - - /* The following rules reach into content rendered by kbq-inline-edit/kbq-select inside - the CDK overlay, which lives outside this component's own DOM subtree - a portal, not a - child of this component's host, so CSS custom properties set on the host don't cascade - into it and it needs its own background rather than inheriting one. */ - - /* Gives the host itself the same "active" look while the panel is open, for the sliver of - host (e.g. the label row) that remains visible around the portaled panel. */ - ::ng-deep .example-inline-select__host.kbq-inline-edit_edit { - --kbq-inline-edit-background: var(--kbq-states-background-transparent-active); - } - - /* kbq-inline-edit__view-content keeps rendering behind the panel even in edit mode (it's - what the panel's position/size is measured against), so the control-container needs an - opaque background of its own to mask it - transparent here would let the old value's - text show through underneath. */ - ::ng-deep .example-inline-select__panel .kbq-inline-edit__control-container { - display: none; - box-shadow: none; - background-color: var(--kbq-states-background-transparent-active); - padding: var(--kbq-inline-edit-padding-vertical) var(--kbq-inline-edit-padding-horizontal); - } - - /* The form-field/select fill that box edge-to-edge with no padding or background of their - own, so the text sits at the same offset as in view mode, nothing shifts when the panel - opens, and the control-container's background above shows through uniformly instead of - the form-field's own opaque default poking through as a mismatched patch. */ - ::ng-deep .example-inline-select__panel .kbq-form-field__container { - padding: 0 !important; - background-color: transparent !important; - min-height: unset; - } - - ::ng-deep .example-inline-select__panel .kbq-form-field__infix { - padding-left: 0 !important; - } - - ::ng-deep .example-inline-select__panel .kbq-select__matcher { - padding: 0 !important; - } - - ::ng-deep .example-inline-select__panel .kbq-select__arrow-wrapper { - visibility: hidden; - } - - /* kbq-username isn't a , so the select's own "shrink the matcher content" rule - (which only targets a direct span child) doesn't reach it - constrain it explicitly so a - long name wraps instead of overflowing the option row. */ - ::ng-deep .example-inline-select__options .kbq-option-text { - white-space: normal; - overflow-wrap: break-word; - } - - ::ng-deep .example-inline-select__options .kbq-option-text > kbq-username { - width: 100%; - min-width: 0; - } - - ::ng-deep .example-inline-select__options .kbq-username__primary, - ::ng-deep .example-inline-select__options .kbq-username__secondary { - white-space: normal; - overflow-wrap: break-word; - } `, changeDetection: ChangeDetectionStrategy.OnPush, host: { diff --git a/packages/docs-examples/example-module.ts b/packages/docs-examples/example-module.ts index 493dd7816b..827ef3c786 100644 --- a/packages/docs-examples/example-module.ts +++ b/packages/docs-examples/example-module.ts @@ -3196,6 +3196,19 @@ export const EXAMPLE_COMPONENTS: {[id: string]: LiveExample} = { "primaryFile": "inline-edit-overview-example.ts", "importPath": "components/inline-edit" }, + "inline-edit-select-multiline": { + "packagePath": "components/inline-edit/inline-edit-select-multiline", + "title": "Inline edit select multiline", + "componentName": "InlineEditSelectMultilineExample", + "files": [ + "inline-edit-select-multiline-example.ts" + ], + "localImportFiles": [], + "selector": "inline-edit-select-multiline-example", + "additionalComponents": [], + "primaryFile": "inline-edit-select-multiline-example.ts", + "importPath": "components/inline-edit" + }, "inline-edit-select": { "packagePath": "components/inline-edit/inline-edit-select", "title": "Inline edit select", @@ -7993,6 +8006,8 @@ return import('@koobiq/docs-examples/components/inline-edit'); case 'inline-edit-on-clean': return import('@koobiq/docs-examples/components/inline-edit'); case 'inline-edit-overview': +return import('@koobiq/docs-examples/components/inline-edit'); + case 'inline-edit-select-multiline': return import('@koobiq/docs-examples/components/inline-edit'); case 'inline-edit-select': return import('@koobiq/docs-examples/components/inline-edit'); From 3aacc71262ea6a49b541ecabd8050d8ebee24ecc Mon Sep 17 00:00:00 2001 From: Nikita Guryev Date: Tue, 4 Aug 2026 16:55:59 +0300 Subject: [PATCH 04/11] feat: updated tests (unit, screenshots), simplified API --- .../inline-edit/e2e.playwright-spec.ts | 17 +++++ packages/components/inline-edit/e2e.ts | 75 ++++++++++++++++++- .../inline-edit/inline-edit.spec.ts | 72 +++++++++++++++++- .../select/select.component.spec.ts | 75 +++++++++++++++++++ .../components/select/select.component.ts | 9 ++- packages/e2e/routes.ts | 2 + 6 files changed, 246 insertions(+), 4 deletions(-) diff --git a/packages/components/inline-edit/e2e.playwright-spec.ts b/packages/components/inline-edit/e2e.playwright-spec.ts index fcacf3fbc1..ef9c7906a7 100644 --- a/packages/components/inline-edit/e2e.playwright-spec.ts +++ b/packages/components/inline-edit/e2e.playwright-spec.ts @@ -85,6 +85,23 @@ test.describe('KbqInlineEdit', () => { }); }); + test.describe('E2eInlineEditSelectMultiline', () => { + const getContainer = (page: Page) => page.getByTestId('e2eInlineEditSelectMultilineContainer'); + const getInlineEdit = (locator: Locator) => locator.getByTestId('e2eInlineEditSelectMultiline'); + + test('multiline select-style editor', async ({ page }) => { + await page.goto('/E2eInlineEditSelectMultiline'); + + const screenshotTarget = getContainer(page); + + await getInlineEdit(screenshotTarget).click(); + + await expect(screenshotTarget).toHaveScreenshot('06-light.png'); + await e2eEnableDarkTheme(page); + await expect(screenshotTarget).toHaveScreenshot('06-dark.png'); + }); + }); + test.describe('E2eInlineEditMenuButton', () => { const getComponent = (page: Page) => page.getByTestId('e2eInlineEditMenuButton'); const getContainer = (page: Page) => page.getByTestId('e2eInlineEditMenuButtonContainer'); diff --git a/packages/components/inline-edit/e2e.ts b/packages/components/inline-edit/e2e.ts index 8f1f5f4e4d..6b88a78058 100644 --- a/packages/components/inline-edit/e2e.ts +++ b/packages/components/inline-edit/e2e.ts @@ -2,10 +2,12 @@ import { NgTemplateOutlet } from '@angular/common'; import { ChangeDetectionStrategy, Component, viewChildren } from '@angular/core'; import { FormControl, FormsModule, ReactiveFormsModule, Validators } from '@angular/forms'; import { KbqButtonModule } from '@koobiq/components/button'; -import { kbqInjectNativeElement } from '@koobiq/components/core'; +import { kbqInjectNativeElement, KbqOptionModule } from '@koobiq/components/core'; import { KbqDropdownModule } from '@koobiq/components/dropdown'; +import { KbqFormFieldModule, KbqLabel } from '@koobiq/components/form-field'; import { KbqIconModule } from '@koobiq/components/icon'; import { KbqInputModule } from '@koobiq/components/input'; +import { KbqSelectModule } from '@koobiq/components/select'; import { KbqTextareaModule } from '@koobiq/components/textarea'; import { KbqInlineEdit } from './inline-edit'; import { KbqInlineEditModule } from './module'; @@ -251,3 +253,74 @@ export class E2eInlineEditMenuButton {} export class E2eInlineEditActionButtons { readonly control = new FormControl('Initial value', Validators.required); } + +const E2E_COMMENTS: string[] = [ + 'Issue resolved after restarting the affected service. No further action required.', + 'Root cause identified as a misconfigured environment variable, fixed and redeployed.', + 'Duplicate of an existing issue, closing without further changes.', + 'Waiting on additional information from the reporter before further diagnosis.' +]; + +@Component({ + selector: 'e2e-inline-edit-select-multiline', + imports: [ + ReactiveFormsModule, + KbqInlineEditModule, + KbqFormFieldModule, + KbqLabel, + KbqOptionModule, + KbqSelectModule + ], + template: ` +
+ + Resolution comment + +
+ @if (control.value) { + {{ control.value }} + } @else { + {{ notSetLabel }} + } +
+ + + + {{ notSetLabel }} + @for (comment of comments; track comment) { + {{ comment }} + } + + +
+
+ `, + styles: ` + :host { + display: block; + width: 350px; + height: 400px; + padding: 8px; + } + + ::ng-deep .e2e-inline-edit-select-multiline__options .kbq-option-text { + white-space: normal; + overflow-wrap: break-word; + } + `, + changeDetection: ChangeDetectionStrategy.OnPush, + host: { + class: 'layout-margin-top-l', + 'data-testid': 'e2eInlineEditSelectMultilineContainer' + } +}) +export class E2eInlineEditSelectMultiline { + protected readonly notSetLabel = 'Not specified'; + protected readonly comments = E2E_COMMENTS; + protected readonly control = new FormControl(E2E_COMMENTS[0]); +} diff --git a/packages/components/inline-edit/inline-edit.spec.ts b/packages/components/inline-edit/inline-edit.spec.ts index 21f8b62141..86bd5753ce 100644 --- a/packages/components/inline-edit/inline-edit.spec.ts +++ b/packages/components/inline-edit/inline-edit.spec.ts @@ -19,7 +19,7 @@ import { KbqDropdownModule } from '@koobiq/components/dropdown'; import { KbqFormFieldModule } from '@koobiq/components/form-field'; import { KbqIconModule } from '@koobiq/components/icon'; import { KbqInputModule } from '@koobiq/components/input'; -import { KbqSelectModule } from '@koobiq/components/select'; +import { KbqSelect, KbqSelectModule } from '@koobiq/components/select'; import { KbqTagsModule } from '@koobiq/components/tags'; import { KbqTextareaModule } from '@koobiq/components/textarea'; import { Subject } from 'rxjs'; @@ -553,6 +553,50 @@ describe('KbqInlineEdit', () => { expect(document.querySelector(componentCssClasses.selectPanel)).toBeTruthy(); }); + describe('select-style editor', () => { + it('should mark a single select as such and add the select-style panel class while editing', async () => { + const fixture = setup(TestWithSelect); + const { debugElement } = fixture; + const inlineEditDebugElement: DebugElement = getInlineEditDebugElement(debugElement); + + expect(inlineEditDebugElement.classes['kbq-inline-edit_select']).toBe(true); + + inlineEditDebugElement.nativeElement.click(); + fixture.detectChanges(); + await fixture.whenStable(); + + expect(document.querySelector(`${componentCssClasses.panel}.kbq-inline-edit__panel_select`)).toBeTruthy(); + }); + + it('should connect the select panel to the inline-edit host', async () => { + const fixture = setup(TestWithSelect); + const { debugElement } = fixture; + const inlineEditDebugElement: DebugElement = getInlineEditDebugElement(debugElement); + + inlineEditDebugElement.nativeElement.click(); + fixture.detectChanges(); + await fixture.whenStable(); + + const select = fixture.debugElement.query(By.directive(KbqSelect)).componentInstance as KbqSelect; + + expect(select.connectedTo()?.elementRef.nativeElement).toBe(inlineEditDebugElement.nativeElement); + }); + + it('should not treat a multi-select as a select-style editor', async () => { + const fixture = setup(TestWithMultiSelect); + const { debugElement } = fixture; + const inlineEditDebugElement: DebugElement = getInlineEditDebugElement(debugElement); + + expect(inlineEditDebugElement.classes['kbq-inline-edit_select']).toBeFalsy(); + + inlineEditDebugElement.nativeElement.click(); + fixture.detectChanges(); + await fixture.whenStable(); + + expect(document.querySelector(`${componentCssClasses.panel}.kbq-inline-edit__panel_select`)).toBeNull(); + }); + }); + it('should stay in view mode when commit() is followed by a redundant outside-click save()', async () => { // A control whose panel is a separate CDK overlay (e.g. kbq-select) makes the overlay's own // outside-click detection see clicks on that panel as "outside" inline-edit's overlay, so both @@ -1224,6 +1268,32 @@ export class TestWithSelectAutoCommit { readonly selected = model(this.options[0]); } +@Component({ + selector: 'name', + imports: [ + FormsModule, + KbqInlineEditModule, + KbqOptionModule, + KbqSelectModule + ], + template: ` + +
{{ selected().join(', ') }}
+ + + @for (option of options; track option) { + {{ option }} + } + + +
+ ` +}) +export class TestWithMultiSelect { + readonly options = Array.from({ length: 5 }).map((_, i) => `Option #${i}`); + readonly selected = model([this.options[0]]); +} + @Component({ selector: 'name', imports: [ReactiveFormsModule, KbqFormFieldModule, KbqInlineEditModule, KbqTextareaModule], diff --git a/packages/components/select/select.component.spec.ts b/packages/components/select/select.component.spec.ts index 4b3637d833..af40474098 100644 --- a/packages/components/select/select.component.spec.ts +++ b/packages/components/select/select.component.spec.ts @@ -1855,6 +1855,41 @@ class SelectWithSearchAndPanelWidth { }) class BaseSelect {} +@Component({ + imports: [KbqSelectModule], + template: ` +
+ + + Option1 + Option2 + + +
+ ` +}) +class SelectWithAmbientOrigin { + readonly select = viewChild.required(KbqSelect); +} + +@Component({ + imports: [KbqSelectModule], + template: ` +
+ + + Option1 + Option2 + + +
+
+ ` +}) +class SelectWithExplicitConnectedTo { + readonly select = viewChild.required(KbqSelect); +} + @Component({ selector: 'select-with-show-preselected-values-single', imports: [KbqSelectModule, ReactiveFormsModule], @@ -7560,4 +7595,44 @@ describe('KbqSelect', () => { })); }); }); + + describe('connectedTo', () => { + it('falls back to the nearest ancestor kbqSelectOrigin when connectedTo is not bound', fakeAsync(() => { + TestBed.configureTestingModule({ + imports: [SelectWithAmbientOrigin, NoopAnimationsModule] + }).compileComponents(); + + const fixture = TestBed.createComponent(SelectWithAmbientOrigin); + + fixture.detectChanges(); + flush(); + + const ambientOrigin = fixture.debugElement.query(By.css('.ambient-origin')).nativeElement; + + fixture.componentInstance.select().open(); + fixture.detectChanges(); + flush(); + + expect((fixture.componentInstance.select() as any).overlayOrigin.nativeElement).toBe(ambientOrigin); + })); + + it('prefers an explicit connectedTo over the ambient origin', fakeAsync(() => { + TestBed.configureTestingModule({ + imports: [SelectWithExplicitConnectedTo, NoopAnimationsModule] + }).compileComponents(); + + const fixture = TestBed.createComponent(SelectWithExplicitConnectedTo); + + fixture.detectChanges(); + flush(); + + const explicitOrigin = fixture.debugElement.query(By.css('.explicit-origin')).nativeElement; + + fixture.componentInstance.select().open(); + fixture.detectChanges(); + flush(); + + expect((fixture.componentInstance.select() as any).overlayOrigin.nativeElement).toBe(explicitOrigin); + })); + }); }); diff --git a/packages/components/select/select.component.ts b/packages/components/select/select.component.ts index 2c9be78179..cd74935b47 100644 --- a/packages/components/select/select.component.ts +++ b/packages/components/select/select.component.ts @@ -732,9 +732,14 @@ export class KbqSelect * Custom element the panel is positioned and sized against, overriding the default * (the parent `kbq-form-field`'s container, if any, or the trigger itself). Useful when the select * is nested inside another component whose own box better represents the panel's visual anchor - * than the select's immediate wrapper. + * than the select's immediate wrapper. Defaults to the nearest ancestor providing `kbqSelectOrigin`, if any. */ - readonly connectedTo = input(undefined, { alias: 'kbqSelectConnectedTo' }); + readonly connectedTo = input( + inject(KbqSelectOrigin, { optional: true }) ?? undefined, + { + alias: 'kbqSelectConnectedTo' + } + ); /** Value of the select control. Can be a single value or array of values for multiple selection. */ // TODO: Skipped for migration because: diff --git a/packages/e2e/routes.ts b/packages/e2e/routes.ts index a67e1b5f34..36320faae6 100644 --- a/packages/e2e/routes.ts +++ b/packages/e2e/routes.ts @@ -46,6 +46,7 @@ import { E2eIconStateAndStyle, E2eIconSvg } from '../components/icon/e2e'; import { E2eInlineEditActionButtons, E2eInlineEditMenuButton, + E2eInlineEditSelectMultiline, E2eInlineEditStates, E2eInlineEditTruncation } from '../components/inline-edit/e2e'; @@ -265,6 +266,7 @@ const components = [ E2eInlineEditMenuButton, E2eInlineEditTruncation, E2eInlineEditActionButtons, + E2eInlineEditSelectMultiline, E2eFormHorizontal, E2eTypographyStyles, E2eTreeTwoLineNode, From fd2701a0a1b6259a55eb24888212db889eedbefd Mon Sep 17 00:00:00 2001 From: Nikita Guryev Date: Tue, 4 Aug 2026 16:57:14 +0300 Subject: [PATCH 05/11] chore: golden files updated --- tools/public_api_guard/components/inline-edit.api.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tools/public_api_guard/components/inline-edit.api.md b/tools/public_api_guard/components/inline-edit.api.md index 5b5a2e0a46..4510f919f8 100644 --- a/tools/public_api_guard/components/inline-edit.api.md +++ b/tools/public_api_guard/components/inline-edit.api.md @@ -8,10 +8,12 @@ import * as _angular_core from '@angular/core'; import { CdkConnectedOverlay } from '@angular/cdk/overlay'; import { ElementRef } from '@angular/core'; import * as i1 from '@angular/cdk/a11y'; +import * as i2 from '@koobiq/components/select'; import { KbqComponentColors } from '@koobiq/components/core'; import { KbqDropdownTrigger } from '@koobiq/components/dropdown'; import { KbqFormField } from '@koobiq/components/form-field'; import { KbqLabel } from '@koobiq/components/form-field'; +import { KbqSelect } from '@koobiq/components/select'; import { KbqTooltipTrigger } from '@koobiq/components/tooltip'; import * as _koobiq_components_core from '@koobiq/components/core'; import { PopUpPlacements } from '@koobiq/components/core'; @@ -53,6 +55,7 @@ export class KbqInlineEdit { protected readonly hasInteractiveContent: _angular_core.WritableSignal; readonly interactiveSelectors: _angular_core.InputSignal; protected readonly isEditMode: _angular_core.Signal; + protected readonly isSingleSelect: _angular_core.Signal; protected readonly label: _angular_core.Signal; protected readonly menu: _angular_core.Signal; protected readonly mode: _angular_core.WritableSignal; @@ -71,6 +74,7 @@ export class KbqInlineEdit { protected save($event?: Event): void; protected readonly saved: _angular_core.OutputEmitterRef; protected readonly scrollStrategy: _angular_core.WritableSignal; + protected readonly selectRef: _angular_core.Signal; readonly setValueHandler: _angular_core.InputSignal<((value: any) => void) | undefined>; readonly showActions: _angular_core.InputSignalWithTransform; readonly showTooltipOnError: _angular_core.InputSignalWithTransform; @@ -81,7 +85,7 @@ export class KbqInlineEdit { readonly validationTooltip: _angular_core.InputSignal | undefined>; protected readonly viewContainer: _angular_core.Signal>; // (undocumented) - static ɵcmp: _angular_core.ɵɵComponentDeclaration; + static ɵcmp: _angular_core.ɵɵComponentDeclaration; // (undocumented) static ɵfac: _angular_core.ɵɵFactoryDeclaration; } From 7bf21c9cddaebf2cede725b35ec074be03b935c6 Mon Sep 17 00:00:00 2001 From: NikGurev <42917304+NikGurev@users.noreply.github.com> Date: Tue, 4 Aug 2026 14:13:22 +0000 Subject: [PATCH 06/11] test: updated e2e snapshots --- .../inline-edit/__screenshots__/06-dark.png | Bin 0 -> 68083 bytes .../inline-edit/__screenshots__/06-light.png | Bin 0 -> 68889 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 packages/components/inline-edit/__screenshots__/06-dark.png create mode 100644 packages/components/inline-edit/__screenshots__/06-light.png diff --git a/packages/components/inline-edit/__screenshots__/06-dark.png b/packages/components/inline-edit/__screenshots__/06-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..08de72458e444f62d4d10373149b18a724044131 GIT binary patch literal 68083 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%0DX@ULVl&aNOQ44r{GI-$xs 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 aD$2{QxW0(b&wIg7P$WfVMT&&pd;J@#wNbGE literal 0 HcmV?d00001 diff --git a/packages/components/inline-edit/__screenshots__/06-light.png b/packages/components/inline-edit/__screenshots__/06-light.png new file mode 100644 index 0000000000000000000000000000000000000000..04468be13d58b501ebfe76b4a37f01bdabfceeb8 GIT binary patch literal 68889 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

a#SBO6k*r*fl*jDH{JRckjx^fqz3Bfr>HFxJr< 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

kJh9_aate`udZRr$Hym z2a|_K6iUC6pOC2ugFQ?FmF46iQ=ld`jUOApW?SQW#s)AA#c=pYd|sXiGJa@Y#jg2f z{*IB2@=Gc4X!80{67i4E&|DAsu1EFzGsqM#c>~=U{8=c8neTcdNtp^vw^yT^`ed%X ze+L3jYD~Mq^~##L;EKUg^{NKH-C|y~iE8U`G%`QGq2xie*7$z#`eTmiuxm=PIc*~* zwjEIL93QHUXB6Iv$u0mJ>CH>XF6xNQbl8)kFmkLwX_YINQ7fdiNU{%dS)$fcO--RyGs;7JGgp`?&4)x`s%F3K*Agyl&l)rkdotb1+X=v6XIeiy*2#+z5e$qGxg2xiI|Ei4!|T7h77 z7F#S>)wWeT$Alw@y;)s3Q3>(EJ{+^uAxYMVc>+<=LbJ#5LTeLt=g+#OZ1u#ti|xs!J?={>?@)rh@|kzPoBY`;ZW$W zuau6t`c6Xb4kmi?lTUzlKgvRsjv7ijxtJ6xYJe~iqD+Ma(a`F*??lgK{Zre)VcK?t45jc~ zMe7+rZLNGYYYlyoVWnf%-EmTTnP8=O`(i~ljaHop^M7h{?eaZq(_mBmFgs!Ljg87=n7`T4h z_N)Hj=gLo?EKlEUAtH*I2RVbO4;&zz{R5o)5E2{F#1bOtRYQWjexufcw}l-aKShTgr2z?IAc-y8|vBS!3Y^sb+RgyN>9ex&X7 zjGsSqVj<>}Srx1(v=|@~KTT+4II{Z5Pf3IyyUz7}dHd!xp&I%O4XneT!&brs(N)-` z*_;yadW|j;vN6NsN=x|!SJhK^{*Z_ttA%QchI8t*SsO^E+>^U;@`INgolpX~wzNQS z?geb12M&p7mdB1q(K;)ekGk|SBWf%isv@fy}B}O>)8@n9yo}c2wvb;ff=HM z*Rg$?`6S>7i3tmaG=l-1EN(bfR~it1zFQEVo|KK>e@Q*;Vusa*Y>>l%%H1OtuPgnT z<@wLMAKhsC8 zZC^CRx@4gdpaXdk)wcor!%5{`)c50osLzey0~>$9W`~vWkcIQ-fFu6%^hiWoKQ*m` z%=8mDy7#HiydEdxz+C-*IYb8>`2TET{$D*P=$028+rxv%2_+Ty$IHjc;2F%5R&^7E T3P=g~35=MKlwb+}XV3oyh*aDq literal 0 HcmV?d00001 From f67a6caad718e659440e4bc0ba6a2aee32a1140c Mon Sep 17 00:00:00 2001 From: Nikita Guryev Date: Tue, 4 Aug 2026 17:53:01 +0300 Subject: [PATCH 07/11] chore: updated docs --- packages/components-dev/inline-edit/module.ts | 3 +- .../components/inline-edit/inline-edit.en.md | 20 +++- .../components/inline-edit/inline-edit.ru.md | 20 +++- .../components/inline-edit/index.ts | 3 + .../inline-edit-select-basic-example.ts | 105 ++++++++++++++++++ packages/docs-examples/example-module.ts | 15 +++ 6 files changed, 157 insertions(+), 9 deletions(-) create mode 100644 packages/docs-examples/components/inline-edit/inline-edit-select-basic/inline-edit-select-basic-example.ts diff --git a/packages/components-dev/inline-edit/module.ts b/packages/components-dev/inline-edit/module.ts index 73f0d8ef29..c5445e3ec8 100644 --- a/packages/components-dev/inline-edit/module.ts +++ b/packages/components-dev/inline-edit/module.ts @@ -18,8 +18,9 @@ import { DevThemeToggle } from '../theme-toggle'; - + + diff --git a/packages/components/inline-edit/inline-edit.en.md b/packages/components/inline-edit/inline-edit.en.md index 021984079c..46a031a58b 100644 --- a/packages/components/inline-edit/inline-edit.en.md +++ b/packages/components/inline-edit/inline-edit.en.md @@ -72,16 +72,28 @@ Inline-editable elements should remain aligned with their appearance in view mod #### Select-style editor -For a single select, edit mode can show only the dropdown panel instead of a bordered input box, with a "not specified" option inside the panel standing in for a clear button. +On selection, open only the dropdown menu — don't show a bordered input field like Select's. The field doesn't need a border of its own, the dropdown alone is enough. - + + +After picking an option, the field returns to view mode. -#### Multiline select +#### Multiline field -When option text is too long for a single line, let both the trigger and the options wrap instead of truncating, and size the panel to the field's width. +Sometimes it's worth making the dropdown options multiline. It's recommended to match the dropdown's width to the field's width. +#### Reset + +Place the clear element inside the dropdown menu — since the select field itself isn't visible, there's no other suitable place for a reset button. + +Also recommended: add an option whose label makes it clear that no value is set. This echoes the wording used for the empty field in view mode. + + + +After picking an option, the field returns to view mode. + ### Recommendations Inline edits should be saved immediately after a change—without requiring a global **Save** button. diff --git a/packages/components/inline-edit/inline-edit.ru.md b/packages/components/inline-edit/inline-edit.ru.md index 6371cdaf01..5e3ed1fba0 100644 --- a/packages/components/inline-edit/inline-edit.ru.md +++ b/packages/components/inline-edit/inline-edit.ru.md @@ -64,16 +64,28 @@ #### Селект без рамки -Для одиночного селекта в режиме редактирования можно показывать только выпадающее меню без рамки поля ввода, а опцию «Не указано» внутри списка использовать вместо кнопки очистки. +При выборе открываем только выпадающее меню, но не показываем поле ввода, как у Select. Рамка поля ввода не требуется — достаточно выпадающего меню. - + + +После выбора опции поле возвращается в режим просмотра. -#### Многострочный селект +#### Многострочное поле -Если текст опции не помещается на одну строку, дайте триггеру и опциям переноситься вместо обрезания, а размер панели подстройте под ширину поля. +Иногда стоит делать опции в выпадающем списке многострочными. Рекомендуется выравнивать ширину выпадающего меню по ширине поля. +#### Сброс + +Разместите элемент для очистки в выпадающем меню — ведь самого поля селекта не видно, поэтому другого подходящего места для кнопки сброса нет. + +Рекомендуем также добавить опцию, название которой явно даёт понять, что значение не установлено. Это будет логично перекликаться с формулировкой пустого поля в режиме просмотра. + + + +После выбора опции поле возвращается в режим просмотра. + ### Рекомендации Поле с инлайн-редактированием должны сохраняться сразу после изменения без общей для всего экрана кнопки «Сохранить». diff --git a/packages/docs-examples/components/inline-edit/index.ts b/packages/docs-examples/components/inline-edit/index.ts index 2979c8631c..72601bbfa3 100644 --- a/packages/docs-examples/components/inline-edit/index.ts +++ b/packages/docs-examples/components/inline-edit/index.ts @@ -10,6 +10,7 @@ import { InlineEditHorizontalListExample } from './inline-edit-horizontal-list/i import { InlineEditMenuExample } from './inline-edit-menu/inline-edit-menu-example'; import { InlineEditOnCleanExample } from './inline-edit-on-clean/inline-edit-on-clean-example'; import { InlineEditOverviewExample } from './inline-edit-overview/inline-edit-overview-example'; +import { InlineEditSelectBasicExample } from './inline-edit-select-basic/inline-edit-select-basic-example'; import { InlineEditSelectMultilineExample } from './inline-edit-select-multiline/inline-edit-select-multiline-example'; import { InlineEditSelectExample } from './inline-edit-select/inline-edit-select-example'; import { InlineEditUnfilledExample } from './inline-edit-unfilled/inline-edit-unfilled-example'; @@ -29,6 +30,7 @@ export { InlineEditMenuExample, InlineEditOnCleanExample, InlineEditOverviewExample, + InlineEditSelectBasicExample, InlineEditSelectExample, InlineEditSelectMultilineExample, InlineEditUnfilledExample, @@ -44,6 +46,7 @@ const EXAMPLES = [ InlineEditDisabledExample, InlineEditHorizontalListExample, InlineEditOnCleanExample, + InlineEditSelectBasicExample, InlineEditSelectExample, InlineEditSelectMultilineExample, InlineEditValidationExample, diff --git a/packages/docs-examples/components/inline-edit/inline-edit-select-basic/inline-edit-select-basic-example.ts b/packages/docs-examples/components/inline-edit/inline-edit-select-basic/inline-edit-select-basic-example.ts new file mode 100644 index 0000000000..d1d4a44933 --- /dev/null +++ b/packages/docs-examples/components/inline-edit/inline-edit-select-basic/inline-edit-select-basic-example.ts @@ -0,0 +1,105 @@ +import { ChangeDetectionStrategy, Component } from '@angular/core'; +import { FormControl, ReactiveFormsModule } from '@angular/forms'; +import { KbqOptionModule } from '@koobiq/components/core'; +import { KbqDlModule } from '@koobiq/components/dl'; +import { KbqFormFieldModule, KbqLabel } from '@koobiq/components/form-field'; +import { KbqInlineEditModule } from '@koobiq/components/inline-edit'; +import { KbqSelectModule } from '@koobiq/components/select'; + +const STATUSES: string[] = ['Open', 'In progress', 'Resolved', 'Closed']; +const PRIORITIES: string[] = ['Low', 'Medium', 'High', 'Critical']; + +/** + * @title Inline edit select basic + */ +@Component({ + selector: 'inline-edit-select-basic-example', + imports: [ + ReactiveFormsModule, + KbqInlineEditModule, + KbqFormFieldModule, + KbqLabel, + KbqOptionModule, + KbqSelectModule, + KbqDlModule + ], + template: ` +

+ + Status + +
+ @if (status.value) { + {{ status.value }} + } @else { + {{ notSetLabel }} + } +
+ + + + @for (item of statuses; track item) { + {{ item }} + } + + +
+
+ + + Priority + + +
+ @if (priority.value) { + {{ priority.value }} + } @else { + {{ notSetLabel }} + } +
+ + + + @for (item of priorities; track item) { + {{ item }} + } + + +
+
+
+ `, + styles: ` + .example__section { + width: 200px; + } + + .kbq-dt { + display: inline-flex; + align-items: center; + } + `, + changeDetection: ChangeDetectionStrategy.OnPush, + host: { + class: 'layout-column layout-align-center-center layout-gap-l' + } +}) +export class InlineEditSelectBasicExample { + protected readonly notSetLabel = 'Not specified'; + + protected readonly statuses = STATUSES; + protected readonly priorities = PRIORITIES; + + protected readonly status = new FormControl(STATUSES[0]); + protected readonly priority = new FormControl(PRIORITIES[0]); +} diff --git a/packages/docs-examples/example-module.ts b/packages/docs-examples/example-module.ts index 827ef3c786..75881b1667 100644 --- a/packages/docs-examples/example-module.ts +++ b/packages/docs-examples/example-module.ts @@ -3196,6 +3196,19 @@ export const EXAMPLE_COMPONENTS: {[id: string]: LiveExample} = { "primaryFile": "inline-edit-overview-example.ts", "importPath": "components/inline-edit" }, + "inline-edit-select-basic": { + "packagePath": "components/inline-edit/inline-edit-select-basic", + "title": "Inline edit select basic", + "componentName": "InlineEditSelectBasicExample", + "files": [ + "inline-edit-select-basic-example.ts" + ], + "localImportFiles": [], + "selector": "inline-edit-select-basic-example", + "additionalComponents": [], + "primaryFile": "inline-edit-select-basic-example.ts", + "importPath": "components/inline-edit" + }, "inline-edit-select-multiline": { "packagePath": "components/inline-edit/inline-edit-select-multiline", "title": "Inline edit select multiline", @@ -8006,6 +8019,8 @@ return import('@koobiq/docs-examples/components/inline-edit'); case 'inline-edit-on-clean': return import('@koobiq/docs-examples/components/inline-edit'); case 'inline-edit-overview': +return import('@koobiq/docs-examples/components/inline-edit'); + case 'inline-edit-select-basic': return import('@koobiq/docs-examples/components/inline-edit'); case 'inline-edit-select-multiline': return import('@koobiq/docs-examples/components/inline-edit'); From f280b9508a2a54e6965e828a90a5318c0efb5098 Mon Sep 17 00:00:00 2001 From: Nikita Guryev Date: Wed, 5 Aug 2026 10:40:31 +0300 Subject: [PATCH 08/11] chore: after review --- .../core/form-field/form-field-ref.ts | 23 +++++- packages/components/form-field/form-field.ts | 9 ++- .../inline-edit/inline-edit.spec.ts | 22 +++++- .../components/inline-edit/inline-edit.ts | 22 ++++-- packages/components/select/public-api.ts | 1 - .../select/select-origin.directive.ts | 13 ---- .../select/select.component.spec.ts | 75 ------------------- .../components/select/select.component.ts | 24 +----- packages/components/select/select.module.ts | 3 - tools/public_api_guard/components/core.api.md | 8 ++ .../components/inline-edit.api.md | 7 +- .../public_api_guard/components/select.api.md | 17 +---- 12 files changed, 80 insertions(+), 144 deletions(-) delete mode 100644 packages/components/select/select-origin.directive.ts diff --git a/packages/components/core/form-field/form-field-ref.ts b/packages/components/core/form-field/form-field-ref.ts index a2161f3c8e..321e3af245 100644 --- a/packages/components/core/form-field/form-field-ref.ts +++ b/packages/components/core/form-field/form-field-ref.ts @@ -1,4 +1,4 @@ -import { InjectionToken, ModelSignal, Signal } from '@angular/core'; +import { ElementRef, InjectionToken, ModelSignal, Signal } from '@angular/core'; import { NgControl } from '@angular/forms'; import { Observable } from 'rxjs'; @@ -59,3 +59,24 @@ export interface KbqFormFieldRef { * @TODO move into form-field.ts, add correct type for `InjectionToken` (#DS-2915) */ export const KBQ_FORM_FIELD_REF = new InjectionToken('KbqFormFieldRef'); + +/** + * Contract for an ancestor that wants to override where overlays opened by a nested + * `KbqFormField`'s control (e.g. a select's dropdown, a datepicker's calendar) are + * anchored, instead of the form-field's own container. + */ +export interface KbqConnectedOverlayOriginProvider { + /** + * Element the overlay should be positioned and sized against, or `undefined` to fall + * back to the form-field's own container. + */ + getConnectedOverlayOrigin(): ElementRef | undefined; +} + +/** + * Injection token for `KbqConnectedOverlayOriginProvider`. Provide it on an ancestor + * component to redirect where a nested `KbqFormField`'s control positions its overlay. + */ +export const KBQ_CONNECTED_OVERLAY_ORIGIN = new InjectionToken( + 'KbqConnectedOverlayOrigin' +); diff --git a/packages/components/form-field/form-field.ts b/packages/components/form-field/form-field.ts index 56f6eb12e5..070030d688 100644 --- a/packages/components/form-field/form-field.ts +++ b/packages/components/form-field/form-field.ts @@ -27,7 +27,9 @@ import { } from '@angular/core'; import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; import { NgControl } from '@angular/forms'; -import { KBQ_FORM_FIELD_REF, KbqColorDirective } from '@koobiq/components/core'; +import { KBQ_CONNECTED_OVERLAY_ORIGIN, + KBQ_FORM_FIELD_REF, + KbqColorDirective } from '@koobiq/components/core'; import { EMPTY, merge } from 'rxjs'; import { delay, startWith } from 'rxjs/operators'; import { KbqCleaner } from './cleaner'; @@ -145,6 +147,7 @@ export class KbqFormField private readonly changeDetectorRef = inject(ChangeDetectorRef); private readonly focusMonitor = inject(FocusMonitor); private readonly defaultOptions = inject(KBQ_FORM_FIELD_DEFAULT_OPTIONS, { optional: true }); + private readonly customOverlayOrigin = inject(KBQ_CONNECTED_OVERLAY_ORIGIN, { optional: true }); /** * @docs-private */ @@ -450,7 +453,9 @@ export class KbqFormField * Gets an ElementRef for the element that a overlay attached to the form-field should be positioned relative to. */ getConnectedOverlayOrigin(): ElementRef { - return this.connectionContainerRef() || this.elementRef; + return ( + this.customOverlayOrigin?.getConnectedOverlayOrigin() ?? this.connectionContainerRef() ?? this.elementRef + ); } /** diff --git a/packages/components/inline-edit/inline-edit.spec.ts b/packages/components/inline-edit/inline-edit.spec.ts index 86bd5753ce..2b8e1cb743 100644 --- a/packages/components/inline-edit/inline-edit.spec.ts +++ b/packages/components/inline-edit/inline-edit.spec.ts @@ -16,10 +16,10 @@ import { TAB } from '@koobiq/components/core'; import { KbqDropdownModule } from '@koobiq/components/dropdown'; -import { KbqFormFieldModule } from '@koobiq/components/form-field'; +import { KbqFormField, KbqFormFieldModule } from '@koobiq/components/form-field'; import { KbqIconModule } from '@koobiq/components/icon'; import { KbqInputModule } from '@koobiq/components/input'; -import { KbqSelect, KbqSelectModule } from '@koobiq/components/select'; +import { KbqSelectModule } from '@koobiq/components/select'; import { KbqTagsModule } from '@koobiq/components/tags'; import { KbqTextareaModule } from '@koobiq/components/textarea'; import { Subject } from 'rxjs'; @@ -577,9 +577,9 @@ describe('KbqInlineEdit', () => { fixture.detectChanges(); await fixture.whenStable(); - const select = fixture.debugElement.query(By.directive(KbqSelect)).componentInstance as KbqSelect; + const formField = fixture.debugElement.query(By.directive(KbqFormField)).componentInstance as KbqFormField; - expect(select.connectedTo()?.elementRef.nativeElement).toBe(inlineEditDebugElement.nativeElement); + expect(formField.getConnectedOverlayOrigin().nativeElement).toBe(inlineEditDebugElement.nativeElement); }); it('should not treat a multi-select as a select-style editor', async () => { @@ -595,6 +595,20 @@ describe('KbqInlineEdit', () => { expect(document.querySelector(`${componentCssClasses.panel}.kbq-inline-edit__panel_select`)).toBeNull(); }); + + it('should not override the overlay origin for a non-select control', async () => { + const fixture = setup(TestComponent); + const { debugElement } = fixture; + const inlineEditDebugElement: DebugElement = getInlineEditDebugElement(debugElement); + + inlineEditDebugElement.nativeElement.click(); + fixture.detectChanges(); + await fixture.whenStable(); + + const formField = fixture.debugElement.query(By.directive(KbqFormField)).componentInstance as KbqFormField; + + expect(formField.getConnectedOverlayOrigin().nativeElement).not.toBe(inlineEditDebugElement.nativeElement); + }); }); it('should stay in view mode when commit() is followed by a redundant outside-click save()', async () => { diff --git a/packages/components/inline-edit/inline-edit.ts b/packages/components/inline-edit/inline-edit.ts index 37a56f02c9..7ed6e6a264 100644 --- a/packages/components/inline-edit/inline-edit.ts +++ b/packages/components/inline-edit/inline-edit.ts @@ -29,16 +29,18 @@ import { AbstractControl, NgControl } from '@angular/forms'; import { KbqButtonModule } from '@koobiq/components/button'; import { isElement, + KBQ_CONNECTED_OVERLAY_ORIGIN, KbqAnimationCurves, KbqAnimationDurations, KbqComponentColors, + KbqConnectedOverlayOriginProvider, kbqInjectA11yLocaleConfiguration, PopUpPlacements } from '@koobiq/components/core'; import { KbqDropdownTrigger } from '@koobiq/components/dropdown'; import { KbqFormField, KbqLabel } from '@koobiq/components/form-field'; import { KbqIcon } from '@koobiq/components/icon'; -import { KbqSelect, KbqSelectOrigin } from '@koobiq/components/select'; +import { KbqSelect } from '@koobiq/components/select'; import { KbqTooltipTrigger } from '@koobiq/components/tooltip'; import { merge, skip } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; @@ -130,6 +132,7 @@ export class KbqInlineEditMenu { ], templateUrl: './inline-edit.html', styleUrls: ['./inline-edit.scss', './inline-edit-tokens.scss'], + providers: [{ provide: KBQ_CONNECTED_OVERLAY_ORIGIN, useExisting: KbqInlineEdit }], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { @@ -145,14 +148,11 @@ export class KbqInlineEditMenu { '(keydown.enter)': 'onClick($event)', '(keydown.space)': 'onClick($event)' }, - hostDirectives: [ - CdkMonitorFocus, - KbqSelectOrigin - ], + hostDirectives: [CdkMonitorFocus], animations: [KBQ_INLINE_EDIT_ACTION_BUTTONS_ANIMATION], exportAs: 'kbqInlineEdit' }) -export class KbqInlineEdit { +export class KbqInlineEdit implements KbqConnectedOverlayOriginProvider { /** Accessible names for the icon-only save/cancel buttons. */ protected readonly a11yLocaleConfiguration = kbqInjectA11yLocaleConfiguration(); @@ -299,6 +299,16 @@ export class KbqInlineEdit { this.mode.update((mode) => (mode === 'view' ? 'edit' : 'view')); } + /** + * Implements `KbqConnectedOverlayOriginProvider`, letting a nested `KbqFormField`'s control + * anchor its overlay to this element instead of the form-field's own container. + * When no override is needed, the form-field falls back to its default. + * @docs-private + */ + getConnectedOverlayOrigin(): ElementRef | undefined { + return this.isSingleSelect() ? new ElementRef(this.overlayOrigin) : undefined; + } + /** Saves the current value and returns to view mode, running the same validation as a normal save. */ commit(): void { this.save(); diff --git a/packages/components/select/public-api.ts b/packages/components/select/public-api.ts index 1965964167..cc0217c8a2 100644 --- a/packages/components/select/public-api.ts +++ b/packages/components/select/public-api.ts @@ -1,5 +1,4 @@ export * from './select-common'; export * from './select-option.directive'; -export * from './select-origin.directive'; export * from './select.component'; export * from './select.module'; diff --git a/packages/components/select/select-origin.directive.ts b/packages/components/select/select-origin.directive.ts deleted file mode 100644 index 615dcbe226..0000000000 --- a/packages/components/select/select-origin.directive.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Directive, ElementRef, inject } from '@angular/core'; - -/** - * Directive applied to an element to make it usable - * as a connection point for a select panel. - */ -@Directive({ - selector: '[kbqSelectOrigin]', - exportAs: 'kbqSelectOrigin' -}) -export class KbqSelectOrigin { - elementRef = inject>(ElementRef); -} diff --git a/packages/components/select/select.component.spec.ts b/packages/components/select/select.component.spec.ts index af40474098..4b3637d833 100644 --- a/packages/components/select/select.component.spec.ts +++ b/packages/components/select/select.component.spec.ts @@ -1855,41 +1855,6 @@ class SelectWithSearchAndPanelWidth { }) class BaseSelect {} -@Component({ - imports: [KbqSelectModule], - template: ` -
- - - Option1 - Option2 - - -
- ` -}) -class SelectWithAmbientOrigin { - readonly select = viewChild.required(KbqSelect); -} - -@Component({ - imports: [KbqSelectModule], - template: ` -
- - - Option1 - Option2 - - -
-
- ` -}) -class SelectWithExplicitConnectedTo { - readonly select = viewChild.required(KbqSelect); -} - @Component({ selector: 'select-with-show-preselected-values-single', imports: [KbqSelectModule, ReactiveFormsModule], @@ -7595,44 +7560,4 @@ describe('KbqSelect', () => { })); }); }); - - describe('connectedTo', () => { - it('falls back to the nearest ancestor kbqSelectOrigin when connectedTo is not bound', fakeAsync(() => { - TestBed.configureTestingModule({ - imports: [SelectWithAmbientOrigin, NoopAnimationsModule] - }).compileComponents(); - - const fixture = TestBed.createComponent(SelectWithAmbientOrigin); - - fixture.detectChanges(); - flush(); - - const ambientOrigin = fixture.debugElement.query(By.css('.ambient-origin')).nativeElement; - - fixture.componentInstance.select().open(); - fixture.detectChanges(); - flush(); - - expect((fixture.componentInstance.select() as any).overlayOrigin.nativeElement).toBe(ambientOrigin); - })); - - it('prefers an explicit connectedTo over the ambient origin', fakeAsync(() => { - TestBed.configureTestingModule({ - imports: [SelectWithExplicitConnectedTo, NoopAnimationsModule] - }).compileComponents(); - - const fixture = TestBed.createComponent(SelectWithExplicitConnectedTo); - - fixture.detectChanges(); - flush(); - - const explicitOrigin = fixture.debugElement.query(By.css('.explicit-origin')).nativeElement; - - fixture.componentInstance.select().open(); - fixture.detectChanges(); - flush(); - - expect((fixture.componentInstance.select() as any).overlayOrigin.nativeElement).toBe(explicitOrigin); - })); - }); }); diff --git a/packages/components/select/select.component.ts b/packages/components/select/select.component.ts index cd74935b47..ec3ff0f389 100644 --- a/packages/components/select/select.component.ts +++ b/packages/components/select/select.component.ts @@ -118,7 +118,6 @@ import { take, takeUntil } from 'rxjs/operators'; -import { KbqSelectOrigin } from './select-origin.directive'; let nextUniqueId = 0; @@ -728,19 +727,6 @@ export class KbqSelect */ protected readonly panelMaxHeightToken = computed(() => kbqResolvePanelMaxHeightToken(this.panelMaxHeight())); - /** - * Custom element the panel is positioned and sized against, overriding the default - * (the parent `kbq-form-field`'s container, if any, or the trigger itself). Useful when the select - * is nested inside another component whose own box better represents the panel's visual anchor - * than the select's immediate wrapper. Defaults to the nearest ancestor providing `kbqSelectOrigin`, if any. - */ - readonly connectedTo = input( - inject(KbqSelectOrigin, { optional: true }) ?? undefined, - { - alias: 'kbqSelectConnectedTo' - } - ); - /** Value of the select control. Can be a single value or array of values for multiple selection. */ // TODO: Skipped for migration because: // Accessor inputs cannot be migrated as they are too complex. @@ -1157,13 +1143,9 @@ export class KbqSelect if (!trigger || !this.keyManager) return; - const connectedTo = this.connectedTo(); - // add check for form-field bounding rectangles, since it adds extra padding around the trigger this.triggerRect = ( - connectedTo?.elementRef.nativeElement || - this.parentFormField?.getConnectedOverlayOrigin().nativeElement || - trigger.nativeElement + this.parentFormField?.getConnectedOverlayOrigin().nativeElement || trigger.nativeElement ).getBoundingClientRect(); // Note: The computed font-size will be a string pixel value (e.g. "16px"). @@ -1173,9 +1155,7 @@ export class KbqSelect // It's important that we read this as late as possible, because doing so earlier will // return a different element since it's based on queries in the form field which may // not have run yet. Also this needs to be assigned before we measure the overlay width. - if (connectedTo) { - this.overlayOrigin = connectedTo.elementRef; - } else if (this.parentFormField) { + if (this.parentFormField) { this.overlayOrigin = this.parentFormField.getConnectedOverlayOrigin(); } diff --git a/packages/components/select/select.module.ts b/packages/components/select/select.module.ts index 47b99ffb05..842558db2c 100644 --- a/packages/components/select/select.module.ts +++ b/packages/components/select/select.module.ts @@ -17,7 +17,6 @@ import { KbqTagsModule } from '@koobiq/components/tags'; import { KbqToolTipModule } from '@koobiq/components/tooltip'; import { KbqSelectError, KbqSelectErrorText, KbqSelectLoading, KbqSelectNoOptions } from './select-common'; import { KbqOptionTooltip } from './select-option.directive'; -import { KbqSelectOrigin } from './select-origin.directive'; import { KbqSelect } from './select.component'; @NgModule({ @@ -35,7 +34,6 @@ import { KbqSelect } from './select.component'; NgTemplateOutlet, A11yModule, KbqSelect, - KbqSelectOrigin, KbqOptionTooltip, KbqSelectLoading, KbqSelectError, @@ -45,7 +43,6 @@ import { KbqSelect } from './select.component'; providers: [KBQ_SELECT_SCROLL_STRATEGY_PROVIDER], exports: [ KbqSelect, - KbqSelectOrigin, KbqOptionTooltip, KbqOptionModule, KbqSelectSearch, diff --git a/tools/public_api_guard/components/core.api.md b/tools/public_api_guard/components/core.api.md index 73cdfc6be8..399b25c669 100644 --- a/tools/public_api_guard/components/core.api.md +++ b/tools/public_api_guard/components/core.api.md @@ -1079,6 +1079,9 @@ export const KBQ_CONNECTED_OVERLAY_ABOVE_CLASS = "kbq-connected-overlay_above"; // @public export const KBQ_CONNECTED_OVERLAY_BELOW_CLASS = "kbq-connected-overlay_below"; +// @public +export const KBQ_CONNECTED_OVERLAY_ORIGIN: InjectionToken; + // @public (undocumented) export const KBQ_CUSTOM_SCROLL_STRATEGY_PROVIDER: (token: InjectionToken, factory: (overlay: Overlay) => () => ScrollStrategy) => { provide: InjectionToken; @@ -2616,6 +2619,11 @@ export enum KbqComponentColors { Warning = "warning" } +// @public +export interface KbqConnectedOverlayOriginProvider { + getConnectedOverlayOrigin(): ElementRef | undefined; +} + // @public (undocumented) export class KbqDataSizePipe implements PipeTransform { constructor(); diff --git a/tools/public_api_guard/components/inline-edit.api.md b/tools/public_api_guard/components/inline-edit.api.md index 4510f919f8..3824f9fd0f 100644 --- a/tools/public_api_guard/components/inline-edit.api.md +++ b/tools/public_api_guard/components/inline-edit.api.md @@ -8,8 +8,8 @@ import * as _angular_core from '@angular/core'; import { CdkConnectedOverlay } from '@angular/cdk/overlay'; import { ElementRef } from '@angular/core'; import * as i1 from '@angular/cdk/a11y'; -import * as i2 from '@koobiq/components/select'; import { KbqComponentColors } from '@koobiq/components/core'; +import { KbqConnectedOverlayOriginProvider } from '@koobiq/components/core'; import { KbqDropdownTrigger } from '@koobiq/components/dropdown'; import { KbqFormField } from '@koobiq/components/form-field'; import { KbqLabel } from '@koobiq/components/form-field'; @@ -35,7 +35,7 @@ export class KbqFocusRegionItem { } // @public -export class KbqInlineEdit { +export class KbqInlineEdit implements KbqConnectedOverlayOriginProvider { constructor(); protected readonly a11yLocaleConfiguration: _angular_core.Signal<_koobiq_components_core.KbqA11yLocaleConfiguration>; protected readonly anchorFocused: _angular_core.WritableSignal; @@ -51,6 +51,7 @@ export class KbqInlineEdit { protected readonly elementRef: ElementRef; protected readonly formFieldRef: _angular_core.Signal; protected readonly formFieldRefList: _angular_core.Signal; + getConnectedOverlayOrigin(): ElementRef | undefined; readonly getValueHandler: _angular_core.InputSignal<(() => unknown) | undefined>; protected readonly hasInteractiveContent: _angular_core.WritableSignal; readonly interactiveSelectors: _angular_core.InputSignal; @@ -85,7 +86,7 @@ export class KbqInlineEdit { readonly validationTooltip: _angular_core.InputSignal | undefined>; protected readonly viewContainer: _angular_core.Signal>; // (undocumented) - static ɵcmp: _angular_core.ɵɵComponentDeclaration; + static ɵcmp: _angular_core.ɵɵComponentDeclaration; // (undocumented) static ɵfac: _angular_core.ɵɵFactoryDeclaration; } diff --git a/tools/public_api_guard/components/select.api.md b/tools/public_api_guard/components/select.api.md index 7590f92dd1..9be1beeb7a 100644 --- a/tools/public_api_guard/components/select.api.md +++ b/tools/public_api_guard/components/select.api.md @@ -23,7 +23,7 @@ import { ErrorStateMatcher } from '@koobiq/components/core'; import { EventEmitter } from '@angular/core'; import { FormGroupDirective } from '@angular/forms'; import * as i1 from '@angular/cdk/overlay'; -import * as i12 from '@koobiq/components/form-field'; +import * as i11 from '@koobiq/components/form-field'; import * as i2 from '@koobiq/components/core'; import * as i3 from '@koobiq/components/icon'; import * as i4 from '@koobiq/components/tags'; @@ -112,7 +112,6 @@ export class KbqSelect extends KbqAbstractSelect implements AfterContentInit, On get colorForState(): KbqComponentColors; get compareWith(): (o1: any, o2: any) => boolean; set compareWith(fn: (o1: any, o2: any) => boolean); - readonly connectedTo: _angular_core.InputSignal; controlType: string; readonly customMatcher: _angular_core.Signal; readonly customTagTemplateRef: _angular_core.Signal | undefined>; @@ -264,7 +263,7 @@ export class KbqSelect extends KbqAbstractSelect implements AfterContentInit, On withVirtualScroll: boolean; writeValue(value: any): void; // (undocumented) - static ɵcmp: _angular_core.ɵɵComponentDeclaration; + static ɵcmp: _angular_core.ɵɵComponentDeclaration; // (undocumented) static ɵfac: _angular_core.ɵɵFactoryDeclaration; } @@ -310,7 +309,7 @@ export class KbqSelectModule { // (undocumented) static ɵinj: _angular_core.ɵɵInjectorDeclaration; // (undocumented) - static ɵmod: _angular_core.ɵɵNgModuleDeclaration; + static ɵmod: _angular_core.ɵɵNgModuleDeclaration; } // @public @@ -333,16 +332,6 @@ export type KbqSelectOptions = Partial<{ // @public export const kbqSelectOptionsProvider: (options: KbqSelectOptions) => Provider; -// @public -export class KbqSelectOrigin { - // (undocumented) - elementRef: ElementRef; - // (undocumented) - static ɵdir: _angular_core.ɵɵDirectiveDeclaration; - // (undocumented) - static ɵfac: _angular_core.ɵɵFactoryDeclaration; -} - // @public @deprecated export type KbqSelectPanelWidth = KbqPanelWidth; From e57db72e088bc717682772ad84a99bf6e3671ab1 Mon Sep 17 00:00:00 2001 From: Nikita Guryev Date: Wed, 5 Aug 2026 10:58:28 +0300 Subject: [PATCH 09/11] chore: linters --- packages/components/form-field/form-field.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/components/form-field/form-field.ts b/packages/components/form-field/form-field.ts index 070030d688..b0ae3b10c9 100644 --- a/packages/components/form-field/form-field.ts +++ b/packages/components/form-field/form-field.ts @@ -27,9 +27,7 @@ import { } from '@angular/core'; import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; import { NgControl } from '@angular/forms'; -import { KBQ_CONNECTED_OVERLAY_ORIGIN, - KBQ_FORM_FIELD_REF, - KbqColorDirective } from '@koobiq/components/core'; +import { KBQ_CONNECTED_OVERLAY_ORIGIN, KBQ_FORM_FIELD_REF, KbqColorDirective } from '@koobiq/components/core'; import { EMPTY, merge } from 'rxjs'; import { delay, startWith } from 'rxjs/operators'; import { KbqCleaner } from './cleaner'; From e102754c626dae47dd48cfc7b83f3b6582529810 Mon Sep 17 00:00:00 2001 From: Nikita Guryev Date: Wed, 5 Aug 2026 12:25:35 +0300 Subject: [PATCH 10/11] chore: after review --- packages/components/inline-edit/inline-edit.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/components/inline-edit/inline-edit.ts b/packages/components/inline-edit/inline-edit.ts index 7ed6e6a264..a5680f3fee 100644 --- a/packages/components/inline-edit/inline-edit.ts +++ b/packages/components/inline-edit/inline-edit.ts @@ -14,6 +14,7 @@ import { Directive, effect, ElementRef, + forwardRef, inject, input, numberAttribute, @@ -132,7 +133,7 @@ export class KbqInlineEditMenu { ], templateUrl: './inline-edit.html', styleUrls: ['./inline-edit.scss', './inline-edit-tokens.scss'], - providers: [{ provide: KBQ_CONNECTED_OVERLAY_ORIGIN, useExisting: KbqInlineEdit }], + providers: [{ provide: KBQ_CONNECTED_OVERLAY_ORIGIN, useExisting: forwardRef(() => KbqInlineEdit) }], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { @@ -306,7 +307,7 @@ export class KbqInlineEdit implements KbqConnectedOverlayOriginProvider { * @docs-private */ getConnectedOverlayOrigin(): ElementRef | undefined { - return this.isSingleSelect() ? new ElementRef(this.overlayOrigin) : undefined; + return this.isSingleSelect() ? this.elementRef : undefined; } /** Saves the current value and returns to view mode, running the same validation as a normal save. */ From e65eb5e9501f4f98b839c7de09f67b37b93cd49a Mon Sep 17 00:00:00 2001 From: NikGurev <42917304+NikGurev@users.noreply.github.com> Date: Wed, 5 Aug 2026 09:58:34 +0000 Subject: [PATCH 11/11] test: updated e2e snapshots --- .../inline-edit/__screenshots__/06-dark.png | Bin 68083 -> 68049 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/packages/components/inline-edit/__screenshots__/06-dark.png b/packages/components/inline-edit/__screenshots__/06-dark.png index 08de72458e444f62d4d10373149b18a724044131..70c76c5262b4916183479e17e8689be84b0a2cdd 100644 GIT binary patch literal 68049 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

w?0es+8Cf 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

SzuL%u7-U+K-&0Vcb}*@q#lMs^B{w^lPr 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

@} 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 literal 68083 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%0DX@ULVl&aNOQ44r{GI-$xs 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 aD$2{QxW0(b&wIg7P$WfVMT&&pd;J@#wNbGE