react-spring-bottom-sheet
react-spring-bottom-sheet copied to clipboard
fix(deps): update dependencies (non-major)
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| @reach/portal | ^0.13.0 -> ^0.17.0 |
||||
| focus-trap | 6.7.1 -> 6.9.4 |
||||
| xstate | 4.27.0 -> 4.32.1 |
Release Notes
reach/reach-ui
v0.17.0
💔 Breaking Changes
disclosure- In uncontrolled disclosures, previously we would render the disclosure as open on the first render, regardless of the
defaultOpenprop's value. This was done as a progressive enhancement to ensure content was visible to users without JavaScript, but in most cases it just meant that the user might see a flash before the state would change, causing unwanted layout shift. - We simplified this by simply respecting the
defaultOpenprop's value on the initial render. If you want the old behavior, control the state of your disclosures and ensure that the initial open state is always set totrue, then set the desired state for the following render inuseEffect.
- In uncontrolled disclosures, previously we would render the disclosure as open on the first render, regardless of the
tabs- Removed the
isSelectedfrom from theTabcomponent. This prop was useful before we had hooks, but we can now get the selected tab from context without using render props. (2dd0aec)
- Removed the
🐛 Bugfixes
auto-id- Use the user-provided ID beyond the first render for deterministic behavior (
b2f3bc0)
- Use the user-provided ID beyond the first render for deterministic behavior (
tabs- Stop managing focus on mouse clicks to fix
:focus-visible
- Stop managing focus on mouse clicks to fix
listbox- Update submit button
querySelectorspecificity to fix incorrect button clicks (#903)
- Update submit button
menu-button,combobox,listbox- Skip rendering of portaled popovers before hydration. This prevents unwanted layout shift when the server-rendered popover mounts to a temporary DOM node (
a8f38a4).
- Skip rendering of portaled popovers before hydration. This prevents unwanted layout shift when the server-rendered popover mounts to a temporary DOM node (
🤜🤛 8 Committers
- Ashlee M Boyer (@ashleemboyer)
- Jeff Grannes (@jeffgrannes)
- Jonathan (@jhogervorst)
- Kendall Strautman (@kendallstrautman)
- Kent C. Dodds (@kentcdodds)
- Vlad Yanchevsky (@chevsky)
- Zach Gotsch (@zgotsch)
- @rainmodred
v0.16.2
✨ Enhancements
combobox- #783 Stop binding value changes from undesirely expanding combobox (@dlacaille)
portal- #756 Add optional node container target to Portal (@Warsaken)
disclosure- Make
Disclosureaccessible when Javascript is disabled (@schwartzadev)
- Make
🤜🤛 5 Committers
- Adam Rackis (@arackaf)
- Andrew Schwartz (@schwartzadev)
- Austin Wood (@indiesquidge)
- Dominic Lacaille (@dlacaille)
- @Warsaken
v0.16.0
BREAKING: This release fixes a rendering bug in the descendants, but the bug in some cases may have coincidentally allowed descendants to be re-indexed in dynamically sorted lists. While this is probably a nice feature, it didn't work consistently and created problems with nested collections.
We do not directly support dynamic sorting of lists, so if you relied on this "feature" you'll need to provide indices to the descendant item directly via props. If you're rendering dynamic lists you are probably iterating an array anyway, so you shouldn't have any issues.
This applies to all collection-based compound components:
- Tabs
- Accordion
- MenuButton
- Listbox
- Combobox
🐛 Bugfixes
menu-button- Reference root's ownerDocument instead of global, better support in iframes
✨ Enhancements
menu-button- Better handling of mouse-move that caused problems with long lists on small screens
dialog- Update dependencies to fix small bugs in focus-lock
rect- Only log warning if
observeis true
- Only log warning if
🤜🤛 3 Committers
- Chance Strickland (@chaance)
- Aliaksei Kirylchyk (@akirilchik)
- Rauno (@raunofreiberg)
v0.15.3
🐛 Bugfixes
utils- Typescript error for
as={Link}onMenuLink(viautils/polymorphic) (@IanVS)
- Typescript error for
menu-buttonlistbox- Cannot focus on ListboxList when its styled to overlap ListboxButton (@loque)
📝 Documentation
dialog- #803 Fix typo (@apollonian)
- #786 Fix animated dialog warning (@mbellagamba)
- Other
- #799 Add example check for CSS to respect a users anim prefs. (@Jared-Dev)
✨ Enhancements
combobox- #757 If Combobox
openOnFocusis true then also open when the input is clicked. (@ProggerPete)
- #757 If Combobox
accordion,disclosure- Remove -1
tabIndexfrom accordion and disclosure panels (@joshuajaco)
- Remove -1
🤜🤛 10 Committers
- Abhishek Warokar (@apollonian)
- Chance Strickland (@chaance)
- Florentin / 珞辰 (@ecklf)
- Ian VanSchooten (@IanVS)
- Jared Malcolm (@Jared-Dev)
- Joshua Jacobowitz (@joshuajaco)
- Lucas Soler (@loque)
- Mike Limberg (@mlimberg)
- Mirco Bellagamba (@mbellagamba)
- @ProggerPete
v0.15.2
🐛 Bugfixes
menu-buttonlistbox- Cannot focus on
ListboxListwhen it's styled to overlapListboxButton(@loque)
- Cannot focus on
📝 Documentation
dialog- #800 Update
react-focus-lockandreact-remove-scrolldependencies - #803 Fix typo (@apollonian)
- #786 Fix animated dialog warning (@mbellagamba)
- #800 Update
- Other
- #799 Add example check for CSS to respect a users animation preferences (@Jared-Dev)
✨ Enhancements
combobox- #757 If
openOnFocusis true then also open when the input is clicked (@ProggerPete)
- #757 If
accordion,disclosure- Remove -1
tabIndexfrom accordion and disclosure panels (@joshuajaco)
- Remove -1
🤜🤛 8 Committers
- Abhishek Warokar (@apollonian)
- Chance Strickland (@chaance)
- Ian VanSchooten (@IanVS)
- Jared Malcolm (@Jared-Dev)
- Joshua Jacobowitz (@joshuajaco)
- Lucas Soler (@loque)
- Mirco Bellagamba (@mbellagamba)
- @ProggerPete
v0.15.0
🐛 Bugfixes
- Combobox
- Fix
persistSelectionissues when used withopenOnFocus(#455)
- Fix
- All packages
- #769 Add *.css files to the list of sideEffect(ful) files (@Andarist)
- BREAKING: Removed
forwardRefWithAsutility and created new types associated with components that us theasprop. This is a breaking change if you are using the component types directly, but this change was long overdue and should address some new issues that popped up in #753. Big thanks to @jjenzz and the Radix UI project for making our lives easier here!
🤜🤛 3 Committers
- Chance Strickland (@chaance)
- Mateusz Burzyński (@Andarist)
- Wajid Kagzi (@themoor88)
v0.14.0
listbox- Fix selection of options using iOS with VoiceOver. (@aappoalander)
- Breaking change: If you were using our previously suggested styling selector
[data-current]for the selected listbox option, that selector has been removed in favor of[data-current-selected]. The reason is because we also added[data-current-nav]for the highlighted option when navigating the list, so this seemed more clear to distinguish between the two. We also removed the default styles for options that match[aria-selected="true”]because this is an implementation detail that will likely change in an upcoming patch release to address accessibility issues.
📝 Documentation
tooltip- #767 Fix typo in comments (@sanbornhilland)
✨ Enhancements
- All packages
- #761 Add
sideEffects: falseto all packages to enable tree shaking (@hipstersmoothie)
- #761 Add
auto-id- #752 Add missing type overload (@KubaJastrz)
🤜🤛 6 Committers
- Aappo Ålander (@aappoalander)
- Andrew Lisowski (@hipstersmoothie)
- Chance Strickland (@chaance)
- Jakub Jastrzębski (@KubaJastrz)
- Sanborn Hilland (@sanbornhilland)
- Zoë Peterson (@zpeterson)
focus-trap/focus-trap
v6.9.4
Patch Changes
f68882e: Fix docs and typings to clarify that initialFocus, fallbackFocus, and setReturnFocus options can be functions that also return selector strings.
v6.9.3
Patch Changes
8a8b1f1: Bump tabbable to v5.3.3 to pick up a small bug fix to web component (shadow DOM) support.
v6.9.2
Patch Changes
ef0ce48: Handle unexpected param (true) passed as the value for theinitialFocus,fallbackFocus, andsetReturnFocusoptions: Ignore and perform default behavior.
v6.9.1
Patch Changes
83262a7: Bumps tabbable to v5.3.2 to pick-up a fix todisplayCheck=full(default) option behavior that caused issues with detached nodes.
v6.9.0
Minor Changes
2a57e4b: Add newtrap.activeandtrap.pausedreadonly state properties on the trap so that the trap's active/paused state can be queried.
Patch Changes
8fd49df: Fixed bug whereclickOutsideDeactivatehandler would get called on the 'click' event even if the node clicked was in the trap. As with 'mousedown' and 'touchstart' events where this option is also used, the handler should only get called if the target node is outside the trap.c32c60a: Fixed: onDeactivate, onPostDeactivate, and checkCanReturnFocus options originally given to createFocusTrap() were not being used by default when callingtrap.deactivate({...})with an option set even if that option set didn't specify any overrides of these options.
v6.8.1
Patch Changes
7c86111:- Bump tabbable to
^5.3.1(fixing previous update which was incorrectly set to5.3.0). - Fix
tabbableOptionsnot being used in all internal uses of tabbable APIs. - Expose
displayCheckoption intabbableOptionstypings and pass it through to tabbable APIs. - Add info to README about testing traps in JSDom (which is not officially supported).
- Bump tabbable to
v6.8.0
Minor Changes
21458c9: Bumps tabbable to v5.3.0 and includes all changes from the past v6.8.0 beta releases. The big new feature is opt-in Shadow DOM support in tabbable, and a newgetShadowRoottabbable option exposed in a newtabbableOptionsfocus-trap config option.- ⚠️ This will likely break your tests if you're using JSDom (e.g. with Jest). See testing in JSDom for more info.
v6.7.3
Patch Changes
ab20d3d: Fix issue with focusing negative tabindex node and then tabbing away when this node is not the last node in the trap's container ((#611)[https://github.com/focus-trap/focus-trap/issues/611](https://togithub.com/focus-trap/focus-trap/issues/611)1])
v6.7.2
Patch Changes
statelyai/xstate
v4.32.1
Patch Changes
- #3292
16514e466Thanks @Andarist! - Fixed an issue in theEmittedFromtype helper that could prevent it from inferring the desired type from some services.
v4.32.0
Minor Changes
- #3234
ce376b388Thanks @Andarist! - Added aStateValueFromhelper that can be used to extract valid state values from a machine. This might specifically be useful with typegen because typegenlessstate.matchesacceptsanyanyway.
Patch Changes
-
#3215
44c66e74fThanks @tom-sherman! - Removing the timeout that's built in towaitForis now supported by explicitly passing anInfinityvalue.Example usage:
import { waitFor } from 'xstate/lib/waitFor'; // This will const loggedInState = await waitFor( loginService, state => state.hasTag('loggedIn'), { timeout: Infinity } );This fixes a bug that causes
waitForto reject with an error immediately due to the behaviour ofsetTimeout. -
#3230
780458c92Thanks @Andarist! - Fixed an issue with typegen types not being able to provide events that had a union of strings as theirtype(such as{ type: 'INC' | 'DEC'; value: number; }). -
#3252
a94dfd467Thanks @Andarist! - Fixed an issue withEventFromnot being able to extract events that had a union of strings as theirtype(such as{ type: 'INC' | 'DEC'; value: number; }). -
#3090
c4f73ca13Thanks @Andarist! - Fixed an issue with action objects not receiving correct event types when used in the second argument to thecreateMachine. -
#3238
3df6335efThanks @davidkpiano! - The typings forsendTo(...)have been fixed. -
#3228
fe5f0e6c9Thanks @Andarist! - Fixed an issue with inline functions in the config object used as transition actions not having their argument types inferred. -
#3252
a94dfd467Thanks @Andarist! - Fixed an issue with defaultTEvent({ type: string }) not being correctly provided to inline transition actions.
v4.31.0
Minor Changes
-
#3190
fbf5ca0adThanks @davidkpiano! - ThewaitFor(...)helper function, which asynchronously waits for an actor's emitted value to satisfy apredicatebefore atimeout, is now available.Example usage:
import { waitFor } from 'xstate/lib/waitFor'; // ... const loginService = interpret(loginMachine).start(); const loggedInState = await waitFor(loginService, state => state.hasTag('loggedIn') ); loggedInState.hasTag('loggedIn'); // true -
#3200
56c0a36Thanks @Andarist! - Subscribing to a stopped interpreter will now always immediately emit its state and call a completion callback.
Patch Changes
-
#3166
be4c5c74dThanks @Andarist! - Fixed an issue withstate.tagsnot having correct values when resolving micro transitions (taken in response to raised events). This was creating issues when checking tags in guards. -
#3171
14f8b4785Thanks @Andarist! - Fixed an issue withonDoneon parallel states not being "called" correctly when a parallel state had a history state defined directly on it. -
#2939
360e85462Thanks @Andarist! - Fixed issues with not disposing some cached internal values when stopping interpreters, which could have led to issues when starting such an interpreter again. -
#3153
b36ef9ddaThanks @Andarist! - Made type displays (like in the IDE tooltips etc) more readable by using a type interface for the internalResolveTypegenMetatype.
v4.30.6
Patch Changes
-
#3131
d9a0bcfc9Thanks @Andarist! - Fixed an issue with event type being inferred from too many places withincreateMachinecall and possibly ending up asany/AnyEventObjectfor the entire machine. -
#3133
4feef9d47Thanks @fw6! - Fixed compatibility with esoteric Mini Program environment whereglobalobject was available butglobal.consolewasn't. -
#3140
502ffe91aThanks @Andarist! - Fixed an issue with interpreters started using a persisted state not being "resolved" in full. This could cause some things, such asaftertransitions, not being executed correctly after starting an interpreter like this. -
#3147
155539c85Thanks @Andarist! - Fixed a TS inference issue causing some functions to infer the constraint type for the event type even though aStateMachinepassed to the function was parametrized with a concrete type for the event. More information can be found here. -
#3146
4cf89b5f9Thanks @Andarist! - Fixed compatibility ofInterpreterwith older versions of TypeScript. This ensures that our interpreters can correctly be consumed by functions expectingActorRefinterface (like for exampleuseSelector). -
#3139
7b45fda9eThanks @Andarist! -InterpreterFromandActorRefFromtypes used on machines with typegen data should now correctly return types with final/resolved typegen data. The "final" type here means a type that already encodes the information that all required implementations have been provided. Before this change this wouldn't typecheck correctly:const machine = createMachine({ // this encodes that we still expect `myAction` to be provided tsTypes: {} as Typegen0 }); const service: InterpreterFrom<typeof machine> = machine.withConfig({ actions: { myAction: () => {} } }); -
#3097
c881c8ca9Thanks @davidkpiano! - State that is persisted and restored frommachine.resolveState(state)will now have the correctstate.machinevalue, so thatstate.can(...)and other methods will work as expected. See #3096 for more details.
v4.30.5
Patch Changes
- #3118
28e353081Thanks @Andarist! - Fixed a bundling issue that prevented thekeys()export to be preserved in the previous release.
v4.30.4
Patch Changes
-
#3104
3706c62f4Thanks @Andarist! - FixedContextFromhelper type to work on typegened machines. -
#3113
144131bedThanks @davidkpiano! - Thekeys()utility function export, which was removed in #3089, is now added back, as older versions of XState libraries may depend on it still. See #3106 for more details. -
#3104
3706c62f4Thanks @Andarist! - FixedEventFromhelper type to work on machines.
v4.30.3
Patch Changes
-
#3088
9f02271a3Thanks @Andarist! - Added some internal@ts-ignorecomments to fix consuming projects that do not useskipLibCheck. -
#3082
8d3f2cfeaThanks @Andarist! - Fixed an issue with context type being inferred from too many places withincreateMachinecall and possibly ending up asanyfor the entire machine. -
#3027
97ad964bdThanks @hedgepigdaniel! - Fixed an issue with not being able to callcreateMachinein a generic context when the type for the context was generic and not concrete. -
#3084
50c271dc1Thanks @Andarist! - Fixed an issue with context type defined usingschema.contextbeing sometimes widened based onconfig.context. If both are given theschema.contextshould always take precedence and should represent the complete type of the context. -
#3089
862697e29Thanks @Andarist! - Fixed compatibility with Skypack by exporting some shared utilities from root entry of XState and consuming them directly in other packages (this avoids accessing those things using deep imports and thus it avoids creating those compatibility problems). -
#3087
ae9579497Thanks @Andarist! - Fixed an issue withActorRefFromnot resolving the typegen metadata from machine types given to it. This could sometimes result in types assignability problems, especially when using machine factories andspawn.
v4.30.2
Patch Changes
-
#3063
c826559b4Thanks @Andarist! - Fixed a type compatibility with Svelte's readables. It should be possible again to use XState interpreters directly as readables at the type-level. -
#3051
04091f29cThanks @Andarist! - Fixed type compatibility with functions accepting machines that were created before typegen was a thing in XState. This should make it possible to use the latest version of XState with@xstate/vue,@xstate/react@^1and some community packages.Note that this change doesn't make those functions to accept machines that have typegen information on them. For that the signatures of those functions would have to be adjusted.
-
#3077
2c76ecac5Thanks @Andarist! - Fixed an issue with nestedstate.matchescalls when the typegen was involved. Thestateended up beingneverand thus not usable.
v4.30.1
Patch Changes
-
#3040
18dc2b3e2Thanks @davidkpiano! - TheAnyStateandAnyStateMachinetypes are now available, which can be used to express any state and state machine, respectively:import type { AnyState, AnyStateMachine } from 'xstate'; // A function that takes in any state machine function visualizeMachine(machine: AnyStateMachine) { // (exercise left to reader) } function logState(state: AnyState) { // ... } -
#3042
e53396f08Thanks @suerta-git! - Added theAnyStateConfigtype, which represents anyStateConfig<...>:import type { AnyStateConfig } from 'xstate'; import { State } from 'xstate'; // Retrieving the state config from localStorage const stateConfig: AnyStateConfig = JSON.parse( localStorage.getItem('app-state') ); // Use State.create() to restore state from config object with correct type const previousState = State.create(stateConfig);
v4.30.0
Minor Changes
-
#2965
8b8f719c3Thanks @satyasinha! - All actions are now available in theactionsvariable when importing:import { actions } from 'xstate' -
#2892
02de3d44fThanks @davidkpiano! - Persisted state can now be easily restored to a state compatible with the machine without converting it to aStateinstance first:// Persisting a state someService.subscribe(state => { localStorage.setItem('some-state', JSON.stringify(state)); }); // Restoring a state const stateJson = localStorage.getItem('some-state'); // No need to convert `stateJson` object to a state! const someService = interpret(someMachine).start(stateJson);
Patch Changes
-
#3012
ab431dcb8Thanks @Andarist! - Fixed an issue with a reference to@types/nodebeing inserted into XState's compiled output. This could cause unexpected issues in projects expecting APIs likesetTimeoutto be typed with browser compatibility in mind. -
#3023
642e9f5b8Thanks @Andarist! - Fixed an issue with states created usingmachine.getInitialStatenot being "resolved" in full. This could cause some things, such asaftertransitions, not being executed correctly after starting an interpreter using such state. -
#2982
a39145580Thanks @Andarist! - Marked all phantom properties on theStateMachinetype as deprecated. This deprioritized them in IDEs so they don't popup as first suggestions during property access. -
#2992
22737adf2Thanks @Andarist, @mattpocock! - Fixed an issue withstate.contextbecominganyafterstate.matcheswhen typegen is used. -
#2981
edf60d67bThanks @Andarist! - Moved an internal@ts-ignoreto a JSDoc-style comment to fix consuming projects that do not useskipLibCheck. Regular inline and block comments are not preserved in the TypeScript's emit.
v4.29.0
Minor Changes
-
#2674
1cd26811cThanks @Andarist! - Usingconfig.schemabecomes the preferred way of "declaring" TypeScript generics with this release:createMachine({ schema: { context: {} as { count: number }, events: {} as { type: 'INC' } | { type: 'DEC' } } })This allows us to leverage the inference algorithm better and unlocks some exciting possibilities for using XState in a more type-strict manner.
-
#2674
1cd26811cThanks @Andarist, @mattpocock! - Added the ability to tighten TS declarations of machine with generated metadata. This opens several exciting doors to being able to use typegen seamlessly with XState to provide an amazing typing experience.With the VS Code extension, you can specify a new attribute called
tsTypes: {}in your machine definition:const machine = createMachine({ tsTypes: {} });The extension will automatically add a type assertion to this property, which allows for type-safe access to a lot of XState's API's.
⚠️ This feature is in beta. Actions/services/guards/delays might currently get incorrectly annotated if they are called "in response" to always transitions or raised events. We are working on fixing this, both in XState and in the typegen.
Patch Changes
-
#2962
32520650bThanks @mattpocock! - Addedt(), which can be used to provide types forschemaattributes in machine configs:import { t, createMachine } from 'xstate'; const machine = createMachine({ schema: { context: t<{ value: number }>(), events: t<{ type: 'EVENT_1' } | { type: 'EVENT_2' }>() } }); -
#2957
8550ddda7Thanks @davidkpiano! - The repository links have been updated fromgithub.com/davidkpianotogithub.com/statelyai.
v4.28.1
Patch Changes
-
#2943
e9f3f07a1Thanks @Andarist! - Fixed an infinite loop when initially spawned actor (in an initial context) responded synchronously to its parent. -
#2953
90fa97008Thanks @Andarist! - Bring back the global type declaration for theSymbol.observableto fix consuming projects that do not useskipLibCheck. -
#2903
b6dde9075Thanks @Andarist! - Fixed an issue with exit actions being called in random order when stopping a machine. They should always be called in the reversed document order (the ones defined on children should be called before the ones defined on ancestors and the ones defined on states appearing later in the code should be called before the ones defined on their sibling states).
v4.28.0
Minor Changes
- #2835
029f7b75aThanks @woutermont! - Added interop observable symbols toActorRefso that actor refs are compatible with libraries like RxJS.
Patch Changes
-
#2864
4252ee212Thanks @davidkpiano! - Generated IDs for invocations that do not provide anidare now based on the state ID to avoid collisions:createMachine({ id: 'test', initial: 'p', states: { p: { type: 'parallel', states: { // Before this change, both invoke IDs would be 'someSource', // which is incorrect. a: { invoke: { src: 'someSource' // generated invoke ID: 'test.p.a:invocation[0]' } }, b: { invoke: { src: 'someSource' // generated invoke ID: 'test.p.b:invocation[0]' } } } } } }); -
#2925
239b4666aThanks @devanfarrell! - ThesendTo(actorRef, event)action creator introduced in4.27.0, which was not accessible from the package exports, can now be used just like other actions:import { actions } from 'xstate'; const { sendTo } = actions;
Configuration
📅 Schedule: Branch creation - "before 2am" (UTC), Automerge - At any time (no schedule defined).
🚦 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.
- [ ] If you want to rebase/retry this PR, click this checkbox.
This PR has been generated by Mend Renovate. View repository job log here.