Skip to content

Commit 506ca62

Browse files
Update App Shell pages
1 parent b4a831d commit 506ca62

3 files changed

Lines changed: 84 additions & 0 deletions

File tree

docs/app-shell/changelog.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,60 @@
11
# @tailor-platform/app-shell
22

3+
## 1.1.0
4+
5+
### Minor Changes
6+
7+
- 9654369: Fix root page (`/`) showing `"/"` as its title in `SidebarItem` and breadcrumb.
8+
9+
The root page is now treated as a first-class page (module) so that title, icon, and guards are resolved consistently. `DefaultSidebar` and `CommandPalette` now include the root page when it is defined. When no title is set, the fallback is localized `"Home"` / `"ホーム"`.
10+
11+
- 39a8521: Change `useDataTable()` to use single-column sorting by default and add a `sort` option for configuring sorting behavior.
12+
13+
Before:
14+
15+
```tsx
16+
const table = useDataTable({
17+
columns,
18+
data,
19+
control,
20+
});
21+
```
22+
23+
After:
24+
25+
```tsx
26+
const table = useDataTable({
27+
columns,
28+
data,
29+
control,
30+
sort: { multiple: true },
31+
});
32+
```
33+
34+
Use `sort: false` to disable sorting entirely.
35+
36+
- c2a50b9: Add row count and selection info to `DataTable.Pagination`.
37+
38+
- When `total` is provided: shows `"X row(s)"`
39+
- When rows are selected with `total`: shows `"Y of X row(s) selected"`
40+
- When rows are selected without `total`: shows `"Y row(s) selected"`
41+
42+
- 642aa1e: Add case-sensitivity control for string filters in `DataTable.Filters`. String filters are now case-insensitive by default (using Tailor Platform's `regex` operator with `(?i)` prefix). A "Case sensitive" checkbox allows users to opt into exact-case matching.
43+
44+
The `Filter` type and `CollectionControl.addFilter` now accept an optional `caseSensitive` property to control this behavior programmatically.
45+
46+
- a3d0170: Add "between" filter mode to `DataTable.Filters` for numeric and date/time columns, allowing users to filter by a range with min and max bounds.
47+
48+
### Patch Changes
49+
50+
- 2a860d9: Fix DataTable filter types for `datetime` and `time` fields. Previously these were incorrectly mapped to the `date` filter type, causing wrong input formats. Each temporal type now uses its proper HTML input type (`datetime-local`, `date`, `time`) and format handling.
51+
- 125aee2: Fix a `Select.Async` bug where reopening the dropdown after the first async load could leave the popup invisible while the page stayed scroll-locked.
52+
53+
This could happen after options were fetched once, the dropdown was closed, and then opened again. The fix cancels in-flight requests on close and avoids the Base UI modal and anchored alignment paths that were leaving the async popup in that broken reopen state.
54+
55+
- 681333f: Remove `next-themes` dependency by using the internal `ThemeProvider` context for the Sonner toast theming.
56+
- 826bd97: Updated @base-ui/react (^1.3.0 -> ^1.4.1)
57+
358
## 1.0.2
459

560
### Patch Changes

docs/app-shell/components/app-shell.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,8 @@ const modules = [
118118
</AppShell>
119119
```
120120

121+
When `rootComponent` is set, the root page is treated as a first-class navigation item: it appears in `DefaultSidebar` and `CommandPalette` just like any other module. The title defaults to the localized `"Home"` / `"ホーム"` if no explicit title is provided.
122+
121123
> **Tip:** For redirects from the root, use a guard with `redirectTo()` instead
122124
123125
```tsx
@@ -128,6 +130,8 @@ import { redirectTo } from "@tailor-platform/app-shell";
128130
</AppShell>;
129131
```
130132

133+
> **Note:** If a module with `path: ""` is present in `modules`, it takes precedence over `rootComponent`.
134+
131135
### settingsResources
132136

133137
- **Type:** `Resource[]` (optional)

docs/app-shell/components/data-table.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,31 @@ A column definition passed to `useDataTable`.
225225
| `sort` | `SortConfig` | Sort configuration. When set, the column header becomes clickable (Asc → Desc → off). |
226226
| `filter` | `FilterConfig` | Filter configuration. When set, the column appears as an option in `DataTable.Filters`. |
227227

228+
## `FilterConfig`
229+
230+
The `filter` property on a column accepts a `FilterConfig` object. When set, the column appears as an option in `DataTable.Filters` and the filter chip renders an input editor appropriate for the type.
231+
232+
| Property | Type | Description |
233+
| --------- | ---------------- | ---------------------------------------------------------------------------- |
234+
| `field` | `string` | API field name used in the generated query input. |
235+
| `type` | `FilterType` | Filter editor type (see table below). |
236+
| `options` | `SelectOption[]` | Required when `type` is `"enum"`. List of selectable values. |
237+
238+
### Filter Types and Operators
239+
240+
| Type | Input editor | Supported operators |
241+
| ---------- | -------------------- | -------------------------------------------------------------------------------------------------------------- |
242+
| `string` | Text | `eq`, `ne`, `contains`, `notContains`, `hasPrefix`, `hasSuffix`, `notHasPrefix`, `notHasSuffix`, `in`, `nin` |
243+
| `number` | Number | `eq`, `ne`, `gt`, `gte`, `lt`, `lte`, **`between`**, `in`, `nin` |
244+
| `datetime` | Datetime-local | `eq`, `ne`, `gt`, `gte`, `lt`, `lte`, **`between`**, `in`, `nin` |
245+
| `date` | Date | `eq`, `ne`, `gt`, `gte`, `lt`, `lte`, **`between`**, `in`, `nin` |
246+
| `time` | Time | `eq`, `ne`, `gt`, `gte`, `lt`, `lte`, **`between`**, `in`, `nin` |
247+
| `enum` | Dropdown | `eq`, `ne`, `in`, `nin` |
248+
| `boolean` | Toggle | `eq`, `ne` |
249+
| `uuid` | Text | `eq`, `ne`, `in`, `nin` |
250+
251+
When the user selects the `between` operator on a `number`, `datetime`, `date`, or `time` column, the filter chip renders a range input with **min** and **max** bounds.
252+
228253
## `RowAction`
229254

230255
| Property | Type | Description |

0 commit comments

Comments
 (0)