The following is a curated list of changes in the Enact project, newest changes on the top.
core/util.childrenEquals
which was no longer supported by React 16moonstone/Marquee.MarqueeText
, replaced bymoonstone/Marquee.Marquee
moonstone/VirtualGridList.GridListImageItem
, replaced bymoonstone/GridListImageItem
core/util.memoize
method to optimize the execution of expensive functionsui/Touchable
support for drag gestureui/Marquee
component
moonstone/Marquee.Marquee
to bemoonstone/Marquee.MarqueeBase
moonstone/ContextualPopupDecorator
to not restore last-focused child
moonstone/Slider
to correctly show localized percentage value in tooltip whentooltipAsPercent
is truemoonstone/VirtualGridList
to show or hide its scrollbars properlymoonstone/Button
text to be properly centered
moonstone/Button
andmoonstone/IconButton
propnoAnimation
ui/BodyText
,ui/Image
,ui/Item
,ui/ProgressBar
,ui/SlotItem
,ui/Spinner
,ui/ToggleIcon
components as unstyled base components to support UI libraries
core/kind
to always return a component rather than either a component or an SFC depending upon the configurationmoonstone/Marquee
to do less-costly calculations during measurement and optimized the applied stylesmoonstone/ExpandableList
to require a unique key for each object type data- samples to be organized by library and removed background selector
ui/Repeater
andui/Group
to require a unique key for each object type dataui/Toggleable
to use'selected'
as its defaultprop
, rather than'active'
, since'selected'
is by far the most common use caseui/Touchable
to use global gesture configuration with instance override rather than component-level configuration via HOC configs with instance override
moonstone/VirtualList
to render properly with fiber reconcilermoonstone/VirtualList
focus option in scrollTo apimoonstone/ExpandableSpotlightDecorator
to not spot the title upon collapse when inpointerMode
moonstone/Spinner
to not unpause Spotlight unless it was the one to pause itmoonstone/Marquee
to stop when becoming disabledspotlight/Spottable
to not removetabindex
from unspottable components to allow blur events to propagate as expected when a component becomes disabled
ui/Button
,ui/Icon
, andui/IconButton
components to support reuse by themesui/Touchable
support for flick gestures
moonstone/MoonstoneDecorator
root node to fill the entire space available, which simplifies positioning and sizing for child elements (previously always measured 0 in height)moonstone/VirtualList
to prevent infinite function call when a size of contents is slightly longer than a client size without a scrollbarmoonstone/VirtualList
to sync scroll position when clientSize changedui/resolution
to measure the App's rendering area instead of the entire window, and now factors-in the height as well
moonstone/Scroller
andmoonstone/VirtualList
optionindexToFocus
inscrollTo
method which is deprecated from 1.2.0moonstone/Scroller
propshorizontal
andvertical
which are deprecated from 1.3.0 and replaced withdirection
prop
ui/Scroller
andui/VirtualList
ui/Layout
which provides a technique for laying-out components on the screen usingCells
, in rows or columnsui/Touchable
to support consistent mouse and touch events along with hold gesture
moonstone/Button
,moonstone/Checkbox
,moonstone/FormCheckbox
,moonstone/IconButton
,moonstone/IncrementSlider
,moonstone/Item
,moonstone/Picker
, andmoonstone/RangePicker
,moonstone/Switch
andmoonstone/VideoPlayer
to useui/Touchable
ui/Holdable
andui/Pressable
which were replaced byui/Touchable
core/util/childrenEquals
, to be removed in 2.0.0moonstone/Marquee.Marquee
, to be moved tomoonstone/Marquee.MarqueeBase
in 2.0.0moonstone/Marquee.MarqueeText
, to be moved tomoonstone/Marquee.Marquee
in 2.0.0
moonstone/GridListImageItem
to display correctly- Internal method used by many components that sometimes prevented re-renders when they were needed
core/factory
, to be removed in 2.0.0moonstone/VirtualFlexList
, to be replaced byui/VirtualFlexList
in 2.0.0moonstone/VirtualGridList.GridListImageItem
, to be replaced bymoonstone/GridListImageItem
in 2.0.0moonstone/Button
andmoonstone/IconButton
propnoAnimation
, to be removed in 2.0.0moonstone/Button.ButtonFactory
,moonstone/Button.ButtonBaseFactory
,moonstone/IconButton.IconButtonFactory
,moonstone/IconButton.IconButtonBaseFactory
,moonstone/IncrementSlider.IncrementSliderFactory
,moonstone/IncrementSlider.IncrementSliderBaseFactory
,moonstone/Slider.SliderFactory
, andmoonstone/Slider.SliderBaseFactory
, to be removed in 2.0.0moonstone/Item.ItemOverlay
, to be replaced byui/SlotItem
in 2.0.0moonstone/Item.Overlay
andmoonstone/Item.OverlayDecorator
, to be removed in 2.0.0ui/Holdable
andui/Pressable
, to be replaced byui/Touchable
in 2.0.0
moonstone/DaySelector
componentmoonstone/EditableIntegerPicker
componentmoonstone/GridListImageItem
component
core/kind
andcore/hoc
public documentation to be visiblemoonstone/TimePicker
to not read out meridiem label when meridiem picker gets a focusmoonstone/Scroller
to correctly update scrollbars when the scroller's contents change- Several samples that would not rescale correctly when the viewport was resized
moonstone/Panels
to maintain spotlight focus whennoAnimation
is setmoonstone/Panels
to not accept back key presses during transitionmoonstone/Panels
to revert 1.13.0 fix that blurred Spotlight when transitioning panelsmoonstone/Scroller
and other scrolling components to not show scroll thumb when only child item is updatedmoonstone/Scroller
and other scrolling components to not hide scroll thumb immediately after scroll position reaches the top or the bottommoonstone/Scroller
and other scrolling components to show scroll thumb properly when scroll position reaches the top or the bottom by paging controlsspotlight
to guard against accessing unconfigured container configurationsui/ViewManager
to revert 1.13.0 fix for lifecycle timing when entering a view
moonstone/Slider
to not unnecessarily fireonChange
if the initial value has not changed
moonstone/VideoPlayer
propsdisabled
,loading
,miniFeedbackHideDelay
, andthumbnailComponent
as well as new APIs:areControlsVisible
,getVideoNode
,showFeedback
, andtoggleControls
ui/Transition
animation timing functionsease-in
,ease-out
,ease-in-quart
, andease-out-quart
to provide prettier options for transitions that may be more suited to a specific visual style
moonstone/Expandable
and derivatives to use the newease-out-quart
animation timing function to better match the aesthetic of Enyo's Expandablesmoonstone/LabeledItem
to start marquee when hovering while disabledmoonstone/Marquee.MarqueeController
to not abort marquee when moving among componentsmoonstone/Marquee
to correctly start when hovering on disabled spottable componentsmoonstone/Marquee
to restart animation on every resize updatemoonstone/MarqueeDecorator
to stop when unhovering a disabled component usingmarqueeOn
'focus'
moonstone/Panels
to prevent loss of spotlight issue when moving between panelsmoonstone/Picker
marquee issues with disabled buttons or Pickermoonstone/Slider
by removing unnecessary repaints to the screenmoonstone/Slider
to fireonChange
events when the knob is pressed near the boundariesmoonstone/Slider
to not forwardonChange
whendisabled
onmouseUp/click
moonstone/TooltipDecorator
to correctly display tooltip direction when locale changesmoonstone/VideoPlayer
to bring it in line with real-world use-casesmoonstone/VideoPlayer
to correctly position knob when interacting with media slidermoonstone/VideoPlayer
to defer rendering playback controls until neededmoonstone/VideoPlayer
to not read out the focused button when the media controls hidemoonstone/VirtualList
to handle focus properly via page up at the first page and via page down at the last pagemoonstone/VirtualList
to render items from a correct index on edge cases at the top of a listui/ViewManager
to prevent interaction issue withmoonstone/Scroller
moonstone/VirtualList
to scroll and focus properly by pageUp and pageDown when disabled items are in itmoonstone/Button
to correctly specify minimum width when in large text modemoonstone/Scroller.Scrollable
to restore last focused index when panel is changedmoonstone/VideoPlayer
to display time correctly in RTL localemoonstone/VirtualList
to scroll correctly using page down key with disabled itemsmoonstone/Scrollable
to not cause a script error when scrollbar is not renderedmoonstone/Picker
incrementer and decrementer to not change size when focusedmoonstone/Header
to use a slightly smaller font size fortitle
in non-latin locales and a line-height fortitleBelow
andsubTitleBelow
that better meets the needs of tall-glyph languages like Tamil and Thai, as well as latin localesmoonstone/Scroller
andmoonstone/VirtualList
to keep spotlight when pressing a 5-way control while scrollingmoonstone/Panels
to prevent user interaction with panel contents during transitionmoonstone/Slider
and related components to correctly position knob fordetachedKnob
on mouse down and fire value where mouse was positioned on mouse upmoonstone/DayPicker
to update day names when changing localemoonstone/ExpandableItem
and all otherExpandable
components to revert 1.12.1 change to pull down from the topspotlight
to handle non-5-way keys correctly to focus on next 5-way keysspotlight/Spottable
to forwardonMouseEnter
andonMouseLeave
ui/Remeasurable
to update on every trigger changeui/Transition
to revert 1.12.1 change to supportclip
transition-type directions and rendering optimizations
moonstone/ExpandableItem
and all otherExpandable
components to now pull down from the top instead of being revealed from the bottom, matching Enyo's designmoonstone/VirtualListNative
to scroll properly with page up/down keys if there is a disabled itemmoonstone/RangePicker
to display negative values correctly in RTLmoonstone/Scrollable
to not blur scroll buttons when wheelingmoonstone/Scrollbar
to hide scroll thumb immediately without delay after scroll position reaches min or maxmoonstone/Divider
to passmarqueeOn
propmoonstone/Slider
to fireonChange
on mouse up and key upmoonstone/VideoPlayer
to show knob when pressedmoonstone/Header
to layouttitleBelow
andsubTitleBelow
correctlymoonstone/Header
to use correct font-weight forsubTitleBelow
ui/Transition
support for allclip
transition-type directions and made rendering optimizations
core/util.Job
APIsidle
,idleUntil
,startRaf
andstartRafAfter
moonstone/Input
to correctly hide VKB when dismissingmoonstone/Panels
to retain focus when back key is pressed on breadcrumbmoonstone/Popup
fromlast-focused
todefault-element
inSpotlightContainerDecorator
configmoonstone/Scrollable
to prevent focusing outside the viewport when pressing a 5-way key during wheelingmoonstone/Scroller
to called scrollToBoundary once when focus is moved using holding child itemmoonstone/VideoPlayer
to apply skin correctlyspotlight
to focus enabled items that were hovered while disabledspotlight
to not access non-existent container configurationsspotlight/Spottable
to not block next enter key when focus is moved while pressing enter
moonstone/VideoPlayer
propertiesseekDisabled
andonSeekFailed
to disable seek function
moonston/ExpandableList
to becomedisabled
if there are no childrenspotlight
to handle key events to preserve pointer mode for specific keys
moonstone/Scroller
to apply scroll position on vertical or horizontal Scroller when child gets a focusmoonstone/Scroller.Scrollable
to scroll withtout animation when panel is changedmoonstone/ContextualPopup
padding to not overlap close buttonmoonstone/Scroller.Scrollable
andmoonstone/Scroller
to change focus via page up/down only when the scrollbar is visiblemoonstone/Picker
to only increment one value on holdmoonstone/ItemOverlay
to remeasure when focusedspotlight
to not require multiple 5-way key presses in order to change focus after the window regains focus
moonstone/Scrollable
andmoonstone/Scroller
to scroll via page up/down when focus is inside a Spotlight containermoonstone/VirtualList
andmoonstone/VirtualGridList
to scroll by 5-way keys right after wheelingmoonstone/VirtualList
not to move focus when a current item and the last item are located at the same line and pressing a page down keymoonstone/Header
to layout header row correctly instandard
typemoonstone/Input
to not dismiss on-screen keyboard when dragging cursor out of input boxmoonstone/Header
RTLline-height
issuemoonstone/Panels
to render children on idlemoonstone/Scroller.Scrollable
to limit its muted spotlight container scrim to its boundsmoonstone/Input
to always forwardonKeyUp
eventspotlight.Spotlight
methodfocus()
to prevent focusing components within containers that are being removedui/Pressable
to properly set pressed state to false on blur and release
moonstone/VideoPlayer
support for designating components with.spottable-default
as the default focus target when pressing 5-way down from the slidermoonstone/Slider
propertyactivateOnFocus
which when enabled, allows 5-way directional key interaction with theSlider
value without pressing [Enter] firstmoonstone/VideoPlayer
propertynoMiniFeedback
to support controlling the visibility of mini feedback
moonstone/Popup
to focus on mount if it’s initially opened and non-animating and to always pass an object toonHide
andonShow
moonstone/VideoPlayer
to emitonScrub
event and provide audio guidance when setting focus to slider
moonstone/ExpandableItem
and derivatives to restore focus to the Item if the contents were last focused when closedmoonstone/Slider
toggling activated state when holding enter/select keymoonstone/TimePicker
picker icons shifting slightly when focusing an adjacent pickermoonstone/Icon
so it handles color the same way generic text does, by inheriting from the parent's color. This applies to all instances ofIcon
,IconButton
, andIcon
insideButton
.moonstone/VideoPlayer
to correctly position knob on mouse clickmoonstone/Panels.Header
to show an ellipsis for long titles with RTL textmoonstone/Marquee
to restart when invalidated by a prop change and managed by amoonstone/Marquee.MarqueeController
Moonstone Icons
font file to include the latest designs for several iconsmoonstone/Panels/ApplicationCloseButton
to expose itsbackgroundOpacity
propsampler
Icon
andIconButton
samples to include updated images assets
moonstone/Button
andmoonstone/IconButton
to be properly visually muted when in a muted containermoonstone/Icon
not to read out image charactersmoonstone/Icon
to correctly display focused state when using external imagemoonstone/Picker
to increment and decrement normally at the edges of joined pickermoonstone/Scrollable
not to accumulate paging scroll by pressing page up/down in scrollbarmoonstone/VirtualList
to apply "position: absolute" inline style to itemsui/Transition
to recalculate height when a resize occurs
moonstone/ExpandableList
preventing updates when its children had changed
moonstone/ExpandableList
run-time error when using an array of objects as childrenmoonstone/VideoPlayer
blocking pointer events when the controls were hidden
moonstone/styles/mixins.less
mixins:.moon-spotlight-margin()
and.moon-spotlight-padding()
moonstone/Button
propertynoAnimation
to support non-animating pressed visualsampler
locale Vietnamese to the locale list knobui/styles/mixins.less
mixins:.remove-margin-on-edge-children()
and.remove-padding-on-edge-children()
to better handle edge margins on container components
i18n
to classify Vietnamese as a non-latin languagemoonstone/TimePicker
to use "AM/PM" instead of "meridiem" for label under meridiem pickermoonstone/IconButton
default style to not animate on press. NOTE: This behavior will change back to its previous setting in release 2.0.0.moonstone/Popup
to warn when usingscrimType
'none'
andspotlightRestrict
'self-only'
moonstone/Scroller
to block spotlight during scrollmoonstone/ExpandableItem
and derivatives to always pause spotlight before animationspotlight
to block handling repeated key down events that were interrupted by a pointer eventui/Holdable
to cancel key hold events when the pointer movesui/Holdable
andui/Changeable
back to Components and moved performance improvements elsewhere
moonstone/Input
height for non-latin localesmoonstone/VirtualGridList
to not move focus to wrong column when scrolled from the bottom by holding the "up" keymoonstone/VirtualList
to focus an item properly when moving to a next or previous pagemoonstone/Scrollable
to move focus toward first or last child when page up or down key is pressed if the number of children is smallmoonstone/VirtualList
to scroll to preserved index when it exists within dataSize for preserving focusmoonstone/Picker
buttons to not change sizemoonstone/Panel
to move key navigation to application close button on holding the "up" key.moonstone/Picker
to show numbers when changing values rapidlymoonstone/Popup
layout in large text mode to show close button correctlymoonstone/Picker
from moving scroller when pressing 5-way keys injoined
Pickermoonstone/Input
so it displays all locales the same way, without cutting off the edges of charactersmoonstone/TooltipDecorator
to hide tooltip when 5-way keys are pressed for disabled componentsmoonstone/Picker
to not tremble in width when changing values while using a numeric width prop valuemoonstone/Picker
to not overlap values when changing values invertical
moonstone/ContextualPopup
pointer mode focus behavior forspotlightRestrict='self-only'
moonstone/VideoPlayer
to prevent interacting with more components in pointer mode when hiddenmoonstone/Scroller
to not repaint its entire contents whenever partial content is updatedmoonstone/Slider
knob positioning after its container is resizedmoonstone/VideoPlayer
to maintain focus when media controls are hiddenmoonstone/Scroller
to scroll expandable components into view when opening when pointer has moved elsewherespotlight
to not try to focus something when the window is activated unless the window has been previously blurredspotlight
to prevent containers that have been unmounted from being considered potential targetsui/FloatingLayer
to not asynchronously attach a click handler when the floating layer is removedui/ViewManager
to correctly position items when changing mid-transition
moonstone/Dialog
propertyshowDivider
, will be replaced bynoDivider
property in 2.0.0
moonstone/Popup
callback propertyonShow
which fires after popup appears for both animating and non-animating popups
i18n
package to use latest iLibmoonstone/Popup
callback propertyonHide
to run on both animating and non-animating popupsmoonstone/VideoPlayer
stateplaybackRate
to media eventsmoonstone/VideoPlayer
support forspotlightDisabled
moonstone/VideoPlayer
thumbnail positioning and stylemoonstone/VirtualList
to render when dataSize increased or decreasedmoonstone/Dialog
stylemoonstone/Popup
,moonstone/Dialog
, andmoonstone/Notification
to supportnode
type for childrenmoonstone/Scroller
to forwardonKeyDown
eventsui/Holdable
andui/Changeable
to be PureComponents to reduce the number of updates
moonstone/Scrollable
to enable focus when wheel scroll is stoppedmoonstone/VirtualList
to show scroll thumb when a preserved item is focused in a Panelmoonstone/Scroller
to navigate properly with 5-way when expandable child is openedmoonstone/VirtualList
to stop scrolling when focus is moved on an item from paging controls or outsidemoonstone/VirtualList
to move out with 5-way navigation when the first or last item is disabledmoonstone/IconButton
Tooltip position when disabledmoonstone/VideoPlayer
Tooltip time after unhoveringmoonstone/VirtualList
to not show invisible itemsmoonstone/IconButton
Tooltip position when disabledmoonstone/VideoPlayer
to display feedback tooltip correctly when navigating in 5-waymoonstone/MarqueeDecorator
to work with synchronizedmarqueeOn
'render'
and hovering as well asmarqueOn
'hover'
when moving rapidly among synchronized marqueesmoonstone/Input
aria-label for translationmoonstone/Marquee
to recalculate insidemoonstone/Scroller
andmoonstone/SelectableItem
by bypassingshouldComponentUpdate
spotlight/Spottable
to clean up internal spotted state when blurred withinonSpotlightDisappear
handler
moonstone/TextSizeDecorator
and it will be replaced bymoonstone/AccessibilityDecorator
moonstone/MarqueeDecorator
propertymarqueeCentered
andmoonstone/Marquee
propertycentered
will be replaced byalignment
property in 2.0.0
moonstone/TooltipDecorator
config property to direct tooltip into a property instead of adding tochildren
moonstone/VideoPlayer
propthumbnailUnavailable
to fade thumbnailmoonstone/AccessibilityDecorator
withhighContrast
andtextSize
moonstone/VideoPlayer
high contrast scrimmoonstone/MarqueeDecorator
andmoonstone/Marquee
propertyalignment
to allow setting alignment of marquee contentspotlight/SpotlightContainerDecorator
config optioncontinue5WayHold
to support moving focus to the next spottable element on 5-way hold key.spotlight/SpotlightContainerDecorator
config optioncontinue5WayHold
to support moving focus to the next spottable element on 5-way hold keyspotlight/Spottable
ability to restore focus when an initially disabled component becomes enabled
moonstone/Scrollbar
to disable paging control down button properly at the bottom when a scroller size is a non-integer valuemoonstone/VirtualList
,moonstone/VirtualGridList
, andmoonstone/Scroller
to scroll onkeydown
event instead ofkeyup
event of page up and page down keysmoonstone/VirtualGridList
to scroll by item via 5 way keymoonstone/VideoPlayer
to read target time when jump by left/right keymoonstone/IconButton
to not useMarqueeDecorator
andUppercase
moonstone/VirtualList
andmoonstone/VirtualGridList
to focus the correct item when page up and page down keys are pressedmoonstone/VirtualList
not to lose focus when moving out from the first item via 5way when it has disabled itemsmoonstone/VirtualList
to not lose focus when moving out from the first item via 5way when it has disabled itemsmoonstone/Slider
to align tooltip with detached knobmoonstone/FormCheckbox
to display correct colors in light skinmoonstone/Picker
andmoonstone/RangePicker
to forwardonKeyDown
events when notjoined
moonstone/SelectableItem
to display correct icon width and alignmentmoonstone/LabeledItem
to always match alignment with the localemoonstone/Scroller
to properly 5-way navigate from scroll buttonsmoonstone/ExpandableList
to display correct font weight and size for list itemsmoonstone/Divider
to not italicize in non-italic localesmoonstone/VideoPlayer
slider knob to follow progress after being selected when seekingmoonstone/LabeledItem
to correctly position its icon. This affects all of theExpandables
,moonstone/DatePicker
andmoonstone/TimePicker
.moonstone/Panels.Header
andmoonstone/Item
to prevent them from allowing their contents to overflow unexpectedlymoonstone/Marquee
to recalculate when vertical scrollbar appearsmoonstone/SelectableItem
to recalculate marquee when toggledspotlight
to correctly restore focus to a spotlight container in another containerspotlight
to not try to focus something when the window is activated if focus is already set
moonstone/Input
large-text mode
moonstone/Icon
andmoonstone/IconButton
to no longer fit image source to the icon's boundary
-
moonstone/VideoPlayer
ability to seek when holding down the right and left keys. Sensitivity can be adjusted using throttling optionsjumpDelay
andinitialJumpDelay
. -
moonstone/VideoPlayer
propertyno5WayJump
to disable jumping done by 5-way -
moonstone/VideoPlayer
support for the "More" button to use tooltips -
moonstone/VideoPlayer
propertiesmoreButtonLabel
andmoreButtonCloseLabel
to allow customization of the "More" button's tooltip and Aria labels -
moonstone/VideoPlayer
propertymoreButtonDisabled
to disable the "More" button -
moonstone/Picker
andmoonstone/RangePicker
proparia-valuetext
to support reading custom text instead of value -
moonstone/VideoPlayer
methodsshowControls
andhideControls
to allow external interaction with the player -
moonstone/Scroller
support for Page Up/Page Down keys in pointer mode when no item has focus
moonstone/VideoPlayer
to handle play, pause, stop, fast forward and rewind on remote controllermoonstone/Marquee
to also start when hovered ifmarqueeOnRender
is setspotlight
containers using arestrict
value of'self-only'
will ignoreleaveFor
directives when attempting to leave the container via 5-way
moonstone/IconButton
to fit image source withinIconButton
moonstone
icon font sizes for wide iconsmoonstone/ContextualPopupDecorator
to prefer setting focus to the appropriate popup instead of other underlying controls when using 5-way from the activating controlmoonstone/Scroller
not scrolled via 5 way whenmoonstone/ExpandableList
is openedmoonstone/VirtualList
no not let the focus move outside of container even if there are children left when navigating with 5waymoonstone/Scrollable
to update disability of paging controls when the scrollbar is set tovisible
and the content becomes shortermoonstone/VideoPlayer
to focus on hover over play/pause button when video is loadingmoonstone/VideoPlayer
to update and display proper time while moving knob when video is pausedmoonstone/VideoPlayer
long title overlap issuesmoonstone/Header
to applymarqueeOn
prop tosubTitleBelow
andtitleBelow
moonstone/Picker
wheeling inmoonstone/Scroller
moonstone/IncrementSlider
andmoonstone/Picker
to read value changes when selecting buttonsspotlight
to not blur and re-focus an element that is already focusedui/PlaceholderDecorator
to update bounds ofScroller
when thevisible
state changed
moonstone/Slider
andmoonstone/IncrementSlider
proparia-valuetext
to support reading custom text instead of valuemoonstone/TooltipDecorator
propertytooltipProps
to attach props to tooltip componentmoonstone/Scroller
andmoonstone/VirtualList
ability to scroll via page up and page down keysmoonstone/VideoPlayer
tooltip-thumbnail support with thethumbnailSrc
prop and theonScrub
callback to fire when the knob moves and a new thumbnail is neededmoonstone/VirtualList
ability to navigate via 5way when there are disabled itemsmoonstone/ContextualPopupDecorator
propertypopupContainerId
to support configuration of the popup's spotlight containermoonstone/ContextualPopupDecorator
propertyonOpen
to notify containers when the popup has been openedmoonstone/ContextualPopupDecorator
config optionopenProp
to support mapping the value ofopen
property to the chosen property of wrapped component
moonstone/ExpandableList
to use 'radio' as the default, and adapt 'single' mode to render as amoonstone/RadioItem
instead of amoonstone/CheckboxItem
moonstone/VideoPlayer
to not hide pause icon when it appearsmoonstone/ContextualPopupDecorator
to set accessibility-related props onto the container node rather than the popup nodemoonstone/ExpandableItem
,moonstone/ExpandableList
,moonstone/ExpandablePicker
,moonstone/DatePicker
, andmoonstone/TimePicker
to pause spotlight when animating in 5-way modemoonstone/Spinner
to position the text content under the spinner, rather than to the right sidemoonstone/VideoPlayer
to include hour when announcing the time while scrubbingspotlight
5-way target selection to ignore empty containersspotlight
containers to support an array of selectors fordefaultElement
moonstone/Input
ellipsis to show if placeholder is changed dynamically and is too longmoonstone/Marquee
to re-evaluate RTL orientation when its content changesmoonstone/VirtualList
to restore focus on short listsmoonstone/ExpandableInput
to expand the width of its containedmoonstone/Input
moonstone/Input
support fordismissOnEnter
moonstone/Input
focus management to prevent stealing focus when programmatically moved elsewheremoonstone/Input
5-way spot behaviormoonstone
international fonts to always be used, even when unsupported font-weights or font-styles are requestedmoonstone/Panels.Panel
support for selecting components with.spottable-default
as the default focus targetmoonstone/Panels
layout in RTL localesmoonstone
spottable components to supportonSpotlightDown
,onSpotlightLeft
,onSpotlightRight
, andonSpotlightUp
event propertymoonstone/VirtualList
losing spotlight when the list is emptymoonstone/FormCheckbox
in focused state to have the correct "check" colormoonstone/Scrollable
bug innavigableFilter
when passed a container idui/Cancelable
warning for string type cancel handlerwebos/pmloglib
isomorphic compatibility with logging in non-browser environments
moonstone/Popup
to only callonKeyDown
when there is a focused item in thePopup
moonstone/Scroller
,moonstone/Picker
, andmoonstone/IncrementSlider
to automatically move focus when the currently focusedmoonstone/IconButton
becomes disabledspotlight/Spottable
to remove focus from a component when it becomes disabled and move it to another component if not explicitly moved during theonSpotlightDisappear
event callback
moonstone/ContextualPopupDecorator
close button to account for large text sizemoonstone/ContextualPopupDecorator
to not spot controls other than its activator when navigating out via 5-waymoonstone/Header
to set the value ofmarqueeOn
for all types of headers
moonstone/Input
propnoDecorator
is being replaced byautoFocus
in 2.0.0
moonstone/styles/text.less
mixin.locale-japanese-line-break()
to apply the correct Japanese language line-break rules for the following multi-line components:moonstone/BodyText
,moonstone/Dialog
,moonstone/Notification
,moonstone/Popup
, andmoonstone/Tooltip
moonstone/ContextualPopupDecorator
propertypopupProps
to attach props to popup componentmoonstone/VideoPlayer
propertypauseAtEnd
to control forward/backward seekingspotlight
handlers for window focus eventsmoonstone/Panels/Header
propmarqueeOn
to control marquee of header
moonstone/Panels/Header
to expose itsmarqueeOn
propmoonstone/VideoPlayer
to automatically adjust the width of the allocated space for the side components so the media controls have more space to appear on smaller screensmoonstone/VideoPlayer
propertiesautoCloseTimeout
andtitleHideDelay
default value to5000
moonstone/VirtualList
to support restoring focus to the last focused itemmoonstone/Scrollable
to callonScrollStop
before unmounting if a scroll is in progressmoonstone/Scroller
to reveal non-spottable content when navigating out of a scroller
moonstone/Dialog
to properly focus via pointer on child componentsmoonstone/VirtualList
,moonstone/VirtualGridList
, andmoonstone/Scroller
not to be slower when scrolled to the first or the last position by wheelingmoonstone
component hold delay timemoonstone/VideoPlayer
to show its controls when pressing down the first timemoonstone/Panel
autoFocus logic to only focus on initial rendermoonstone/Input
text colorsmoonstone/ExpandableInput
to focus its decorator when leaving by 5-way left/rightspotlight
navigation through spottable components while holding down a directional keyspotlight
support for preventing 5-way navigation out of a container using an empty selectorspotlight
container support for default elements within subcontainers
moonstone/Picker
support for large textmoonstone/Scroller
support for focusing paging controls with the pointermoonstone
CSS rules for unskinned spottable componentsspotlight
incorrectly focusing components within spotlight containers withdata-container-disabled
set tofalse
spotlight
failing to focus the default element configured for a container
moonstone/Scroller
propshorizontal
andvertical
. Deprecated props are replaced withdirection
prop.horizontal
andvertical
will be removed in 2.0.0.moonstone/Panel
propnoAutoFocus
in favor ofautoFocus="none"
core/platform
to support platform detection across multiple browsersmoonstone/Image
support forchildren
prop inside imagesmoonstone/Scroller
propdirection
which replaceshorizontal
andvertical
propsmoonstone/VideoPlayer
propertytooltipHideDelay
to hide tooltip with a given amount of timemoonstone/VideoPlayer
methodsfastForward
,getMediaState
,jump
,pause
,play
,rewind
, andseek
to allow external interaction with the player. See docs for example usage.spotlight/styles/mixins.less
mixins which allow state-selector-rules (muted, spottable, focus, disabled) to be applied to the parent instead of the component's self. This provides much more flexibility without extra mixins to memorize.ui/ViewManager
propchildProps
to pass static props to each child
moonstone/Skinnable
to support context and allow it to be added to any component to be individually skinned. This includes a further optimization in skinning which consolidates all color assignments into a single block, so non-color rules aren't unnecessarily duplicated.moonstone/Skinnable
light and dark skin names ("moonstone-light" and "moonstone") to "light" and "dark", respectivelymoonstone/VideoPlayer
to set play/pause icon to display "play" when rewinding or fast forwardingmoonstone/VideoPlayer
to rewind or fast forward when previous command is slow-forward or slow-rewind respectivelymoonstone/VideoPlayer
to fast forward when previous command is slow-forward and it reaches the last of its play ratemoonstone/VideoPlayer
to not play video on reload whennoAutoPlay
istrue
moonstone/VideoPlayer
propertyfeedbackHideDelay
's default value to3000
moonstone/Notification
to break line in characters in ja and zh localemoonstone/Notification
to align texts left in LTR locale and right in RTL localemoonstone/VideoPlayer
to simulate rewind functionality on non-webOS platforms onlyspotlight
submodules to significantly improve testability
moonstone/ExpandableItem
to correct thetitleIcon
when usingopen
anddisabled
moonstone/GridListImageItem
to center its selection icon on the image instead of the itemmoonstone/Input
to have correctTooltip
position inRTL
moonstone/SwitchItem
to not unintentionally overflowScroller
containers, causing them to jump to the side when focusingmoonstone/VideoPlayer
to fast forward properly when video is at paused statemoonstone/VideoPlayer
to correctly change sourcesmoonstone/VideoPlayer
to show or hide feedback tooltip properlymoonstone/DateTimeDecorator
to work properly withRadioControllerDecorator
moonstone/Picker
in joined, large text mode so the arrows are properly aligned and sizedmoonstone/Icon
to reflect the same proportion in relation to its size in large-text modespotlight
submodules to significantly improve testabilityui/ViewManager
to have a view count of 0 specifically fornoAnimation
cases. This helps things likespotlight
restorefocus
properly.ui/Cancelable
to run modal handlers onwindow
object and correctly store handlers in LIFO order
- Localization support to various
moonstone
components
moonstone/MoonstoneDecorator
fontGenerator
invalidly usingconsole
moonstone/Scroller.Scrollable
optionindexToFocus
inscrollTo
method to be removed in 2.0.0spotlight/SpotlightRootDecorator.spotlightRootContainerName
to be removed in 2.0.0
core/handle.oneOf
to support branching event handlersmoonstone/Slider
andmoonstone/IncrementSlider
propnoFill
to support a style without the fillmoonstone/Marquee
propertyrtl
to set directionality to right-to-leftmoonstone/VirtualList.GridListImageItem
propertyselectionOverlay
to add custom component for selection overlaymoonstone/MoonstoneDecorator
propertyskin
to let an app choose its skin: "moonstone" and "moonstone-light" are now availablemoonstone/FormCheckboxItem
moonstone/FormCheckbox
, a standalone checkbox, to supportmoonstone/FormCheckboxItem
moonstone/Input
propsinvalid
andinvalidMessage
to display a tooltip when input value is invalidmoonstone/Scroller.Scrollable
optionfocus
inscrollTo()
methodmoonstone/Scroller.Scrollable
propertyspottableScrollbar
moonstone/Icon.IconList
icons:arrowshrinkleft
andarrowshrinkright
spotlight/styles/mixins.less
which includes several mixins (.focus
,.disabled
,.muted
, and.mutedFocus
) to make it a little easier to target specific spotlight statesui/transition
callback proponShow
that fires when transitioning into view completes
moonstone/Picker
arrow icon forjoined
picker: small when not spotted, hidden when it reaches the end of the pickermoonstone/Checkbox
andmoonstone/CheckboxItem
to reflect the latest designmoonstone/MoonstoneDecorator/fontGenerator
was refactored to use the browser's FontFace API to dynamically load locale fontsmoonstone/VideoPlayer
space allotment on both sides of the playback controls to support 4 buttons; consequently the "more" controls area has shrunk by the same amountmoonstone/VideoPlayer
to not disable media button (play/pause)moonstone/Scroller.Scrollable
so that paging controls are not spottable by default with 5-waymoonstone/VideoPlayer
's more/less button to use updated arrow iconspotlight/SpotlightContainerDecorator
config property,enterTo
, default value to benull
rather than'last-focused'
spotlight
container handling to address known issues and improve testability -ui/View
to prevent re-renders on views leaving theViewManager
moonstone/MarqueeDecorator
to properly stop marquee on items with'marqueeOnHover'
moonstone/ExpandableList
to work properly with object-based childrenmoonstone/styles/fonts.less
to restore the Moonstone Icon font to request the local system font by default. Remember to update your webOS build to get the latest version of the font so you don't see empty boxes for your icons.moonstone/Picker
andmoonstone/RangePicker
to now use the correct size from Enyo (60px v.s. 84px) for icon buttonsmoonstone/Scrollable
to apply ri.scale properlymoonstone/Panel
to not cover aPanels
'sApplicationCloseButton
when not using aHeader
moonstone/IncrementSlider
to show tooltip when buttons focused
Note: We have updated Enact to support React 15.5. This version of React has deprecated accessing PropTypes from the
react
import. Existing apps should update to import from theprop-types
module.enact-dev
has also been updated to the new release.
moonstone/ExpandableInput
propertyonInputChange
core/util
documentationi18n/Uppercase
propcasing
to control how the component should be uppercasedi18n/util
methodstoCapitalized
andtoWordCase
to locale-aware uppercase stringsmoonstone/Panels.Panel
prop andmoonstone/MoonstoneDecorator
config option:noAutoFocus
to support prevention of setting automatic focus after rendermoonstone/VideoPlayer
props:backwardIcon
,forwardIcon
,jumpBackwardIcon
,jumpForwardIcon
,pauseIcon
, andplayIcon
to support icon customization of the playermoonstone/VideoPlayer
propsjumpButtonsDisabled
andrateButtonsDisabled
for disabling the pairs of buttons when it's inappropriate for the playing mediamoonstone/VideoPlayer
propertyplaybackRateHash
to support custom playback ratesmoonstone/VideoPlayer
callback proponControlsAvailable
which fires when the players controls show or hidemoonstone/Image
support foronLoad
andonError
eventsmoonstone/VirtualList.GridListImageItem
propplaceholder
moonstone/Divider
propertypreserveCase
to display text without capitalizing itspotlight/SpotlightRootDecorator
config option:noAutoFocus
to support prevention of setting automatic focus after renderspotlight/Spotlight
methodgetSpottableDescendants()
moonstone/Slider
colors and sizing to match the latest designsmoonstone/ProgressBar
to position correctly with other components nearbymoonstone/Panels
breadcrumb to no longer have a horizontal line above itmoonstone/Transition
to measure itself when the CPU is idle- style for disabled opacity from 0.4 to 0.3
moonstone/Button
colors for transparent and translucent background opacity when disabledmoonstone/ExpandableInput
propertyonInputChange
to fire along withonChange
.onInputChange
is deprecated and will be removed in a future update.Moonstone.ttf
font to include new iconsmoonstone/Icon
to reference additional iconsspotlight/SpotlightContainerDecorator
to have no default forspotlightRestrict
ui/Slottable
to support slot-candidate tags that have multiple props, which are now forwarded directly instead of just their children
core/util.childrenEquals
to work with mixed components and textmoonstone/Popup
andmoonstone/ContextualPopupDecorator
5-way navigation behaviormoonstone/Input
to not spot its own input decorator on 5-way outmoonstone/VideoPlayer
to no longer render itschildren
in multiple placesmoonstone/Button
text color when used on a neutral (light) background in some casesmoonstone/Popup
background opacitymoonstone/Marquee
to recalculate properly when its contents changemoonstone/TimePicker
to display time in correct ordermoonstone/Scroller
to prefer spotlight navigation to its internal componentsspotlight/Spotlight
to consider nested containers when adjusting focusui/Cancelable
to run modal handlers in the right order
NOTE: This version includes a breaking change to the way modules are organized. This change was necessary to prevent further API breakage following the 1.0.0 release and to facilitate changes we want to make in the future. We understand that this will require some work on the part of developers to update their code. Below you will find details about the changes:
core/jobs
->core/util/Job
core/Accelerator
->spotlight/Accelerator
i18n.$L
->i18n/$L
i18n.toIString
->i18n/$L.toIString
spotlight.Spottable
->spotlight/Spottable
spotlight.spottableClass
->spotlight/Spottable.spottableClass
spotlight.SpotlightContainerDecorator
->spotlight/SpotlightContainerDecorator
spotlight.spotlightDefaultClass
->spotlight/SpotlightContainerDecorator.spotlightDefaultClass
spotlight.SpotlightRootDecorator
->spotlight/SpotlightRootDecorator
core/selection
core/fetch
ui/validators
core.hoc
- Usecore/hoc
core.kind
- Usecore/kind
We have also modified most form components to be usable in a controlled (app manages component state) or uncontrolled (Enact manages component state) manner. To put a component into a controlled state, pass in
value
(or other appropriate state property such asselected
oropen
) at component creation and then respond to events and update the value as needed. To put a component into an uncontrolled state, do not setvalue
(or equivalent), at creation. From this point on, Enact will manage the state and events will be sent when the state is updated. To specify an initial value, use thedefaultValue
(or,defaultSelected,
defaultOpen, etc.) property. See the documentation for individual components for more information.Additionally, we no longer export a
version
with the root import. If you need a version number, import frompackage.json
instead.
moonstone/Button
propertyicon
to support a built-in icon next to the text content. The Icon supports everything thatmoonstone/Icon
supports, as well as a custom icon.moonstone/MoonstoneDecorator
propertytextSize
to resize several components to requested CMR sizes. Simply addtextSize="large"
to yourApp
and the new sizes will automatically take effect.ui/Placeholder
module withPlaceholderControllerDecorator
andPlaceholderDecorator
HOCs which facilitate rendering placeholder components until the wrapped component would scroll into the viewport
i18n
iLib dependency to 20151019-build-12.0-002-04moonstone/Slider
to use the propertytooltip
instead ofnoTooltip
, so the built-in tooltip is not enabled by defaultmoonstone/IncrementSlider
to include tooltip documentationmoonstone/ExpandableList
to accept an array of objects as children which are spread onto the generated componentsmoonstone/CheckboxItem
style to match the latest designs, with support for themoonstone/Checkbox
to be on either the left or the right side by using theiconPosition
propertymoonstone/VideoPlayer
to supply every event callback-method with an object representing the VideoPlayer's current state, including:currentTime
,duration
,paused
,proportionLoaded
, andproportionPlayed
ui/Repeater
to accept an array of objects as children which are spread onto the generated components
moonstone/Panels.Panel
behavior for remembering focus on unmount and setting focus after rendermoonstone/VirtualList.VirtualGridList
showing empty items when items are continuously added dynamicallymoonstone/Picker
to marquee on focus once againspotlight/Spotlight
set()
to properly update the container configspotlight/Spotlight
to properly save the last-focused element for nested containers
core/kind
support forcontextTypes
core/utils
functionextractAriaProps()
for redirecting ARIA props when the root node of a component isn't focusablemoonstone/VirtualList
indexToFocus
option toscrollTo
method to focus on item with specified indexmoonstone/IconButton
andmoonstone/Button
color
property to add a remote control key color to the buttonmoonstone/Scrollbar
propertydisabled
to disable both paging controls when it is truemoonstone/VirtualList
parametermoreInfo
to passfirstVisibleIndex
andlastVisibleIndex
when scroll events are firing- Accessibility support to UI components
moonstone/VideoPlayer
propertyonUMSMediaInfo
to support the custom webOS “umsmediainfo” eventmoonstone/Region
component which encourages wrapping components for improved accessibility rather than only preceding the components with amoonstone/Divider
moonstone/Slider
tooltip. It's enabled by default and comes with options likenoTooltip
,tooltipAsPercent
, andtooltipSide
. See the component docs for more details.moonstone/Spinner
propertiesblockClickOn
andscrim
to block click events behind spinnerui/A11yDecorator
to facilitate adding pre/post hints to componentsui/AnnounceDecorator
to facilitate announcing actions for accessibilitywebos/pmloglib
logging methodperfLog
which callsPmLogInfoWithClock
core/handle
to allow binding to components. This also introduces a breaking change in the return value of handle methods.moonstone/VirtualGridImageItem
styles to reduce redundant style code app sidemoonstone/VirtualList
andmoonstone/VirtualGridList
to add essential CSS for list items automaticallymoonstone/VirtualList
andmoonstone/VirtualGridList
to not adddata-index
to their item DOM elements directly, but to passdata-index
as the parameter of theircomponent
prop like thekey
parameter of theircomponent
propmoonstone/ExpandableItem
and derivatives to defer focusing the contents until animation completesmoonstone/LabeledItem
,moonstone/ExpandableItem
,moonstone/ExpandableList
to each support thenode
type in theirlabel
property. Best used withui/Slottable
.spotlight.Spottable
to prevent emulating mouse events for repeated key events
moonstone/VirtualList.GridListImageItem
to have proper padding size according to the existence of caption/subcaptionmoonstone/Scrollable
to display scrollbars with proper sizemoonstone/VirtualGridList
to not be truncatedwebos/LS2Request
to return failure in isomorphic mode
NOTE - The change to support caching of iLib locales requires an update to the
enact-dev
tool. This change is not backwards compatible with 1.0.0-beta.2. Be sure to update both at the same time and reinstall/re-bootstrap the modules.
ui/Resizable
Higher-order Component to facilitate notification of resized componentscore/handle
functionforEventProp
to test properties on an event- localStorage caching support for ilib resource files
- Support for 5-way operation of
moonstone/Slider
andmoonstone/VideoPlayer.MediaSlider
moonstone/Slider
now supportschildren
which are added to theSlider
's knob, and follow it as it movesmoonstone/ExpandableInput
propertiesiconAfter
andiconBefore
to display icons after and before the input, respectivelymoonstone/Dialog
propertypreserveCase
, which affectstitle
text
moonstone/Marquee
to allow disabled marquees to animatemoonstone/Dialog
to marqueetitle
andtitleBelow
moonstone/Marquee.MarqueeController
config optionstartOnFocus
tomarqueeOnFocus
.startOnFocus
is deprecated and will be removed in a future update.moonstone/Button
,moonstone/IconButton
,moonstone/Item
to not forwardonClick
whendisabled
moonstone/Scroller
to recalculate when an expandable child opensmoonstone/Popup
andmoonstone/ContextualPopupDecorator
so that when the popup is closed, spotlight focus returns to the control that had focus prior to the popup openingmoonstone/Input
to not get focus when disabledspotlight.Spotlight
behavior to follow container config rules when navigating between containersspotlight.Spotlight
behavior to not set focus on spottable components animating past the pointer when not in pointer-modespotlight.Spotlight
5-way behavior where selecting a spottable component may require multiple attempts before performing actionsspotlight.Spotlight
to not unfocus elements on scrollspotlightDisabled
property support for spottable moonstone components
- Support for a new
handlers
block for components created withcore/kind
to allow cached event handlers core/handle
handlerforKey
core/keymap
module to abstract keyboard key codes behind common names (e.g. 'up' and 'down')moonstone/Panels.Panel
propertyshowChildren
to support deferring rendering the panel body until animation completesmoonstone/MarqueeDecorator
propertyinvalidateProps
that specifies which props cause the marquee distance to be invalidated- developer-mode warnings to several components to warn when values are out-of-range
moonstone/Divider
propertyspacing
which adjusts the amount of empty space above and below theDivider
.'normal'
,'small'
,'medium'
,'large'
, and'none'
are available.moonstone/Picker
whenjoined
the ability to be incremented and decremented by arrow keysonSpotlightDisappear
event property support for spottable moonstone componentsspotlight.SpotlightContainerDecorator
support forspotlightDisabled
propspotlight.Spottable
support foronSpotlightDown
,onSpotlightLeft
,onSpotlightRight
, andonSpotlightUp
propertiesspotlight.Spotlight
methodgetDirection
to replacespotlightDirections
ui/ViewManager
propertiesenteringDelay
andenteringProp
to aid deferred rendering of viewsui/resolution
functionscaleToRem
for those times when you have a size in pixels that you want to convert directly torem
to support automatic dynamic resizing
moonstone/Panels.Panels
and variations to defer rendering the children of containedPanel
instances until animation completesmoonstone/ProgressBar
propertiesprogress
andbackgroundProgress
to accept a number between 0 and 1moonstone/Slider
andmoonstone/IncrementSlider
propertybackgroundPercent
tobackgroundProgress
which now accepts a number between 0 and 1moonstone/Slider
to not ignorevalue
prop when it is the same as the previous valuemoonstone/Picker
component's buttons to reverse their operation such that 'up' selects the previous item and 'down' the nextmoonstone/Picker
and derivatives may now use numeric width, which represents the amount of characters to use for sizing.width={4}
represents four characters,2
for two characters, etc.width
still accepts the size-name strings.moonstone/Divider
to now behave as a simple horizontal line when no text content is providedmoonstone/Scrollable
to not display scrollbar controls by defaultmoonstone/DatePicker
andmoonstone/TimePicker
to emitonChange
event whenever the value is changed, not just when the component is closed
core/handle.withArgs
helper function which is no longer needed with the addition of thehandlers
support inkind()
moonstone/ProgressBar
propertiesmin
andmax
spotlight
spotlightDirections
moonstone/IncrementSlider
so that the knob is spottable via pointer, and 5-way navigation between the knob and the increment/decrement buttons is functionalmoonstone/Slider
andmoonstone/IncrementSlider
to not fireonChange
for value changes from props
core/factory
which provides the means to support design-time customization of componentsMoonstone/VideoPlayer
andmoonstone/TooltipDecorator
componentsmoonstone/Panels.Panels
propertyonBack
to supportui/Cancelable
moonstone/VirtualFlexList
Work-In-Progress component (with sample) to support variably sized rows or columnsmoonstone/ExpandableItem
propertiesautoClose
andlockBottom
moonstone/ExpandableList
propertiesnoAutoClose
andnoLockBottom
moonstone/ContextualPopup
propertynoAutoDismiss
moonstone/Dialog
propertyscrimType
moonstone/Popup
propertyspotlightRestrict
spotlight.Spotlight
methodsisPaused()
,isSpottable()
,getCurrent()
, andisMuted()
spotlight.SpotlightContainerDecorator
propertyspotlightMuted
spotlight.spotlightDirections
exportui/RadioDecorator
andui/RadioControllerDecorator
to support radio group-style management of componentsui/Holdable
Higher-order Componentui/ViewManager
eventsonAppear
,onEnter
,onLeave
,onStay
,onTransition
, andonWillTransition
ui/FloatingLayer
scrimType
prop valuenone
ui/Pressable
config optiononMouseLeave
moonstone/Panels.Routable
to require anavigate
configuration property indicating the event callback for back or cancel actionsmoonstone/MarqueeController
focus/blur handling to start and stop synchronizedmoonstone/Marquee
componentsmoonstone/ExpandableList
propertyautoClose
tocloseOnSelect
to disambiguate it from the addedautoClose
on 5-way upmoonstone/ContextualPopupDecorator.ContextualPopupDecorator
component'sonCloseButtonClick
property toonClose
moonstone/Spinner
component'scenter
andmiddle
properties to a singlecentered
property that applies both horizontal and vertical centeringmoonstone/Popup.PopupBase
component'sonCloseButtonClicked
property toonCloseButtonClick
moonstone/Item.ItemOverlay
component'sautoHide
property to remove the'no'
option. The same effect can be achieved by omitting the property or passingnull
.moonstone/VirtualGridList
to be scrolled by page when navigating with a 5-way direction keymoonstone/Scroller
,moonstone/VirtualList
,moonstone/VirtualGridList
, andmoonstone/Scrollable
to no longer respond to mouse down/move/up events- all Expandables to include a state arrow UI element
moonstone/LabeledItem
to support atitleIcon
property which positions just after the title textmoonstone/Button
to includemoonstone/TooltipDecorator
moonstone/Expandable
to support being managed, radio group-style, by a component wrapped withRadioControllerDecorator
fromui/RadioDecorator
moonstone/Picker
to animatemoonstone/Marquee
children when any part of themoonstone/Picker
is focusedmoonstone/VirtualList
to mute its container instead of disabling it during scroll eventsmoonstone/VirtualList
,moonstone/VirtualGridList
, andmoonstone/Scroller
to continue scrolling when holding down the paging controlsmoonstone/VirtualList
to require acomponent
prop and not have a default valuemoonstone/Picker
to continuously change when a button is held down by addingui/Holdable
.ui/FloatingLayer
propertyautoDismiss
to handle both ESC key and click events
ui/Transition
propfit
in favor of usingclassName
i18n/I18nDecorator
issue causing multiple requests for ilibmanifest.moonstone/Popup
andmoonstone/ContextualPopup
5-way navigation behavior using spotlight.- Bug where a synchronized marquee whose content fit the available space would prevent restarting of the marquees
moonstone/Input
to show an ellipsis on the correct side based on the text directionality of thevalue
orplaceholder
content.moonstone/VirtualList
andmoonstone/VirtualGridList
to prevent unwanted scrolling when focused with the pointermoonstone/Picker
to remove fingernail when a the pointer is held down, but the pointer is moved off thejoined
picker.moonstone/LabeledItem
to include marquee on bothtitle
andlabel
, and be synchronized
core/dispatcher
to support pre-rendering
NOTE: The framework was updated to support React 15.4
moonstone/Popup
,moonstone/ContextualPopupDecorator
,moonstone/Notification
,moonstone/Dialog
,moonstone/ExpandableInput
,moonstone/Item.ItemOverlay
,ui/FloatingLayer
andui/FloatingLayer.FloatingLayerDecorator
componentsmoonstone/Popup
,moonstone/ContextualPopupDecorator
,moonstone/Notification
,moonstone/Dialog
,moonstone/Item.ItemOverlay
,moonstone/ExpandableInput
andui/Group
samplesmarqueeCentered
prop tomoonstone/MarqueeDecorator
andmoonstone/MarqueeText
placeholder
prop tomoonstone/Image
moonstone/MarqueeController
component to synchronize multiplemoonstone/Marquee
components- Non-latin locale support to all existing Moonstone components
- Language-specific font support
setPointerMode()
andsetActiveContainer()
methods to@enact/spotlight
exportfit
,noAnimation
props toui/TransitionBase
onHide
prop toui/Transition
moonstone/Input
component'siconStart
andiconEnd
properties to beiconBefore
andiconAfter
, respectively, for consistency withmoonstone/Item.ItemOverlay
namingmoonstone/Icon
andmoonstone/IconButton
so thechildren
property supports both font-based icons and images. This removes support for thesrc
property.- the
checked
property toselected
for consistency across the whole framework. This allows better interoperability when switching between various components. Affects the following:CheckboxItem
,RadioItem
,SelectableItem
,Switch
,SwitchItem
, andToggleItem
. Additionally, these now usemoonstone/Item.ItemOverlay
to position and handle their Icons. - documentation to support our doc generation tool
moonstone/Slider
andmoonstone/IncrementSlider
to be more performant. No changes were made to the public API.moonstone/GridListImageItem
so that a placeholder image displays while loading the image, and the caption and subcaption support marqueeingmoonstone/MoonstoneDecorator
to addFloatingLayerDecorator
- the
src
property frommoonstone/Icon
andmoonston/IconButton
. Use the support for URLs in thechildren
property as noted above.
- Addressed many bugs and performance issues
Note: For those who are using
eslint-config-enact
for in-editor linting, there have been some important changes and reinstallation is necessary. Refer to https://github.com/enactjs/eslint-config-enact/ for install instructions or reinstall via:npm install -g eslint eslint-plugin-react eslint-plugin-babel babel-eslint enactjs/eslint-plugin-enact enactjs/eslint-config-enact
If you don't use in-editor linting or use a different linting configuration, you can safely ignore this notice.
core/dispatcher
- an event dispatcher for global events (e.g.window
anddocument
events) that fire outside of the React tree- Support for detecting browser locale change events through
languagechange
event ini18n/I18nDecorator
moonstone/BodyText
,moonstone/DatePicker
,moonstone/DayPicker
,moonstone/ExpandableItem
,moonstone/Image
, andmoonstone/TimePicker
componentsfullBleed
prop tomoonstone/Panels/Header
. Whentrue
, the header content is indented and the header lines are removed.- Application close button to
moonstone/Panels
. FiresonApplicationClose
when clicked. Can be omitted with thenoCloseButton
prop. - Samples for
moonstone/BodyText
,moonstone/DatePicker
,moonstone/DayPicker
,moonstone/ExpandableItem
,moonstone/Image
,moonstone/Scroller
,moonstone/TimePicker
,moonstone/VirtualList
, andmoonstone/VirtualList.VirtualGridList
spotlightDefaultClass
to@enact/spotlight
export. Applying this class to an item in a container will cause it to be the default spotted item in that container.- Selection type support to
ui/Group
- Documentation on Flexbox and an Enyo to Enact component migration guide
data
parameter passed tocomponent
prop ofVirtualList
.moonstone/Expandable
into a submodule ofmoonstone/ExpandableItem
ExpandableList
to properly support selectionmoonstone/Divider
'schildren
property to be optionalmoonstone/ToggleItem
'sinline
version to have amax-width
of240px
moonstone/Input
to use<div>
instead of<label>
for wrapping components. No change to functionality, only markup.- Spotlight containers to spot the last focused element by default.
ui/Group
propselect
tochildSelect
and added propselect
to support selection types
moonstone/ExpandableCheckboxItemGroup
in favor ofExpandableList
decorated
prop from@enact/spotlight/focusable
as this relationship is managed implicitly by the component decorated by@enact/spotlight/focusable
.
- Spotlight stops at container boundaries when 5-way key held down
- Several issues related to spotting controls in edge cases
This version includes a lot of refactoring from the previous release. Developers need to switch to the new enact-dev command-line tool.
- New components and HOCs:
moonstone/Scroller
,moonstone/VirtualList
,moonstone/VirtualGridList
,moonstone/Scrollable
,moonstone/MarqueeText
,moonstone/Spinner
,moonstone/ExpandableCheckboxItemGroup
,moonstone/MarqueeDecorator
,ui/Cancelable
,ui/Changeable
,ui/Selectable
- Support for enact-dev command-line tool.
fetch()
polyfill to support pre-rendering- New options for
ui/Toggleable
HOC - Ability to adjust locale in Sampler
- Marquee support to many components
- Image support to
moonstone/Icon
andmoonstone/IconButton
- QA Sampler with test-specific samples (not to be used as examples of good coding style!)
- Looser app-specific ESLint rules
- webOS utility functions
dismissOnEnter
prop formoonstone/Input
- Many more unit tests
- Sampler now uses port 8080
- Removed
ui/Pickable
HOC - Some props for UI state were renamed to have
default
prefix where state was managed by the component. (e.g.defaultOpen
) - Removed Babel polyfill to support future snapshot work. This may affect apps that relied on specific polyfills. Added the following specific polyfills:
window.fetch
(plus associated Fetch APIs),window.Promise
,Math.sign
,Object.assign
,String.fromCodePoint
,String.prototype.codePointAt
- Computed properties in
kind()
no longer mutate props. In other words, changing the value of a prop in one computed property does not affect the value of that prop in another computed property.
- Many components were fixed, polished, updated and documented
- Inline docs updated to be more consistent and comprehensive
Initial release