Skip to content

v4.0.0

Choose a tag to compare

@ala-n ala-n released this 04 Oct 23:44
· 6782 commits to main since this release

4.0.0 (2022-10-04)

ESL Core

Features:

  • ESLEventListeners functionality introduced
  • ESLMixinElements functionality introduced
  • ESLBaseElement extended API
    • ESLBaseElement.create shortcut to create current custom element

Structural changes:

  • Attribute decorators moved to the esl-utils
  • All ESL modules migrated to ESLEventListeners
  • Event names are now defined on the prototype level

BREAKING CHANGES

  • $$fire no longer adds 'esl:' prefix to the fired events

ESL Media Query

Features:

  • ESLMediaQuery now implements EventTarget interface
  • ESLMediaRuleList API reworked with EventTarget interface and new calculation strategy

BREAKING CHANGES

  • ESLMediaRuleList.parseTuple arguments order changed
  • ESLMediaRule no longer supports default marker, now "default" is equal to "all" query
  • ESLMediaRuleList observation callback signature changed, now it should be EventListener
  • ESLMediaRuleList.prototype.default removed as no longer default rules
  • ESLMediaRuleList no longer fires events on rule change, now it's based on active value change
  • ESLMediaRuleList now uses merging of all active rules to define result value, however you were still able to get the last active rule value
  • ESLMediaRuleList.prototype.active now returns an array of active rules

ESL Traversing Query

Features:


ESL Utils

Features:

  • ability to grow/shrink axis of the Rect (1c58a1c)
  • SyntheticEventTarget to implement EventTarget interface with more listeners control (e4f3eb8)
  • simplify and extend @prop decorator API (fd6ede3)
  • add skipOneRender RAF utility (ddc3227)
  • add ability to pass predicate to sequence finder (dd8c3cb)
  • add @decorate decorator to bind and decorate method of the class
  • @attr extended with ability to pass Serializer/Parser (012eb83)
  • create dom html sanitize method (004642f)
  • create extractValues object utility (8edd9e7)
  • create cumulative imports for esl-utils submodules (2e9d6ad)

BREAKING CHANGES

  • isMouseEvent, isTouchEvent moved outside of EventUtils
  • normalizeTouchPoint renamed to touchPoint and moved outside of EventUtils
  • normalizeCoordinates removed. Use getOffsetPoint in combination with getTouchPoint instead
  • @prop signature changed prop(value?: any, prototypeConfig: OverrideDecoratorConfig = {}) instead
  • ScrollUtils.lock no longer accessible. Use lockScroll(document.documentElement, {strategy: '...'}) instead
  • ScrollUtils.unlock no longer accessible. Use unlockScroll(document.documentElement, {strategy: '...'}) instead
  • ScrollUtils.lockRequest no longer accessible. Use lockScroll(document.documentElement, {strategy: '...', initiatior}) instead
  • ScrollUtils.unlockRequest no longer accessible. Use unlockScroll(document.documentElement, {strategy: '...', initiatior}) instead

Bugfixes

  • make attr decorators correctly strict typed
  • deepMerge primitive values merging improved, undefined arguments now ignored (5b7b730)
  • fix @bind decorator to save original function enumerable marker (92c2086)
  • update @decorate decorator to allow to save context properly (on instance level) (0ac1b0c)

ESL Toggleable and ESL Trigger

Features:

  • migrate esl-toggleable and esl-trigger to ESLEventListeners
  • esl:show:request additional data (a121872)
  • support of esl:hide:request (8a0928b)
  • add support of dynamic aria-label for esl-trigger (5c18841)
  • add esc key event handler for esl-trigger (3dab6da)
  • add ignore-esc attribute for esl-trigger (605b715)

ESL Panel and ESL Panel Group

Features:

  • migrate esl-panel and esl-panel-group to ESLEventListeners
  • add refresh-strategy attribute (#1156) (36027ad)
  • add ability to control min/max open panels per media condition (67ca2ba)

BREAKING CHANGES

  • ESLPanelGroup.noCollapse (with related attribute) renamed to ESLPanelGroup.noAnimate (no-animate attribute)
  • ESLPanelGroup.shouldCollapse renamed to ESLPanelGroup.shouldAnimate
  • PanelActionParams.noCollapse renamed to PanelActionParams.noAnimate
  • ESLPanelGroup view attribute is no longer supported
  • open mode of ESLPanelGroup is no longer supported, it should be replaced with a min-open-items="all"
  • accordion-group="single" attribute of ESLPanelGroup is no longer supported, replaced with max-open-items="1"
  • accordion-group="single" attribute of ESLPanelGroup is no longer supported, replaced with max-open-items="all"
  • components inherited from ESLPanelGroup should use @listen({inherit: true}) for proper subscription

Bugfixes

  • add capturedBy and fix after:show dispatch (9bdc98c)
  • fix esl:before:hide bubbling from uncontrolled toggleables (9212b6b)
  • fix animation process capturing by ESLPanel component (9a5b3a5)
  • change no-animate API (dde3500)

ESL Tab and ESLTabs

Features:

  • esl-tab and esl-tabs migrated to ESLEventListeners

Bugfixes:

BREAKING CHANGES

  • Listeners extended from ESLTab should now use @listen annotation to work correctly
  • Listeners extended from ESLTabs should now use @listen annotation to work correctly

ESL Alert

Features:

  • esl-alert migrated to ESLEventListeners, inner API updates

BREAKING CHANGES

  • Listeners extended from ESLAlert should now use @listen annotation to work correctly
  • eventNs is no longer supported, event is now defined directly on the prototype level

ESL Popup

Features:

  • add configurable rootMargin for the popup activator observer (5d647d6)
  • add extended offsetContainer configuration (63cbc0a)

BREAKING CHANGES

  • Listeners extended from ESLPopup should now use @listen annotation to work correctly

ESL Footnotes

Features:

  • migrate esl-notes and esl-footnotes to ESLEventListeners
  • add configurable intersectionMargin for the note tooltip activator observer (b9b1599)

BREAKING CHANGES

  • Listeners extended from ESLNote should now use @listen annotation to work correctly
  • Listeners extended from ESLFootnote should now use @listen annotation to work correctly
  • eventNs is no longer supported, event is now defined directly on the prototype level

ESL Image and ESL Media

Bugfixes:

  • fix esl-image to prevent DOM XSS vulnerabilities (4fd925d)
  • fix wrong error status on svg images in FF (cad6b40)

ESL Scrollbar

Features:

  • migrate esl-scrollbar to ESLEventListeners

Bugfixes

  • remove unnecessary width (6e18909)

BREAKING CHANGES

  • Listeners extended from ESLScrollbar should now use @listen annotation to work correctly

ESL Select

Features:

  • migrate esl-select to ESLEventListeners (76ca947)
  • add dropdown-class param to specify dropdown additional CSS class(es) (938357f)

ESL Polyfills

Features:

  • Event, CustomEvent, MouseEvent, KeyboardEvent, FocusEvent extended polyfills (9ca3c40)
  • Object.assign and Array.from extended polyfills (590bca4)
  • extended es5-target-shim (ef53df9)

BREAKING CHANGES

  • ES5 shim shimES5ElementConstructor replaced with shimES5Constructor