CngxTagGroupHost
projects/common/display/tag-group/tag-group.token.ts
Referenced by#
Import#
import { CngxTagGroupHost } from '@cngx/common/display'
Description#
Public host contract that CngxTagGroup and any future
non-component implementer must satisfy. Surfaced through
CNGX_TAG_GROUP so child CngxTag directives can read parent state
reactively without injecting a concrete parent class.
The field is typed Signal<boolean> (the public parent type),
NOT InputSignal<boolean> - test doubles and programmatic groups
must be able to satisfy the contract without owning an Angular
input(). The CngxTagGroup implementer narrows its
InputSignal<boolean> to this public type via direct assignment
(readonly semanticList: Signal<boolean> = this.semanticListInput).
InputSignal already structurally extends Signal, so no runtime
conversion is needed - and .asReadonly() does NOT exist on
InputSignal (it lives on WritableSignal only); the type-only
narrowing is the canonical bridge.