Mixin.AnyMixin
type · packages/mixins/src/mixin.ts:28
type AnyMixin = Mixin<any> | StaticMixin<any>Mixins / foldkit-mixins
namespace · packages/mixins/src/mixin.ts:9
export * as Mixin from './mixin.js'Mixin is the common algebra: a named set of per-slot contributions.
StaticMixin holds only static contributions, so it stays assignable to any
Message universe; Style uses it. Mixin may hold deferred contributions and
is tied to one Message universe; Behavior uses it. Composition is immutable
and keeps the deferred form when either side is deferred.
Mixin.AnyMixintype · packages/mixins/src/mixin.ts:28
type AnyMixin = Mixin<any> | StaticMixin<any>Mixin.composefunction · packages/mixins/src/mixin.ts:83
function compose<Message = never>(
...mixins: ReadonlyArray<MixinFor<Message>>
): Mixin<Message>Mixin.contributionsForfunction · packages/mixins/src/mixin.ts:100
function contributionsFor<Message>(
mixin: Mixin<Message> | StaticMixin<Message>,
slot: string,
): SlotContribution<Message> | undefinedMixin.dynamicfunction · packages/mixins/src/mixin.ts:76
function dynamic<Message = never>(
name: string,
contributions: Contribution<Message>,
): Mixin<Message>Mixin.emptyfunction · packages/mixins/src/mixin.ts:81
function empty<Message = never>(): StaticMixin<Message>Mixin.evaluatefunction · packages/mixins/src/mixin.ts:41
function evaluate<Message>(
contribution: SlotContribution<Message>,
context: ContributionContext<Message>,
): StaticContribution<Message>Mixin.isDynamicfunction · packages/mixins/src/mixin.ts:37
function isDynamic<Message>(
contribution: SlotContribution<Message>,
): contribution is DynamicContribution<Message>Mixin.makefunction · packages/mixins/src/mixin.ts:70
function make<Message = never>(
name: string,
contributions: StaticContributionMap<Message>,
): StaticMixin<Message>Mixin.Mixininterface · packages/mixins/src/mixin.ts:18
interface Mixin<Message = never> {
readonly name: string
readonly contributions: Contribution<Message>
}Mixin.MixinFortype · packages/mixins/src/mixin.ts:35
type MixinFor<Message> = Mixin<Message> | StaticMixin<Message> | Mixin<never>A Mixin acceptable in any context of Message. Mixin<never> is included
explicitly because a message-free dynamic Mixin (input-driven Style) does not
widen to Mixin<Message> — HtmlBuilder is invariant in Message.
Mixin.StaticMixininterface · packages/mixins/src/mixin.ts:23
interface StaticMixin<Message = never> {
readonly name: string
readonly contributions: StaticContributionMap<Message>
}