v0.9.0
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:
- English UK (en-GB)
- English US (en-US)
- Spanish (es) (thanks to @genuinefafa)
- Portuguese (pt) (thanks to @fniwes)
- French (fr) (thanks to @ciaraward)
- German (de) (thanks to @ciaraward)
- Italian (it) (thanks to @mcosta74)
- 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 usingoptions
(closes #143) - Fixed not opening when down key pressed (closes #128)
- Split
options
intooptions
andoptionsLookup
BREAKING - Renamed
availableOptions
tofilteredOptions
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
intooptions
andoptionsLookup
BREAKING - Renamed
itemSelected
toresultSelected
BREAKING - Removed
ngModel
support BREAKING
- Added
- 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)
- Added
- 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
withfilteredOptions
.availableOptions
has been deprecated and will be removed in0.10.0
, asfilteredOptions
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
withlocaleOverrides
as per the new localization service.
- If using a remote lookup function, rename
- 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 ofitem
have been replaced by the clearerresult
as there was a mix before. - Remove all uses of
[(ngModel)]
asngModel
support has been dropped. Instead, use(resultSelected)
to track the last selected option.
- If using a remote lookup function, rename
That covers everything you need to do for a clean upgrade.