Skip to content

v0.9.0

Compare
Choose a tag to compare
@edcarroll edcarroll released this 03 Jul 19:56
· 122 commits to master since this release

0.9.0 is here and it brings 2 brand new components and a multitude of additions & fixes for various other components.

Since this is a <1.0.0 release, there are a number of breaking changes. If updating from 0.8.4 please read the upgrade guide below the release notes.


Release Notes

  • Datepicker (new component) (closes #99)
    • Supports picking dates, times, datetimes, months & years
    • Supports constraining date with minimum & maximums
    • Supports being attached to an input element for text entry
    • Validation errors automatically applied when using reactive forms
    • Configurable native fallback on mobile browsers
    • Timezone independent
    • Fully localizable
  • Pagination (new component) (closes #112) (huge thanks to @mcosta74 for writing the component!)
    • Supports navigation & boundary links
    • Supports rotation of page numbers
    • Configurable page sizes & limits
  • Localization (new service)
    • Components relying on in-built text can now be centrally localized
    • Options for datepicker, select & search components
    • Allows customisation of in-built locales, as well as ability to load entirely custom ones
    • Supports following locales out of the box:
  • Select
    • Added support for more built in Semantic UI styles BREAKING
    • Added support for in menu searching
    • Added icon property to choose dropdown icon
    • Added optionsFilter option for a custom search function (closes #137)
    • Added localization support
    • Added full tabbing support
    • Fixed ngModel not setting initial value when not using options (closes #143)
    • Fixed not opening when down key pressed (closes #128)
    • Split options into options and optionsLookup BREAKING
    • Renamed availableOptions to filteredOptions DEPRECATED
    • Removed noResultsMessage BREAKING
    • Removed selection as default class BREAKING
  • Search
    • Added resultTemplate option for specifying result template (closes #136)
    • Added resultFormatter option for specifying result formatter function
    • Added retainSelectedResult option that controls automatic clearing of the input
    • Added optionsFilter option for a custom search function (addresses #137)
    • Added localization support
    • Added full tabbing support
    • Split options into options and optionsLookup BREAKING
    • Renamed itemSelected to resultSelected BREAKING
    • Removed ngModel support BREAKING
  • Modal
    • Added isInverted option (thanks to @trevordaniels)
    • Elements with the autofocus attribute now get focus when modals open (closes #150)
    • Fixed alignment on scrolling modals (closes #126)
  • Popup
    • Added support for Semantic UI directional transitions
    • Elements with the autofocus attribute now get focus when the popups open (closes #150)
  • Dropdown
    • Dropdowns now autoclose when losing focus via tabbing
  • Checkbox
    • Checkboxes & radiobuttons now focus on click

Upgrade Guide

To fix each of the breaking changes from above follow the individual bullet points below:

  • Select
    • If using a remote lookup function, rename [options] to [optionsLookup]. The split was introduced because having a single property can be confusing.
    • Replace all occurrences of availableOptions with filteredOptions. availableOptions has been deprecated and will be removed in 0.10.0, as filteredOptions is clearer.
    • Add class="selection" to all of your existing <sui-select> and <sui-multi-select> components. selection was removed as a default class to support a wider range of Semantic UI select styles.
    • Replace uses of noResultsMessage with localeOverrides as per the new localization service.
  • Search
    • If using a remote lookup function, rename [options] to [optionsLookup]. The split was introduced because having a single property can be confusing.
    • Replace all occurrences of (itemSelected) with (resultSelected). This is because all instances of item have been replaced by the clearer result as there was a mix before.
    • Remove all uses of [(ngModel)] as ngModel support has been dropped. Instead, use (resultSelected) to track the last selected option.

That covers everything you need to do for a clean upgrade.