rimmel
rimmel copied to clipboard
A Stream-Oriented UI library for the Rx.Observable Universe.
Implements `WrapForReact()` to enable seamless use of Rimmel components inside React applications. #### Features: - Converts React props to BehaviorSubject observables - Maintains Rimmel's no-re-render reactive model - Proper lifecycle...
Due to popular demand, it would be interesting to create a working prototype of a "React Adapter" to make it possible to render Rimmel components inside a React one. Given...
Schedulers like src/schedulers/ema-animation-frame group/debounce tasks by node in order to skip updates that would overwrite previous ones. Tasks should be grouped by node AND task type (e.g. innerHTML task, attribute...
Rimmel has spent a great deal of effort focusing on the most advanced use cases for templates with async/observable parts and complex structures. Some excessively "basic" use cases have been...
[Attribute Mixins](https://dev.to/dariomannu/attribute-mixins-a-declarative-functional-alternative-to-directives-4gf6) should support sinking CSS when emitted as an object. They work with strings, as per this [example](https://stackblitz.com/edit/rimmel-css-string-bug): Relevant code: https://github.com/ReactiveHTML/rimmel/blob/master/src/sinks/mixin-sink.ts https://github.com/ReactiveHTML/rimmel/blob/master/src/sinks/attribute-sink.ts Hint: to trace down what Rimmel is...
The Rimmel parser is relatively simple: it [loops through](https://github.com/ReactiveHTML/rimmel/blob/cd1b0346e6c1e432c45fe3786a6555b3caeda604/src/parser/parser.ts#L90) template string literals and expressions looking for patterns to match, based on which it will decide how to treat each expression...
Custom Events in templates: a potential new feature being considered. ```js const onenter = /* impl TBD */ const stream = new Subject(); target.innerHTML = rml` `; ``` This might...
When Rimmel mounts an element to the DOM, a MutationObserver is called to activate all data bindings. We want to switch to using `document.createTreeWalker()` instead of filtering through a `mutationList`...
Schedulers are currently uncovered. It would be great to have a good coverage on those, too, following a BDD structure similar to how we've done the tests for sources and...
This is still a cutting-edge research area in Rimmel. We're introducing a new design pattern: *Transferable Promises* and *Transferable Observables*. What do these do? They are used in Server-Side Rendering...