From 55a55a398d84c6e0773eb68216bb38288e8ba952 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 2 Oct 2026 02:15:03 +0000 Subject: [PATCH] Version Packages --- .changeset/amber-owls-listen.md | 10 ------ .changeset/bright-tools-align.md | 20 ------------ .changeset/calm-dates-rise.md | 5 --- .changeset/clean-moons-invite.md | 11 ------- .changeset/deps2changesets-01e97af1.md | 5 --- .changeset/deps2changesets-74108d34.md | 5 --- .changeset/fresh-clients-return.md | 7 ---- .changeset/quick-owls-search.md | 5 --- .changeset/sunny-titles-resolve.md | 5 --- packages/core/CHANGELOG.md | 45 ++++++++++++++++++++++++++ packages/core/package.json | 2 +- 11 files changed, 46 insertions(+), 74 deletions(-) delete mode 100644 .changeset/amber-owls-listen.md delete mode 100644 .changeset/bright-tools-align.md delete mode 100644 .changeset/calm-dates-rise.md delete mode 100644 .changeset/clean-moons-invite.md delete mode 100644 .changeset/deps2changesets-01e97af1.md delete mode 100644 .changeset/deps2changesets-74108d34.md delete mode 100644 .changeset/fresh-clients-return.md delete mode 100644 .changeset/quick-owls-search.md delete mode 100644 .changeset/sunny-titles-resolve.md diff --git a/.changeset/amber-owls-listen.md b/.changeset/amber-owls-listen.md deleted file mode 100644 index 166304af9..000000000 --- a/.changeset/amber-owls-listen.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -"@tailor-platform/app-shell": patch ---- - -The 1.15.0 release notes were amended. Its `@base-ui/react` update from 1.6.0 to 1.8.0 changed two behaviours that can break consumer tests: - -- `Select` no longer renders its options into the DOM until it is opened. Open it before asserting option text. -- Opening a `Dialog` or `AlertDialog` applies a scroll lock that can move a button under a Playwright click. Press dialog buttons with `locator.press("Enter")` instead of `click()`. - -See the [1.15.0 migration entry](https://github.com/tailor-platform/app-shell/blob/main/docs/migrations.md#1150-base-ui-180-breaks-closed-select-and-dialog-click-tests). diff --git a/.changeset/bright-tools-align.md b/.changeset/bright-tools-align.md deleted file mode 100644 index 3d3000ffe..000000000 --- a/.changeset/bright-tools-align.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -"@tailor-platform/app-shell": minor ---- - -Add a full-width `Toolbar` with composable rows, grouped controls, separators, and optional edge-to-edge row layout. - -```tsx - - - - - - - - - - -``` - -AppShell Buttons, inputs, selects, comboboxes, and tabs automatically participate in toolbar keyboard navigation. diff --git a/.changeset/calm-dates-rise.md b/.changeset/calm-dates-rise.md deleted file mode 100644 index d6436f93c..000000000 --- a/.changeset/calm-dates-rise.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@tailor-platform/app-shell": patch ---- - -Fix the `DatePicker`, `DateField` and `DateRangePicker` calendar rendering behind a `Dialog` when opened inside one. diff --git a/.changeset/clean-moons-invite.md b/.changeset/clean-moons-invite.md deleted file mode 100644 index 9a87be428..000000000 --- a/.changeset/clean-moons-invite.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -"@tailor-platform/app-shell": patch ---- - -Rebuild the `form/composer` pattern on `Form` + `Field`. It was the only `form/*` pattern with neither — a bare `Card` of controls with an `onClick` submit — which left it inconsistent with its four siblings and short of three things a composer actually needs. - -The body now sits in a `Field.Root` with a `sr-only` `Field.Label` (a real label instead of `aria-label`, so error and description wiring stays available), Send is `type="submit"` so validation gates it, and server rejections — moderation, rate limit, thread closed — route through `Form`'s `errors` prop into `Field.Error` rather than a toast, landing next to the text the user still has. - -The body stays **controlled**: it is read during render to gate Send and to swap the placeholder, which a submit-time handler cannot do. The pattern doc now says so explicitly, because this is the one `form/*` pattern where field state is load-bearing rather than redundant — elsewhere `onFormSubmit` reads registered `Field.Root`s and mirroring values into state is the anti-pattern. - -Also fixes a data-loss path in the reference implementation: it cleared the body unconditionally, losing the user's text when a submit failed. It now clears only on success. diff --git a/.changeset/deps2changesets-01e97af1.md b/.changeset/deps2changesets-01e97af1.md deleted file mode 100644 index 0edfc743e..000000000 --- a/.changeset/deps2changesets-01e97af1.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@tailor-platform/app-shell": patch ---- - -Updated [sonner](https://www.npmjs.com/package/sonner) (^2.0.7 -> ^2.0.8) diff --git a/.changeset/deps2changesets-74108d34.md b/.changeset/deps2changesets-74108d34.md deleted file mode 100644 index 3d67f65b6..000000000 --- a/.changeset/deps2changesets-74108d34.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@tailor-platform/app-shell": patch ---- - -Updated [@internationalized/date](https://www.npmjs.com/package/@internationalized/date) (3.12.2 -> 3.12.4) diff --git a/.changeset/fresh-clients-return.md b/.changeset/fresh-clients-return.md deleted file mode 100644 index b702afc1a..000000000 --- a/.changeset/fresh-clients-return.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@tailor-platform/app-shell": minor ---- - -Update `@tailor-platform/auth-public-client` to `^0.7.0` and preserve the current path, query string, and hash across authentication redirects. - -`useAuth().login()` accepts an optional same-origin `returnTo` destination. diff --git a/.changeset/quick-owls-search.md b/.changeset/quick-owls-search.md deleted file mode 100644 index 6689367da..000000000 --- a/.changeset/quick-owls-search.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@tailor-platform/app-shell": patch ---- - -Fix `Combobox.Async` to search a pasted or programmatically filled value on its first open. diff --git a/.changeset/sunny-titles-resolve.md b/.changeset/sunny-titles-resolve.md deleted file mode 100644 index 315d1416c..000000000 --- a/.changeset/sunny-titles-resolve.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@tailor-platform/app-shell": patch ---- - -Fix `SidebarItem` title overrides accepting localized strings. Pass a value from `defineI18nLabels` directly to `title` and it resolves with the active AppShell locale. diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index a2b5ae1ca..5a716d926 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -1,5 +1,50 @@ # @tailor-platform/app-shell +## 1.16.0 + +### Minor Changes + +- 820ddb3: Add a full-width `Toolbar` with composable rows, grouped controls, separators, and optional edge-to-edge row layout. + + ```tsx + + + + + + + + + + + ``` + + AppShell Buttons, inputs, selects, comboboxes, and tabs automatically participate in toolbar keyboard navigation. +- 7abf5a0: Update `@tailor-platform/auth-public-client` to `^0.7.0` and preserve the current path, query string, and hash across authentication redirects. + + `useAuth().login()` accepts an optional same-origin `returnTo` destination. + +### Patch Changes + +- 486607c: The 1.15.0 release notes were amended. Its `@base-ui/react` update from 1.6.0 to 1.8.0 changed two behaviours that can break consumer tests: + + - `Select` no longer renders its options into the DOM until it is opened. Open it before asserting option text. + - Opening a `Dialog` or `AlertDialog` applies a scroll lock that can move a button under a Playwright click. Press dialog buttons with `locator.press("Enter")` instead of `click()`. + + See the [1.15.0 migration entry](https://github.com/tailor-platform/app-shell/blob/main/docs/migrations.md#1150-base-ui-180-breaks-closed-select-and-dialog-click-tests). +- afe5479: Fix the `DatePicker`, `DateField` and `DateRangePicker` calendar rendering behind a `Dialog` when opened inside one. +- 48f9f90: Rebuild the `form/composer` pattern on `Form` + `Field`. It was the only `form/*` pattern with neither — a bare `Card` of controls with an `onClick` submit — which left it inconsistent with its four siblings and short of three things a composer actually needs. + + The body now sits in a `Field.Root` with a `sr-only` `Field.Label` (a real label instead of `aria-label`, so error and description wiring stays available), Send is `type="submit"` so validation gates it, and server rejections — moderation, rate limit, thread closed — route through `Form`'s `errors` prop into `Field.Error` rather than a toast, landing next to the text the user still has. + + The body stays **controlled**: it is read during render to gate Send and to swap the placeholder, which a submit-time handler cannot do. The pattern doc now says so explicitly, because this is the one `form/*` pattern where field state is load-bearing rather than redundant — elsewhere `onFormSubmit` reads registered `Field.Root`s and mirroring values into state is the anti-pattern. + + Also fixes a data-loss path in the reference implementation: it cleared the body unconditionally, losing the user's text when a submit failed. It now clears only on success. +- bad3569: Updated [sonner](https://www.npmjs.com/package/sonner) (^2.0.7 -> ^2.0.8) +- bc52460: Updated [@internationalized/date](https://www.npmjs.com/package/@internationalized/date) (3.12.2 -> 3.12.4) +- c3e4b52: Fix `Combobox.Async` to search a pasted or programmatically filled value on its first open. +- 4e49591: Fix `SidebarItem` title overrides accepting localized strings. Pass a value from `defineI18nLabels` directly to `title` and it resolves with the active AppShell locale. + ## 1.15.0 ### Minor Changes diff --git a/packages/core/package.json b/packages/core/package.json index fbdbb8696..cb1be3fcc 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@tailor-platform/app-shell", - "version": "1.15.0", + "version": "1.16.0", "description": "An opinionated React application framework for building ERP applications on Tailor Platform", "keywords": [ "app-shell",