Skip to content

Releases: zeixcom/ui-element

v0.12.2

21 May 10:21
ccdb622
Compare
Choose a tag to compare
v0.12.2 Pre-release
Pre-release

What's Changed

Full Changelog: v0.12.0...v0.12.2

v0.12.0

28 Apr 14:18
Compare
Choose a tag to compare
v0.12.0 Pre-release
Pre-release

What's Changed

  • Feature: switch to property accessors instead of Map interface by @estherbrunner in #49

Full Changelog: v0.11.0...v0.12.0

Version 0.11.0

17 Mar 10:38
Compare
Choose a tag to compare
Version 0.11.0 Pre-release
Pre-release

Breaking Changes

  • More consistent naming: states -> init as object of StateInitializer -> SignalInitializer
  • Export only previous *WithFallback() variants of attribute parsers to reduce surface API and confusion: asString(), asInteger(), asNumber(), and asJSON()

New Features

  • Update to Cause & Effect 0.12.4 to take advantage of new features (improved error und unset handling) and bugfixes
  • Re-export whole API of Cause & Effect: new types MaybeSignal, ComputedCallbacks, EffectCallbacks and function watch()
  • New bundled effects dangerouslySetInnerHTML() and insertTemplate()
  • Functions in effects are of new type ValueProvider, allowing to access index without having to re-wrap partially applied effect functions that broke type inference
  • Better error messages that include the instance of objects and type of primitive values
  • Export functions to update a State as StateUpdater

Bugfixes

  • Fix bug for RESET with fallback value of null: should also trigger delete in of updateElement()

Documentation and Tests

  • New API reference generated by TypeDoc
  • Live reloading while docs:serve is running
  • Update examples in tests and docs and README to use new API
  • Update test cases to use RESET instead of null, as Cause & Effect now enforces non-nullability
  • Add test cases for new bundled effects

What's Changed

  • feat: add hot module reloading for documentation development by @fabianhaef in #45
  • docs: update rating-stars example to use custom event by @estherbrunner in #46
  • docs: add API reference generated by TypeDoc by @estherbrunner in #48
  • feat: cleanup of API for version 1.0rc1 (0.11.0) using Cause & Effect 0.12.4, bugfixes, alignment of examples in docs and tests by @estherbrunner in #47

New Contributors

Full Changelog: v0.10.1...v0.11.0

Version 0.10.1

24 Feb 00:53
97bf5d9
Compare
Choose a tag to compare
Version 0.10.1 Pre-release
Pre-release

What's Changed

Full Changelog: v0.10.0...v0.10.1

Version 0.10.0

13 Feb 08:30
Compare
Choose a tag to compare
Version 0.10.0 Pre-release
Pre-release

What's Changed

Full Changelog: v0.8.5...v0.10.0

Version 0.8.5

04 Oct 22:28
0085a51
Compare
Choose a tag to compare
Version 0.8.5 Pre-release
Pre-release

What's Changed

Bugfixes

  • fix setStyle() auto-effect
  • fix context signals not updating

Minor New Features

  • better error handing in derived signals; derive() is now exported from main bundle as well
  • allow all auto-effects to revert to server-rendered state by setting signal to undefined
  • explicitly remove attribute or style property by setting signal to null
  • parse fallback value of string auto-effects (setText(), maybe setProperty(), setAttribute(), and setStyle()) according to static attributeMap

Documentation and Tests

  • prepare full documentation (unfinished yet)
  • add more tests for context and auto-effects

Full Changelog: v0.8.3...v0.8.5

Version 0.8.3

23 Sep 13:27
19b2dcf
Compare
Choose a tag to compare
Version 0.8.3 Pre-release
Pre-release

What's Changed

New Features

  • Built-in auto-effects now accept anonymous functions for passing state (besides state keys)
  • Map interface methods on UIElement now accept anything for keys (not just PropertyKey)

Breaking Changes

  • dispatch() auto-effect has been renamed to emit() as in common EventEmitter libraries

Other Changes

  • Under the hood optimizations for context and functions connecting to the UI interface
  • Use lastest API in test cases
  • Pull Request: Feature/0.8.3 by @estherbrunner in #15

Full Changelog: v8.0.2...v0.8.3

v8.0.2

30 Aug 12:39
6a76d5c
Compare
Choose a tag to compare
v8.0.2 Pre-release
Pre-release

What's Changed

Bugfixes

  • AttributeParser now expects unknown[] as return value to avoid issues with partially applied parser functions
  • fixed bug in scheduler where updated state was skipped if another update was already scheduled for the same property
  • slightly optimized scheduler by @estherbrunner in #14

Full Changelog: v0.8.1...v8.0.2

v0.8.1

21 Aug 18:05
Compare
Choose a tag to compare
v0.8.1 Pre-release
Pre-release

What's Changed

New Features

  • Scheduler that can deduplicate DOM Instructions on same element property in the same tick
  • Chainable UI API for everything with elements (using arrays):
    • this.self, this.first(selector) and this.all(selector)
    • pass(stateMap) is now a partially applied function to connect to the chainable UI interface
    • on(event, handler) and off(event, handler) are now partially applied functions to connect to the chainable UI interface
    • Auto-Effects also connect to the chainable UI interface:
      • setText(state)
      • setProperty(key, state=key)
      • setAttribute(name, state=name)
      • toggleAttribute(name, state=name)
      • toggleClass(token, state=token)
      • setStyle(prop, state=prop)
      • dispatch(event, state=event)
  • All attribute parser functions and functions to connect to the new chainable UI interface are now part of core

Breaking Changes to Core Features since v0.7.3

  • attributeMap is now also static (like observedAttributes, providedContexts, consumedContexts
  • this.pass(element, stateMap) is now this.[first|all](selector).map(pass(stateMap)) – connecting the the new chainable UI interface

Breaking Changes to Non-Core Features since 0.7.3

  • All methods to connect to the new chainable UI interface were removed (and some renamed) from the old UI interface
  • Function components component(tag, componentProps, connected) are no longer supported – use standard class-based web components instead

Full Changelog: 0.7.3...v0.8.1

0.7.3

01 Aug 13:16
b7f3d79
Compare
Choose a tag to compare
0.7.3 Pre-release
Pre-release

What's Changed

  • Feature/v0.7.3 by @estherbrunner in #11
  • Bugfixes and tests for context provider and consumer
  • Bugfixes and tests for attribute parser functions
  • Better types

Breaking Changes since 0.7.2 to Core Feature

  • Removed possibility to supply Array as attributeMap value; this means: attribute name is always also the key for states; as it is your custom element, name the attributes like you want your states to be named => this reduces complexity and possible confusion
  • Removed possibility to supply contextMap altogether; this means: context key is always also the key for states; derive other states from this for transformations with a new state key => this reduces complexity and increases consistency across components

Breaking Changes since 0.7.2 to Non-Core Features

  • component() now takes UIComponentProps as second argument, an object of:
    • attributeMap: UIAttributeMap – what used to be the seconds argument in version 0.7.0 to 0.7.2
    • consumedContexts: array of context keys to be assigned to static consumedContexts
    • providedContexts: array of context keys to be assigned to static providedContexts

Full Changelog: v0.7.2...0.7.3