@viliha/vui-ui 1.11.0 → 1.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,16 @@ backward-compatible features, **major** for breaking changes.
7
7
 
8
8
  To upgrade, see [Upgrading](./AGENT.md#upgrading) in the agent guide.
9
9
 
10
+ ## 1.11.1 — 2026-07-26
11
+
12
+ ### Changed
13
+
14
+ - **Sort indicators are now carets, and every sortable column shows one.** A
15
+ sortable column header shows a muted up/down caret (`CaretSort`) by default —
16
+ so sortability is discoverable — and a solid caret for the active direction:
17
+ `CaretUp` = ascending, `CaretDown` = descending (all Radix icons). The Sort
18
+ dropdown matches. Non-sortable columns (`sortable: false`) show no indicator.
19
+
10
20
  ## 1.11.0 — 2026-07-26
11
21
 
12
22
  ### Added
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@viliha/vui-ui",
3
- "version": "1.11.0",
3
+ "version": "1.11.1",
4
4
  "description": "Vui UI — a clean, token-driven React admin/CRM component library built on Tailwind CSS v4, shadcn-style patterns, and Radix Icons. Ships as TypeScript source (Just-in-Time), compiled by the consuming app.",
5
5
  "license": "MIT",
6
6
  "author": "Suman Bonakurthi",
@@ -8,10 +8,10 @@ import {
8
8
  ReaderIcon as Reader,
9
9
  TableIcon as SheetIcon,
10
10
  UploadIcon as Upload,
11
- ArrowDownIcon as ArrowDown,
12
11
  ArrowTopRightIcon as ArrowUpRight,
13
- ArrowUpIcon as ArrowUp,
14
- CaretSortIcon as ArrowUpDown,
12
+ CaretDownIcon as CaretDown,
13
+ CaretSortIcon as CaretSort,
14
+ CaretUpIcon as CaretUp,
15
15
  CheckIcon as Check,
16
16
  ChevronLeftIcon as ChevronLeft,
17
17
  ChevronRightIcon as ChevronRight,
@@ -1274,7 +1274,7 @@ export function RecordView<T extends { id: RowId }>({
1274
1274
  )}
1275
1275
  </Dropdown>
1276
1276
 
1277
- <Dropdown label="Sort" icon={<ArrowUpDown className="size-3.5 text-blue-500" />}>
1277
+ <Dropdown label="Sort" icon={<CaretSort className="size-3.5 text-blue-500" />}>
1278
1278
  <DropdownLabel>Sort by</DropdownLabel>
1279
1279
  {sortFields.map((f) => (
1280
1280
  <DropdownItem
@@ -1283,9 +1283,9 @@ export function RecordView<T extends { id: RowId }>({
1283
1283
  icon={
1284
1284
  sort?.key === f.key ? (
1285
1285
  sort.dir === "asc" ? (
1286
- <ArrowUp className="size-3.5" />
1286
+ <CaretUp className="size-3.5" />
1287
1287
  ) : (
1288
- <ArrowDown className="size-3.5" />
1288
+ <CaretDown className="size-3.5" />
1289
1289
  )
1290
1290
  ) : undefined
1291
1291
  }
@@ -1402,11 +1402,18 @@ export function RecordView<T extends { id: RowId }>({
1402
1402
  {f.label}
1403
1403
  {f.required && <RequiredMark />}
1404
1404
  </span>
1405
- {sort?.key === f.key &&
1406
- (sort.dir === "asc" ? (
1407
- <ArrowUp className="size-3 shrink-0" />
1405
+ {/* Sortable columns always show an indicator: a muted
1406
+ up/down caret by default, a solid caret for the active
1407
+ direction (up = ascending, down = descending). */}
1408
+ {sortable &&
1409
+ (sort?.key === f.key ? (
1410
+ sort.dir === "asc" ? (
1411
+ <CaretUp className="size-3.5 shrink-0" />
1412
+ ) : (
1413
+ <CaretDown className="size-3.5 shrink-0" />
1414
+ )
1408
1415
  ) : (
1409
- <ArrowDown className="size-3 shrink-0" />
1416
+ <CaretSort className="size-3.5 shrink-0 text-muted-foreground/50" />
1410
1417
  ))}
1411
1418
  </>
1412
1419
  );