.changes/alloy/14.0.1.md
DropdownSpec, getAnchorOverrides. Function returns an object, not another function. #TINY-9978isBlocked API to the Blocking behaviour.ModalDialogApis.getFooter now returns an Optional<AlloyComponent> instead of AlloyComponent. #TINY-9996aria-describedby element would be the body of the dialog. #TINY-9816SelectionAnchor now uses the bounds of table cell selection, if the selection contains more than one table cell. #TINY-8297SelectionAnchorSpec.getSelection to support the selection of both SimRange and SelectionTableCellRange.firstTabstop optional property to ModalDialogDetail, to specify the index of elements to focus on when dialog shows. #TINY-9520OffsetOrigin module and DockingType type in api main entry point. #TINY-9414aria-activedescendant attribute for Typeahead input component is updated to the menu item that is highlighted. #TINY-9280positionWithin from Positioning behaviour's APIs. #TINY-9226showWithin from InlineView sketcher's APIs. #TINY-9226placer from Anchorage. #TINY-9226previousSelector optional property to MenuMatrixMovementSpec, to start with the selected item in focus. #TINY-9283onToggled callback for the FloatingToolbarButton component. #TINY-9271onOpened and onClosed callbacks for the SplitFloatingToolbar component. #TINY-9271TestStore to Agar. #TINY-9157retargetAndDispatchWith API to AlloyTriggers to allow for redispatching of events to different targets. #TINY-8952refetch API to Dropdown that triggers a fetch and redraw for the dropdown menu. #TINY-8952onHighlightItem and onDehighlightItem settings to TieredMenu. #TINY-8952getExistingCoupled API to Coupling that gets an existing coupled component, but does not create it if it doesn't already exist. #TINY-8952GuiSetup BDD test helpers now provide a way to create a custom GuiSystem.highlightImmediately setting for TieredMenu was replaced with the more granular highlightOnOpen. #TINY-8952lazyViewport property incorrectly marked the passed component as optional for the Docking behaviour.TypeaheadSpec type did not correctly extend InputSpec.TypeaheadSpec type had a typo in the populateFromBrowse property.Highlighting.highlight API was not properly skipping the target when dehighlighting existing highlighted items. #TINY-8952Typeahead were not functioning correctly. #TINY-8952Typeahead did not work correctly when its menu was in another mothership. #TINY-8952onHighlight setting in TieredMenu was removed in favour of onHighlightItem. #TINY-8952immediateGrow API to the Sliding behaviour #TINY-8710onToggled callback property to the Toggling behaviour configuration #TINY-8602exclusive and alloy will ensure only 1 exclusive item is toggled in the menu #TINY-8602keydown to keyup to prevent unwanted key event propagation #TINY-7005fakeFocus property for InlineView menus was not respected.buildOrPatch function to the SystemApi to allow reusing the passed obsoleted dom element.Replacing and Reflecting behaviours will now attempt to reuse existing DOM elements when replacing components. The reuseDom config can be used to disable this behaviour for specific components.GuiSetup test helper will now keep the elements in the DOM on test failures.Optional API used in this module.focusin and focusout events instead of capturing the focus and blur events.x or y properties #TINY-8304Representing.setValue #TINY-8304Docking state could end up incorrect internally, which caused Docking.refresh() to not work.focus property to the Blocking behaviour config.preserve option to LayoutInset which will preserve the previous placement inside the component.flip option to LayoutInset which will swap the previous placement to the opposite direction inside the component.alwaysFit layout property which allows for the layout to specify if it should always claim to fit, no matter what.Bubble can include an optional inset class to be added when using an inset layout.Positioning behaviour now supports transitioning when changing the position of a component.reset API to the Positioning behaviour to reset the component back to it's original position.transitioncancel event can now be listened to by the alloy event system.uid.LayoutInside to LayoutInset to better reflect what it does.LayoutInset rendering behaviour, as it was inconsistent with other layouts. It will now mirror the Layout logic for each direction.anchor property in anchor specs to type.Positioning behaviour APIs to require a PlacementSpec instead of an AnchorSpec.Positioning behaviour to store the last placement state of each placee component. This is used for determining how a component should transition.Optional API used in this module.LayoutInset bubble classes were applied incorrectly, causing the bubble arrows to show on the opposite side.MakeshiftAnchorSpec did not extend HasLayoutAnchorSpec which meant layouts couldn't be used for makeshift anchors.TieredMenu child menus were incorrectly opened when the parent menu item was disabled.SelectionAnchor to avoid context menu covering text when multiple lines are selected.setValue method to the SliderUi. This allows the slider value to be modified without firing a change event.Blocking behaviour for elements that can enter a busy stateisOpen API to the SplitFloatingToolbar and SplitSlidingToolbar components.AriaOwner not able to find the owner component when rendered within a ShadowRoot.AriaFocus not preserving focus when the component is rendered within a ShadowRoot.Tooltipping behaviour failing to run due to not being listed in the default alloy.receive events.isExtraPart property to InlineView. This allows the component to declare an external component as part of itself for dismissal events.getModes and setModes API to the docking behaviour.AriaVoice voice module in the API.AriaOwner module, Boxes module, Pinching behaviour and SnapConfig/SnapOutput specs no longer use thunked functions and instead use the variable directly.Struct.immutableBag and Struct.immutable have been replaced with readonly interfaces.Disabling behaviour to use a lazy disabled configuration to determine if the component should be disabled on initial load.isExtraPart property to InlineView. This allows the component to declare an external component as part of itself for dismissal events.Bounder incorrectly calculating the bottom/right limits, due to not taking into account the element size.LayoutInside incorrectly placing items in the opposite direction.getMoreButton and getOverflow methods from the SplitSlidingToolbar component.getMoreButton method from the SplitFloatingToolbar component.getAnchor configuration from the SplitFloatingToolbar component.SugarEvent from exports list.leftAttr, topAttr and positionAttr options from the Docking behavior.FloatingToolbar component.setGroups and toggle methods and getBounds configuration to the FloatingToolbarButton component.Docking to use bottom instead of top when docking to the bottom of the viewport.Docking to restore the position when undocking using styles which it was previously positioned with.mouseOrTouch mode to dragging to support dragging for both mouse and touch events.AlloyEvents.runActionExtra() to pass the simulated event to the callback.Slider component not working in some cases on touch devices.Docking scroll performance by only calculating the offset origin as required.TouchDragging behaviour triggering drag on any document touchmove event.mustSnap configuration to Dragging to force draggables to snapping points.Bounder though defaulted it to a no-op.MaxWidth export for use in anchor overrides.onDocked, onUndocked, onShow, onShown, onHide and onHidden configuration callbacks for the Docking behaviour.modes configuration to Docking to control where the component should be docked. eg: top or bottom of the viewport.isDocked and reset APIs to Docking to check if a component is docked and to reset the stored original position and state.TieredMenu, Dropdown, InlineView, SplitDropdown and SplitFloatingToolbar components.onOpened and onClosed configuration callbacks for the SplitSlidingToolbar component.getOverflowBounds configuration to the SplitFloatingToolbar component.Docking behaviour to support both absolute and static positioning.Docking behaviours lazyContext configuration to require a Bounds be returned instead of an Element.Positioning behaviours useFixed configuration to require a Function instead of a boolean.Boxes.win to use the visual viewport API where available to determine the window bounds.Docking not undocking to the correct position when a parent was using position: relative.Docking not undocking to the correct position when the window has been resized.MakeshiftAnchor incorrectly calculating the anchor coordinates in fixed position mode.Positioning placing the element off the page or out of view when the anchor point is out of bounds.useNative option to Disabling to allow for buttons, textareas, inputs and select to be "fake-disabled" instead of using the native disabled attribute.getBounds property to the dragging behaviour to prevent dragging outside the specified bounds.onDisabled and onEnabled callbacks to the disabling behaviour.positionWithinBounds positioning API to allow positioning with a custom bounding box.Boxes module and Bounds type in api main entry point.select elements not using the disabled attribute.LayoutInside bubbling inverting where the bubble should be placed.SplitToolbar component into separate self contained components, so it now has a separate component for floating (SplitFloatingToolbar) and sliding (SplitSlidingToolbar).SplitToolbar component accessibility for floating toolbars.AnchorOverrides to all remaining Anchors and AnchorSpecs, as well as dropdownsAnchorOverrides to the SubmenuAnchor and SubmenuAnchorSpecDisabling.set(comp, disabled) function to handle setting the disabled state based on a boolean valuepostPaste event to SystemEvents.item in itemExecute in Typeaheadtype and placeholder from InputonItemExecute to Typeaheadfocusout to NativeEventsonEscape and onEnter events bubble when sandbox is closedattachSystemAfter to Attachment so a GuiSystem can be attached as a siblingpreprocess configurationsetBusy API is no longer passed the existing dialog stylespreprocess insteadtext property is now in meta for ItemsfocusShifted that is fired by the FocusManager in KeyingopenImmediately to highlightImmediately and made TieredMenus always open