diff --git a/.changeset/navigate-scroll-option.md b/.changeset/navigate-scroll-option.md deleted file mode 100644 index 98a26f2b2..000000000 --- a/.changeset/navigate-scroll-option.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -'@quilted/preact-router': minor ---- - -Added a `scroll` option to `Navigation.navigate()` and ``, and made the URL change — not the history operation — decide the default scroll behavior. - -For push and replace navigations alike, the default is now: - -- Changing the **pathname or hash** resets the scroll position to the top of the page (or scrolls to the URL's hash target). Previously, replace navigations never reset. -- Changing **only the search params** keeps the current scroll position — search-only navigations usually encode UI state (filters, tabs, a selected calendar day) rather than a new location. Previously, push navigations always reset. - -Pass `scroll` to override the default in either direction: - -```ts -navigation.navigate(url, {scroll: false}); -``` - -```tsx - - Select day - -``` diff --git a/integrations/cloudflare/package.json b/integrations/cloudflare/package.json index 89e92326c..b8e68f79a 100644 --- a/integrations/cloudflare/package.json +++ b/integrations/cloudflare/package.json @@ -46,7 +46,7 @@ "miniflare": "^2.4.0" }, "peerDependencies": { - "@quilted/quilt": "workspace:^0.10.1", + "@quilted/quilt": "workspace:^0.10.2", "@quilted/rollup": "workspace:^0.6.0" }, "peerDependenciesMeta": { diff --git a/integrations/deno/package.json b/integrations/deno/package.json index 5c13a2d9e..c33746f45 100644 --- a/integrations/deno/package.json +++ b/integrations/deno/package.json @@ -45,7 +45,7 @@ "@types/common-tags": "^1.8.4" }, "peerDependencies": { - "@quilted/quilt": "workspace:^0.10.1", + "@quilted/quilt": "workspace:^0.10.2", "@quilted/rollup": "workspace:^0.6.0" }, "peerDependenciesMeta": { diff --git a/integrations/react-query/package.json b/integrations/react-query/package.json index 383d6f4c2..c08db9f2f 100644 --- a/integrations/react-query/package.json +++ b/integrations/react-query/package.json @@ -29,7 +29,7 @@ "@quilted/useful-types": "workspace:^2.0.0" }, "peerDependencies": { - "@quilted/quilt": "workspace:^0.10.1", + "@quilted/quilt": "workspace:^0.10.2", "@tanstack/react-query": "^5.0.0", "preact": "^10.29.2" }, diff --git a/packages/preact-localize/CHANGELOG.md b/packages/preact-localize/CHANGELOG.md index eda747df8..7858ac384 100644 --- a/packages/preact-localize/CHANGELOG.md +++ b/packages/preact-localize/CHANGELOG.md @@ -1,5 +1,12 @@ # @quilted/react-localize +## 0.4.7 + +### Patch Changes + +- Updated dependencies [[`6e61707`](https://github.com/lemonmade/quilt/commit/6e6170714edc8ea4d9a6a6b304e4ce4e7a5a7d3c)]: + - @quilted/preact-router@0.6.0 + ## 0.4.6 ### Patch Changes diff --git a/packages/preact-localize/package.json b/packages/preact-localize/package.json index 1d9abbe88..112ca1a31 100644 --- a/packages/preact-localize/package.json +++ b/packages/preact-localize/package.json @@ -2,7 +2,7 @@ "name": "@quilted/preact-localize", "description": "Utilities for localizing React applications", "type": "module", - "version": "0.4.6", + "version": "0.4.7", "license": "MIT", "engines": { "node": ">=14.0.0" @@ -33,7 +33,7 @@ "@quilted/localize": "workspace:^0.2.3", "@quilted/preact-browser": "workspace:^0.2.9", "@quilted/preact-context": "workspace:^0.1.6", - "@quilted/preact-router": "workspace:^0.5.0", + "@quilted/preact-router": "workspace:^0.6.0", "@quilted/signals": "workspace:^0.2.5" }, "peerDependencies": { diff --git a/packages/preact-router/CHANGELOG.md b/packages/preact-router/CHANGELOG.md index ed7a588b5..161e4df1c 100644 --- a/packages/preact-router/CHANGELOG.md +++ b/packages/preact-router/CHANGELOG.md @@ -1,5 +1,28 @@ # @quilted/preact-router +## 0.6.0 + +### Minor Changes + +- [#975](https://github.com/lemonmade/quilt/pull/975) [`6e61707`](https://github.com/lemonmade/quilt/commit/6e6170714edc8ea4d9a6a6b304e4ce4e7a5a7d3c) Thanks [@lemonmade](https://github.com/lemonmade)! - Added a `scroll` option to `Navigation.navigate()` and ``, and made the URL change — not the history operation — decide the default scroll behavior. + + For push and replace navigations alike, the default is now: + + - Changing the **pathname or hash** resets the scroll position to the top of the page (or scrolls to the URL's hash target). Previously, replace navigations never reset. + - Changing **only the search params** keeps the current scroll position — search-only navigations usually encode UI state (filters, tabs, a selected calendar day) rather than a new location. Previously, push navigations always reset. + + Pass `scroll` to override the default in either direction: + + ```ts + navigation.navigate(url, {scroll: false}); + ``` + + ```tsx + + Select day + + ``` + ## 0.5.1 ### Patch Changes diff --git a/packages/preact-router/package.json b/packages/preact-router/package.json index 58842c045..340668266 100644 --- a/packages/preact-router/package.json +++ b/packages/preact-router/package.json @@ -1,7 +1,7 @@ { "name": "@quilted/preact-router", "type": "module", - "version": "0.5.1", + "version": "0.6.0", "repository": { "type": "git", "url": "https://github.com/lemonmade/quilt.git", diff --git a/packages/quilt/CHANGELOG.md b/packages/quilt/CHANGELOG.md index b6e468e8f..7f329add6 100644 --- a/packages/quilt/CHANGELOG.md +++ b/packages/quilt/CHANGELOG.md @@ -1,5 +1,13 @@ # @quilted/quilt +## 0.10.2 + +### Patch Changes + +- Updated dependencies [[`6e61707`](https://github.com/lemonmade/quilt/commit/6e6170714edc8ea4d9a6a6b304e4ce4e7a5a7d3c)]: + - @quilted/preact-router@0.6.0 + - @quilted/preact-localize@0.4.7 + ## 0.10.1 ### Patch Changes diff --git a/packages/quilt/package.json b/packages/quilt/package.json index 5b4c7d20b..9e3de900e 100644 --- a/packages/quilt/package.json +++ b/packages/quilt/package.json @@ -1,7 +1,7 @@ { "name": "@quilted/quilt", "type": "module", - "version": "0.10.1", + "version": "0.10.2", "repository": { "type": "git", "url": "https://github.com/lemonmade/quilt.git", @@ -250,9 +250,9 @@ "@quilted/preact-browser": "workspace:^0.2.9", "@quilted/preact-context": "workspace:^0.1.6", "@quilted/preact-graphql": "workspace:^0.2.0", - "@quilted/preact-localize": "workspace:^0.4.6", + "@quilted/preact-localize": "workspace:^0.4.7", "@quilted/preact-performance": "workspace:^0.1.4", - "@quilted/preact-router": "workspace:^0.5.0", + "@quilted/preact-router": "workspace:^0.6.0", "@quilted/preact-signals": "workspace:^0.1.6", "@quilted/preact-testing": "workspace:^0.1.10", "@quilted/preact-workers": "workspace:^0.2.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 26331d52b..3e6b19326 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -705,7 +705,7 @@ importers: specifier: workspace:^0.1.6 version: link:../preact-context '@quilted/preact-router': - specifier: workspace:^0.5.0 + specifier: workspace:^0.6.0 version: link:../preact-router '@quilted/signals': specifier: workspace:^0.2.5 @@ -832,13 +832,13 @@ importers: specifier: workspace:^0.2.0 version: link:../preact-graphql '@quilted/preact-localize': - specifier: workspace:^0.4.6 + specifier: workspace:^0.4.7 version: link:../preact-localize '@quilted/preact-performance': specifier: workspace:^0.1.4 version: link:../preact-performance '@quilted/preact-router': - specifier: workspace:^0.5.0 + specifier: workspace:^0.6.0 version: link:../preact-router '@quilted/preact-signals': specifier: workspace:^0.1.6