fix(deps): update all non-major dependencies - #75
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
renovate
Bot
force-pushed
the
renovate/all-minor-patch
branch
from
September 5, 2024 03:32
0798832 to
c07e3a1
Compare
renovate
Bot
force-pushed
the
renovate/all-minor-patch
branch
11 times, most recently
from
September 12, 2024 17:18
16c1b7b to
4cb3905
Compare
renovate
Bot
force-pushed
the
renovate/all-minor-patch
branch
10 times, most recently
from
September 20, 2024 08:23
b0a9401 to
9983646
Compare
renovate
Bot
force-pushed
the
renovate/all-minor-patch
branch
6 times, most recently
from
September 25, 2024 06:27
06ef5be to
1056162
Compare
renovate
Bot
force-pushed
the
renovate/all-minor-patch
branch
13 times, most recently
from
October 15, 2024 06:27
3e9a6fd to
53bba65
Compare
renovate
Bot
force-pushed
the
renovate/all-minor-patch
branch
4 times, most recently
from
October 17, 2024 19:38
6aaf87e to
2ba350e
Compare
renovate
Bot
force-pushed
the
renovate/all-minor-patch
branch
6 times, most recently
from
October 28, 2024 18:46
8b20452 to
579c697
Compare
renovate
Bot
force-pushed
the
renovate/all-minor-patch
branch
3 times, most recently
from
November 6, 2024 15:23
5f84884 to
c4d256d
Compare
renovate
Bot
force-pushed
the
renovate/all-minor-patch
branch
3 times, most recently
from
November 8, 2024 16:07
3c7acbd to
c5f94b2
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^0.4.10→^0.4.36^0.9.3→^0.9.10^3.1.5→^3.1.9^8.3.3→^8.3.4^3.6.2→^3.6.3^5.1.0→^5.1.51.8.3→1.9.41.8.3→1.9.4^19.4.1→^19.8.1^19.4.1→^19.8.1^5.0.20→^5.3.0^1.2.0→^1.2.20^2.1.1→^2.1.24^1.1.0→^1.3.3^18.3.5→^18.3.31^18.3.0→^18.3.7^4.15.2→^4.16.19^2.3.1→^2.4.3^2.2.0→^2.2.1^0.7.0→^0.7.1^3.0.0→^3.0.1^9.1.5→^9.1.7^15.2.10→^15.5.2^0.438.0→^0.556.0^0.438.0→^0.577.0^17.5.1→^17.6.1^2.5.2→^2.6.1^3.4.10→^3.4.19^5.5.4→^5.9.3Release Notes
ariakit/ariakit (@ariakit/react)
v0.4.36Compare Source
New Combobox Select components
Added
ComboboxSelect,ComboboxSelectLabel,ComboboxSelectArrow,ComboboxInput,ComboboxSelectedValue,ComboboxItemSelected,ComboboxDismiss, andComboboxHeading. Together, these APIs let standard and filterable selects use one Combobox store:For filterable selects, the Combobox store now distinguishes the text in the input from its
selectedValuestate. UseinputValue,defaultInputValue, andsetInputValueto control this text,resetInputValueto restore its initial value, andComboboxInputValueto read it from the component tree.The Combobox store also gained the
selectOnMoveoption, which selects the active item while moving through the list with the popover open. It now exposes theinputElement,labelElement,selectElement, andselectLabelElementstate, along with their respective setters.To make keyboard selection previews easy to cancel,
ComboboxPopovernow supports aresetOnEscapeprop. It defaults toselectOnMoveand restores the selected value captured before the first item movement when the popover accepts Escape and its cancelable close event isn't prevented. Selection changes made before any item movement become part of the value Escape restores.Filterable selects built with these APIs are also more efficient. In a 243-option benchmark, restoring the full list after clearing the filter with one Combobox store reduced scripting time by 50% and total time by 43% compared with separate Select and Combobox stores.
Thanks to @lessp for reporting the performance issue, @patrikholcak for investigating it, and @georgekaran for providing the workaround and investigating the shared Combobox and Select behavior.
Added
MenuAnchor,SelectAnchor, andComboboxAnchorAdded
MenuAnchor,SelectAnchor, andComboboxAnchorcomponents. These components take precedence over their respective disclosure or combobox elements:Close popups across existing same-origin iframe boundaries
The
Dialog,Popover,ComboboxPopover,Hovercard,Menu,SelectPopover, andTooltipcomponents now close when focus moves from an embedded same-origin popup to an ancestor document or a pointer interaction occurs in an existing sibling frame. Focus stays on the outside target, interactions in contained frames stay inside, and true browser or application window blur remains ignored.Thanks to @emillaine for reporting the issue, @ciampo for proposing the pointer behavior, and @donaldpipowitch for providing the iframe click reproduction.
Other updates
Comboboxinline autocomplete to preserve a user-adjusted caret when asynchronously rendered results update.ComboboxListandComboboxPopoverso they use the closestComboboxHeading,ComboboxSelectLabel, orComboboxLabelas their accessible name unless they are explicitly named. Thanks to @georgekaran.ComboboxListto render withtabIndex={-1}and move focus back to the combobox control when the list receives focus, preventing unintended Tab stops and focus loops.ComboboxPopovermoving focus into the popover and leaving arrow keys unable to move through the items.ComboboxPopoverwithmodalenabled not closing when pressing Escape while it renders aComboboxInputorComboboxelement inside it.ComboboxPopoverto honor consumer-providedgetPersistentElementscallbacks, so interacting with the returned elements no longer dismisses a non-modal popover. Thanks to @georgekaran.CompositeItem, and components based on it such asComboboxItemandSelectItem, briefly rendering as tabbable while a composite widget withvirtualFocusenabled mounts.SelectandComboboxSelectcontrols so their values are omitted from form submission whenaccessibleWhenDisabledis used or the visible control is rendered with an element that doesn't support the nativedisabledattribute. Thanks to @georgekaran.PopoverDisclosureso it no longer overrides a separatePopoverAnchoras the popover positioning anchor. Thanks to @bengry.@ariakit/react-components@0.4.0v0.4.35Compare Source
This version adds custom typeahead labels for composite items and selected-state rendering for select items. It also improves disabled radio groups, hidden popover performance, nested Esc handling, dialogs across portals and shadow roots, multi-select combobox form values, typeahead with unmounted options, and composite virtual focus.
Custom typeahead text for composite items
The new
typeaheadTextprop letsCompositeItemuse an explicit label for typeahead matching when its rendered content starts with an emoji or other decoration.Set
typeaheadTextto an empty string to exclude an item from typeahead matching. The prop is also available on these components exported by@ariakit/reactand built onCompositeItem:ComboboxItem,FormRadio,MenuItem,MenuItemCheckbox,MenuItemRadio,Radio,SelectItem,Tab,ToolbarContainer,ToolbarInput, andToolbarItem.Thanks to @Dremora for reporting the issue and providing the reproduction, and @georgekaran for the investigation and implementation work that informed this solution.
Skip position updates on hidden popovers
Popovers that stay mounted while closed, such as
Popover,Tooltip,Hovercard,Menu,SelectPopover, andComboboxPopover, no longer set up position auto-updates while hidden, unless a customupdatePositioncallback is provided. Closed popovers no longer keep standing scroll and resize listeners and observers around, and hiding a popover skips a full positioning setup and teardown cycle. This reduces aggregate CPU and rendering work when rapidly showing and hiding popovers, such as when quickly moving across toolbar items with tooltips.Thanks to @aledecicco for reporting the issue.
RadioGroupdisables descendant radiosThe
RadioGroupdisabledprop now marks the group as disabled and disables descendantRadiocomponents, including radios rendered as custom elements.Thanks to @kripod for reporting the issue.
New
SelectItemSelectedcomponentThe new
SelectItemSelectedvalue component exposes whether the closestSelectItemis selected through a required function child.Thanks to @jonrimmer for proposing the feature, and @georgekaran for the investigation and implementation work that informed this solution.
Handling Esc in nested widgets
The
Dialogcomponent and components that inherit its default Esc handling, includingPopover,ComboboxPopover, andSelectPopover, now let descendants callevent.stopPropagation()on Esc without hiding the enclosing component. This allows a nested widget to dismiss itself first.When the component handles an Esc event from its React subtree, it also stops the event at its boundary. This keeps an enclosing third-party React dialog with a bubble handler open while the Ariakit component closes.
When it handles Esc through the document fallback, such as when focus is on its disclosure, it stops the event at
documentbefore it reacheswindowbubble listeners.An ancestor capture handler that stops Esc before it reaches the component owns the event. If
hideOnEscaperuns before such a handler, it can callevent.stopPropagation()to keep the event from reaching it.Thanks to @boaz-wiz for reporting the issue.
Other updates
Comboboxcomponents to submit selected values to forms when anameis provided. Thanks to @cloud-walker and @georgekaran.Compositeand derived widgets such asSelectListto clear stale focus-visible state and warn in development when virtual focus is used with a non-focusable composite element. Thanks to @ItaiYosephi.Dialogand components built on it, such asPopoverandComboboxPopover, so interacting with elements returned bygetPersistentElementsacross open shadow roots no longer closes the component before it receives focus.Dialogcomponents and modal components built on them, such asPopoverandComboboxPopover, rendered in their default portals so opening them in the same render no longer made each other inert. Thanks to @yishayhaz and @gonzoblasco.itemlookups to resolve controlled items added after store creation when no live item is registered. This allowsSelecttypeahead to update its value while options are unmounted. Thanks to @georgekaran.@ariakit/react-components@0.3.4v0.4.34Compare Source
@ariakit/react-components@0.3.3v0.4.33Compare Source
This version adds React Compiler-compatible form hooks and side-specific popover overflow padding, improves store and component performance, and refines modal scroll locking and native button markup. It also includes fixes for Korean IME focus, controlled
NaNvalues, and focus-visible styling.Modal scroll locks use
scrollbar-gutterThe
Dialogcomponent now locks page scroll in supporting browsers by settingscrollbar-gutter: stableand hiding overflow on thehtmlelement whenpreventBodyScrollis enabled. This applies tomodaldialogs by default and to components built onDialog, includingPopover,Hovercard,Tooltip,Menu,SelectPopover, andComboboxPopover.Pages that already set
scrollbar-gutter: stableoroverflow-y: scrollonhtmlno longer shift when a modal opens, and Ariakit restores inlinehtmloverflow styles when it closes.Fixed headers no longer need
--scrollbar-widthin browsers that supportscrollbar-gutter:The
--scrollbar-widthCSS variable is now only defined in the fallback path for browsers withoutscrollbar-guttersupport. If you still target those browsers, keep a length fallback when using the variable insidecalc():Thanks to @mirka for reporting the issue, and @benrodrs for documenting a workaround that informed this solution.
Added
useFormValue,useFormValidate, anduseFormSubmitThe new
useFormValue,useFormValidate, anduseFormSubmithooks replace the matchinguseFormStoremethods with top-level hook calls that are compatible with the React Compiler:Keyed store subscriptions
The
useStoreStatehook now accepts selector dependency keys, so selectors skip unrelated store updates while receiving the complete store state at runtime. The key list must include every store key a selector reads, or its result may stay stale.React components now use keyed selector subscriptions internally.
Added support for side-specific
overflowPaddingThe
overflowPaddingprop now accepts a number or an object with independenttop,right,bottom, andleftvalues. This applies toPopoverand components built on it, includingComboboxPopover,SelectPopover,CompositeOverflow,Hovercard,Menu, andTooltip:When
overflowPaddingis an object, the--popover-overflow-paddingCSS variable uses the larger of the horizontalleftandrightvalues, treating omitted sides as0.Thanks to @mririgoyen for reporting the issue, and @georgekaran for providing the approach that informed this solution.
Native button markup includes the final type
Default native
ButtonandCommandcomponents now includetype="button"in their initial markup. Refs and server-rendered markup observe the final type without waiting for post-mount reconciliation, keeping hydration consistent.This also applies to
ComboboxCancel,ComboboxDisclosure,CompositeItem,DialogDisclosure,DialogDismiss,Disclosure,FormPush,FormRemove,HovercardDisclosure,HovercardDismiss,MenuButton,MenuDismiss,PopoverDisclosure,PopoverDismiss,Select,SelectDismiss,Tab, andToolbarItemwhen they render their default native button.Other updates
DisclosureContentstate values through one subscription, including inTabPanelandDialogcomponents.useValue,useValidate, anduseSubmitmethods ofuseFormStorein favor of the new top-level form hooks.ComboboxwithautoSelectmoving focus between Korean IME composition steps. Thanks to @flex-kwoncheol.NaNvalues from unnecessarily firing setter callbacks in React stores, includinguseCheckboxStoreanduseRadioStore.Focusableand components built on it, such asButton, to clear focus-visible styling whenfocusablebecomesfalse.NaNkeys.@ariakit/react-components@0.3.2v0.4.32Compare Source
Faster keyboard navigation on composite widgets
Moving through items with arrow keys no longer re-renders the
Compositecomponent itself when using roving tabindex.This reduces the scripting cost of each keystroke on large collections and benefits everything built on composite widgets, such as
Menu,Combobox,Toolbar, andTab.Fixed
Commandstuck pressed state when losing focus mid-pressWhen rendering a non-native element (such as
render={<div />}), theCommandcomponent — and components built on it, such asButton,Checkbox,CompositeItem, and their derivatives — now clears its pressed state (data-active) when the element loses focus while Space is held, mirroring how native buttons cancel the Space activation when they lose focus before the keyup.Additionally, a Space keyup bubbling up from a focused child no longer dispatches a synthetic click on the element, and calling
event.preventDefault()in a customonKeyUphandler no longer leaves the element stuck looking pressed.PopoverArrowbox-shadow ring detectionFixed
PopoverArrow, including components built on it such asTooltipArrow,MenuArrow, andHovercardArrow, to draw the popover's box-shadow ring for any positive ring width. Previously, widths whose text contained the digit 0, such as10pxor0.5pxfrom the Tailwindring-[10px]andring-[0.5px]utilities, were not detected, and the arrow rendered with no stroke at all.The arrow stroke now also matches the ring color instead of the popover's inherited text color, so the arrow blends into the outline. This includes
insetrings and rings without an explicit color, which default tocurrentColorfollowing CSS.Radio
onChangeevent on arrow-key selectionSelecting a native
RadioorFormRadiowith arrow keys now delivers a realchangeevent withevent.target.checkedalready set totrue, matching pointer and Space selection. Previously, the handler received the focus event whilecheckedwas stillfalse, which silently broke handlers gated onevent.target.checked.Since arrow-key selection now replays the browser's native activation,
onClickhandlers also fire when a native radio is selected with arrow keys, matching native radio group behavior.Other updates
next,previous,up, anddownfunctions, which now scan the rendered items without copying arrays in the most common cases.ComboboxItemValuehighlighting the wrong characters for item values whose Unicode normalization changes the string length, such as Hangul, kana with dakuten, and decomposed (NFD) strings. Matching remains diacritic-insensitive, and thedata-user-valuespans now cover exactly the matched characters without detaching combining marks from their base letters.CompositeItemand components built on it, such asTabandSelectItem, crashing the app with a "Maximum update depth exceeded" error when aNaNvalue was passed to thearia-posinsetoraria-setsizeprops. TheuseStoreStateObjecthook now compares snapshot values withObject.is, so the fix also covers any direct consumer of that hook.CompositeItemcrashing withCannot access 'rowId' before initializationwhen rendered inside aCompositeRow— or a derived row component such asSelectRoworComboboxRow— that receives thearia-posinsetprop.CompositeItemand components based on it, such asSelectItemandComboboxItem, leaving DOM focus stuck on the item with virtual focus enabled when the item received focus before the composite element was available, instead of redirecting focus to the composite element.Dialogand components built on it such asPopoverandMenuhiding on close before thebackdropelement's exit transition ends: the backdrop's fade-out was skipped entirely when only the backdrop was animated, and cut short when its transition was longer than the panel's.Dialog, including components built on it such asPopoverandMenu, so focusing, clicking, or right-clicking elements returned bygetPersistentElementsno longer closes the dialog before it has received focus, such as when it's rendered withautoFocusOnShowset tofalse.PopoverArrow— including arrows built on it such asMenuArrowandTooltipArrow— detaching from the anchor in RTL contexts when the popover flips or otherwise changes placement while open.Portal, including components built on it such asTooltipandPopover, to avoid leaking duplicate portal containers in React development StrictMode.Portal, including components built on it such asDialogandPopover, destroying and recreating the portal node when theportalRefprop changes identity, such as when passing an inline callback. The ref now re-fires against the same portal node, so the portal content is no longer remounted on parent re-renders.focusOnMoveprop being ignored onSelectListand components built on it such asSelectPopover.Selectfreezing the page when multipleSelectItemcomponents without avalueprop follow the active item, and moving to an item without avaluewhen exactly one follows it. Items without avalueare now skipped correctly, including whenfocusLoopwraps around the list.TabPanelnot updating its owntabindexwhen a single panel is reused with a dynamictabIdpointing to the selected tab. The tabbable-children check now re-runs when thetabIdchanges, so the panel joins the tab sequence when the newly selected tab's content has no tabbable elements and leaves it when the content has one.Tabnot becoming the active item on the firstsetSelectedIdcall after aSelectPopoverorComboboxPopovercontaining the tabs opens or toggles.ToolbarContainerso composing Enter keydowns in nested text fields don't cancel IME commits or move focus back to the container.@ariakit/react-components@0.3.1v0.4.31Compare Source
This version improves React form behavior and composite separators, including safer generated field name paths, form submission and validation that continue in background tabs, and explicit separator orientation handling.
Composite separators honor explicit orientation
Fixed
CompositeSeparatorto honor an explicitorientationprop instead of always using the composite store-derived default. This also fixes components built on it, includingToolbarSeparator,MenuSeparator,SelectSeparator, andComboboxSeparator.form.names.*paths no longer crash on symbol accessFixed
useFormStorenamesvalues throwingCannot convert a Symbol value to a stringwhen an absent symbol key was read from them. This happened whenever something probed a symbol on a raw name — most notably when React readsSymbol.iteratorto reconcile a name rendered as a React child, but alsoObject.prototype.toString.call(name)andArray.from(name).Absent symbol keys now resolve to
undefined, matching plain-object semantics, so those probes degrade gracefully. The documented string coercion keeps working, so coerce a name before rendering or inspecting it outside Ariakit props:Form submission no longer stalls while the tab is hidden
useFormStore'ssubmitandvalidateno longer stall while the document is hidden — for example, when auto-saving a draft onvisibilitychange.They previously awaited a
requestAnimationFrame, which browsers pause in background tabs, so the submission only completed once the tab was brought back to the foreground.Other updates
ComboboxDisclosureto honorevent.preventDefault()inonMouseDownbefore moving focus to theComboboxinput.ComboboxItemso non-paste Ctrl/Cmd character shortcuts preserve focus and the combobox value when virtual focus is disabled, while paste shortcuts still route to the input.ComboboxItemValueso overlapping user input matches are rendered without duplicated text.Comboboxinline autocomplete so decomposed Unicode input no longer produces misspelled completion values.Compositekeyboard paging andComboboxscroll behavior for elements rendered inside a same-origin iframe.Compositebase-element arrow key navigation in RTL composites, including components built on it such asToolbarandTabList.FormControland components built on it, such asFormInput,FormCheckbox, andFormRadio, to avoid redundant form store subscriptions and item lookups while fields update.Formstealing focus into an invalid field when its items changed after a successful submission withresetOnSubmitset tofalse, soautoFocusOnSubmitagain focuses the first invalid field only as a result of a failed submission.FormPushto focus the newly added field when pushing into arrays with existing values or arrays that start empty.useFormStoreto ignore__proto__andconstructorpath segments in field names, preventing form state objects from being corrupted through prototype replacement.Formto focus the first invalid field in document order when invalid fields mount out of registration order.Hovercardcomponents so pressing Escape closes the topmost card even when focus is on another element. This also applies to components built onDialog.Hovercardso it stays open when hovering content rendered inside an open shadow root. This also applies to components built on it, such asTooltipandMenu.Compositekeyboard navigation for iframe text fields, including components built on it such asToolbar, and preventsCommandandComboboxfrom treating iframe text fields as non-text fields.Menurenders when menu items re-register without changing the initial focus target.MenuItemCheckboxto initialize boolean fields fromdefaultCheckedand controlledcheckedprops when the menu store has no default value.PopoverorDialognot receiving focus when reopened while a non-focusable element (such as adisplay: nonefile input) comes before the first focusable element in its content. This also fixesFormLabelfocusing such a hidden element instead of the visible control.RadioGroupso tabbing back into a group focuses the checkedRadioafter another uncheckedRadiohas received focus.SelectPopovertypeahead to skip disabled offscreenSelectItemplaceholders.ToolbarContainerso pressing Backspace or Delete on a focused container with an empty text field no longer steals focus from the field on the next typed character.@ariakit/react-components@0.3.0v0.4.30Compare Source
Improved
DialogperformanceOpening a modal
Dialognow marks and disables the elements outside the dialog in a single tree walk instead of two, tracks the dialog state with fewer store subscriptions, and finds the initial focus target without checking every tabbable element inside the dialog.The scroll lock, the backdrop z-index synchronization, and the root-dialog bookkeeping also moved from passive effects to the layout phase, removing several forced style recalculations and layouts from the open path and applying the scroll lock before the dialog is first painted.
This also benefits components built on top of
Dialog, such asPopover,Menu, andSelectPopover.Fixed
DisclosureContentover-waiting to unmount with mixed transitions and animationsDisclosureContent(and components built on top of it, such asDialogandPopover) could keepunmountOnHidecontent mounted longer than necessary when a transition and an animation were both applied and the longest delay and longest duration belonged to different properties.The unmount timeout is now the longest per-property end time (
delay + duration) across the transitions and animations, instead of the longest delay added to the longest duration, which could overestimate the real end time and keepunmountOnHidecontent mounted longer than necessary. A leftoverdurationordelaywith no matching transition or animation (such as ananimation-durationwhileanimation-nameisnone) is also ignored now.Other updates
useTabStore, improvingTabperformance when resolving controlled panels.TooltipAnchorto avoid re-rendering default description tooltip anchors when the tooltip content id changes.Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.