43081j / 43081j/relit

Composed slot controllers (and maybe more)

Open
#12 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
109
Forks
3
Avg merge
5h 52m
Merged PRs (30d)
2

Description

We have `SlotController` right now, but it really exists as some kind of building block to what might come next.

For example, a `BindSlotAttributesController` (better name please) which binds some attributes to the slotted children. It could compose the `SlotController` like so:

```ts
const slotCtrl = new SlotController(this);
const bindCtrl = new BindSlotAttributesController(slotCtrl, {tabindex: '-1'});

html`

`;
```

this would mean we could have multiple controllers composing the `SlotController` such that we only need to connect the slot controller to the ``.

all other controllers would react to the underlying slot controller's changes/listeners.

```ts
const slotCtrl = new SlotController(this);
const bindCtrl = new BindSlotAttributesController(slotCtrl, {tabindex: '-1'});
const bindPropsCtrl = new BindSlotPropertiesController(slotCtrl, {someProp: 'abc'});

html`

`;

we really need to just dive in and try this out, i think. see what bumps we hit in the road and iterate until we get a clean interface

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.