The following is a curated list of changes in the Enact spotlight module, newest changes on the top.
No significant changes.
No significant changes.
No significant changes.
spotlight
to not requireless
dependency
No significant changes.
No significant changes.
No significant changes.
spotlight/Spotlight.disableSelector
to properly update theselectorDisabled
container config
spotlight/SpotlightRootDecorator
configrootId
to specify React DOM tree root for global event handlers
No significant changes.
spotlight/Spottable
to have sibling DOM node as alternative to findDOMNode API which will be removed in React 19
No significant changes.
No significant changes.
No significant changes.
No significant changes.
spotlight
navigation from the focused element clipped by an overflow container
spotlight
navigation from the focused element clipped by an overflow container
No significant changes.
No significant changes.
No significant changes.
No significant changes.
No significant changes.
No significant changes.
No significant changes.
No significant changes.
No significant changes.
spotlight/SpotlightContainerDecorator
config optionleaveFor
to direct which element receives focus when the focus is leaving
spotlight
to not show the focus effect when pointer mode is changed tofalse
by touch while an app is loading
No significant changes.
No significant changes.
No significant changes.
spotlight
to show the focus effect when pointer mode is changed tofalse
while an app is loading
No significant changes.
No significant changes.
No significant changes.
No significant changes.
No significant changes.
No significant changes.
No significant changes.
spotlight
to not leave the restrict container after returning from another app
No significant changes.
spotlight
an optionalcontainerOption.toOuterContainer
parameter tofocus
function to search target recursively to outer container
spotlight
to not focus on an invisible element
No significant changes.
No significant changes.
No significant changes.
No significant changes.
- Updated to use
forwardCustom
and addtype
when forwarding custom events
spotlight
to correctly control focus when boundaries of an element are not integers- Styles for
debug spotlight
option in samplers to work properly
No significant changes.
No significant changes.
No significant changes.
No significant changes.
spotlight/SpotlightRootDecorator
to show focus effect after initial loading
No significant changes.
No significant changes.
No significant changes.
spotlight/SpotlightRootDecorator
not to add locale specific classes in the wrong DOM after isomorphic build with multi locales
No significant changes.
spotlight
an optionalcontainerOption
parameter tofocus
function
spotlight/SpotlightRootDecorator
not to fail in isomorphic build
spotlight/SpotlightRootDecorator
to remove focus effect when touching up
No significant changes.
spotlight/SpotlightContainerDecorator
to properly save the last-focused element with React 17
No significant changes.
No significant changes.
No significant changes.
No significant changes.
No significant changes.
No significant changes.
spotlight
to correctly prioritize next spottable elements when wrapped by a container that does not also wrap the currently focused elementspotlight
to restore focus to last focused elements in an overflow container if they are visible
spotlight/SpotlightContainerDecorator
to allow use ofref
No significant changes.
No significant changes.
No significant changes.
No significant changes.
No significant changes.
spotlight/Spottable
to correctly control focus when elements move under a stationary pointer
No significant changes.
No significant changes.
No significant changes.
spotlight
to triggeronLeaveContainerFail
whenleaveFor
prevents navigationspotlight
to correctly maintain pointer mode on webOS
No significant changes.
No significant changes.
No significant changes.
No significant changes.
No significant changes.
No significant changes.
No significant changes.
No significant changes.
No significant changes.
No significant changes.
No significant changes.
No significant changes.
No significant changes.
No significant changes.
No significant changes.
No significant changes.
No significant changes.
No significant changes.
No significant changes.
No significant changes.
No significant changes.
No significant changes.
spotlight
support for passing a spottable node or a container node or selector toSpotlight.focus()
No significant changes.
spotlight
TypeScript signatures
No significant changes.
spotlight
to attempt to restore focus to an element nearest the pointer position when the pointer hides within an overflow container
No significant changes.
spotlight
containers to include nodes identified on thearia-owns
attribute of the container node as candidates within that container
spotlight
to attempt to restore focus through ancestor containers when the pointer hides
No significant changes.
spotlight/SpotlightContainerDecorator
to correctly forwardonFocusCapture
andonBlurCapture
events
No significant changes.
No significant changes.
No significant changes.
No significant changes.
No significant changes.
No significant changes.
spotlight/Spottable
to allow disabled items to be focused
spotlight
to unspot the current element when tapping on non-spottable target on touch platforms
No significant changes.
No significant changes.
No significant changes.
spotlight
to guard against runtime errors caused by attempting to access containers that do not existspotlight/Spottable
to prevent unnecessary updates due to focus and blur changes
spotlight
to remain in pointer mode when any 'cancel' key (e.g. Escape or back button) is pressed
spotlight/Spottable
to prevent unnecessary updates due to focus changes
spotlight/Spottable
propertyselectionKeys
spotlight
to improve prioritization of the contents of spotlight containers within overflow containersspotlight/Spottable
andspotlight/SpotlightContainerDecorator
to prevent focus whenspotlightDisabled
is setspotlight/Spottable
to prevent emitting multiple click events when certain node types are selected via 5-way enter
No significant changes.
spotlight
to focus correctly within an overflow container in which the first element is another container without spottable children
No significant changes.
No significant changes.
No significant changes.
No significant changes.
spotlight
selection of elements clipped by an overflow container
No significant changes.
spotlight
navigation into an overflow container which contains elements or containers larger than the container's bounds
spotlight
to not explicitlyblur()
the currently focused element when focusing another, allowing the platform to manage blurring before focus
spotlight
to correctly set focus when the window is activatedspotlight
to correctly set focus when entering a restricted container
spotlight/Spottable
to respect paused state when it becomes enabled
No significant changes.
spotlight
to prevent default browser scrolling behavior when focusing elements within a spotlight container configured withoverflow: true
spotlight
to correctly handle focus with'self-only'
containersspotlight/SpotlightContainerDecorator
to unmount config instead of remove when spotlightId is changed if it preserves id
No significant changes.
spotlight
to update pointer mode after hiding webOS VKB
spotlight
to not blur when pointer leaves floating webOS app while paused
spotlight
to default to 5-way mode on initialization
spotlight
to blur when pointer leaves floating webOS appspotlight
to prevent changing the active container when the currently active container is restricted is "self-only"
spotlight
to track pointer mode while paused
spotlight
debugging to visualize which components will be targeted as the next component for any 5-way direction
No significant changes.
No significant changes.
spotlight/Spottable
to retain focus for disabled component after updatesspotlight/Spottable
to emulateonMouseUp
events that occur immediately after a non-enter key pressspotlight/Spottable
to prevent scroll on focus on webOS
No significant changes.
spotlight
to provide more natural 5-way behaviorspotlight
to handle pointer events only when pointer has movedspotlight
to update the last focused container when unable to set focus within that containerspotlight/Spottable
to not trigger a scroll on focus on webOS
No significant changes.
spotlight/Spottable
to not make components spottable whenspotlightDisabled
is set
spotlight
to retry setting focus when the window is activatedspotlight
handling of 5-way events after the pointer hides
spotlight/Spottable
to not add a focused state when a component had already been set as disabled
spotlight/Spottable
to retain focus on a component when it becomes disabled while focused
No significant changes.
spotlight
to partition and prioritize next spottable elements for more natural 5-way behavior
spotlight/SpotlightContainerDecorator
propcontainerId
, to be replaced byspotlightId
spotlight/Pause
module which acts as a semaphore for spotlight pause statespotlight/Spottable
propspotlightId
to simplify focusing components
spotlight/Spotlight.focus
to support focusing byspotlightId
spotlight
container attributesdata-container-disabled
anddata-container-muted
to bedata-spotlight-container-disabled
anddata-spotlight-container-muted
, respectively
No significant changes.
spotlight/Spottable
to not removetabindex
from unspottable components to allow blur events to propagate as expected when a component becomes disabledspotlight/Spottable
to prevent unnecessary updates due to focus changes
No significant changes.
No significant changes.
No significant changes.
No significant changes.
No significant changes.
No significant changes.
No significant changes.
spotlight
to guard against accessing unconfigured container configurations
No significant changes.
No significant changes.
spotlight
to handle non-5-way keys correctly to focus on next 5-way keysspotlight/Spottable
to forwardonMouseEnter
andonMouseLeave
No significant changes.
spotlight
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
spotlight
to handle key events to preserve pointer mode for specific keys
spotlight
to not require multiple 5-way key presses in order to change focus after the window regains focus
spotlight.Spotlight
methodfocus()
to prevent focusing components within containers that are being removed
spotlight.Spotlight
methodfocus()
to verify that the target element matches its container's selector rules prior to setting focus
spotlight.Spotlight
methodfocus()
to verify that the target element matches its container's selector rules prior to setting focus
No significant changes.
No significant changes.
spotlight
to block handling repeated key down events that were interrupted by a pointer event
spotlight
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 targets
spotlight/Spottable
to clean up internal spotted state when blurred withinonSpotlightDisappear
handler
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
spotlight
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
No significant changes.
spotlight
containers using arestrict
value of'self-only'
will ignoreleaveFor
directives when attempting to leave the container via 5-way
spotlight
to not blur and re-focus an element that is already focused
spotlight
5-way target selection to ignore empty containersspotlight
containers to support an array of selectors fordefaultElement
spotlight/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
spotlight
handlers for window focus events
spotlight
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
spotlight
incorrectly focusing components within spotlight containers withdata-container-disabled
set tofalse
spotlight
failing to focus the default element configured for a container
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.
spotlight
submodules to significantly improve testability
spotlight
navigation to elements that are hidden within an overflow container (e.g. aScroller
)
No significant changes.
No significant changes.
spotlight/SpotlightRootDecorator.spotlightRootContainerName
to be removed in 2.0.0
spotlight/styles/mixins.less
which includes several mixins (.focus
,.disabled
,.muted
, and.mutedFocus
) to make it a little easier to target specific spotlight states
spotlight/SpotlightContainerDecorator
config property,enterTo
, default value to benull
rather than'last-focused'
spotlight
container handling to address known issues and improve testability
spotlight/SpotlightRootDecorator
config option:noAutoFocus
to support prevention of setting automatic focus after renderspotlight.Spotlight
methodgetSpottableDescendants()
spotlight/SpotlightContainerDecorator
to have no default forspotlightRestrict
spotlight.Spotlight
to consider nested containers when adjusting focus
spotlight.Spottable
replaced byspotlight/Spottable
spotlight.spottableClass
replaced byspotlight/Spottable.spottableClass
spotlight.SpotlightContainerDecorator
replaced byspotlight/SpotlightContainerDecorator
spotlight.spotlightDefaultClass
replaced byspotlight/SpotlightContainerDecorator.spotlightDefaultClass
spotlight.SpotlightRootDecorator
replaced byspotlight/SpotlightRootDecorator
spotlight.Spotlight
set()
to properly update the container configspotlight.Spotlight
to properly save the last-focused element for nested containers
spotlight.Spottable
to prevent emulating mouse events for repeated key events
spotlight.Spotlight
pointer behavior where upon immediately entering pointer-mode, hovering over a spottable component may result in the component not receiving focus
spotlight.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 scroll
spotlight.SpotlightContainerDecorator
support forspotlightDisabled
propspotlight.Spottable
support foronSpotlightDown
,onSpotlightLeft
,onSpotlightRight
, andonSpotlightUp
propertiesspotlight.Spotlight
methodgetDirection()
to replacespotlightDirections
spotlight.Spotlight
spotlightDirections
spotlight.Spotlight
methodsisPaused()
,isSpottable()
,getCurrent()
, andisMuted()
spotlight.SpotlightContainerDecorator
propertyspotlightMuted
spotlight.spotlightDirections
export
No changes.
setPointerMode()
andsetActiveContainer()
methods
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.
- Spotlight containers to spot the last focused element by default
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.
- Update spotlight container handling
- Inline docs updated to be more consistent and comprehensive
Initial release