Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 0 additions & 16 deletions .changeset/filterpicker-loading-items.md

This file was deleted.

17 changes: 17 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,22 @@
# @cube-dev/ui-kit

## 0.128.0

### Minor Changes

- [#1124](https://github.com/cube-js/cube-ui-kit/pull/1124) [`9d3785c4`](https://github.com/cube-js/cube-ui-kit/commit/9d3785c48998437b1115305e4db162235887ad18) Thanks [@tenphi](https://github.com/tenphi)! - Simplify `isLoadingItems` in `FilterPicker` and `FilterListBox` — it now shows a loading spinner in the search input suffix inside the popover instead of a full disclaimer. The trigger no longer shows a loading icon for `isLoadingItems`. Remove `loadingItemsLabel` prop. Unify `emptyLabel` to cover all empty states: when provided, it overrides both the "No items" and "No results found" defaults.

During an in-flight server fetch (`filter={false}` + `isLoadingItems={true}`), stale items that do not text-match the current search are now hidden client-side via `contains`. This avoids confusing UI where unrelated stale items remain visible alongside the user's typed value. Once the fetch resolves and `isLoadingItems` flips back to `false`, the parent's items are shown as-is.

Locally-injected selected custom values (the ones that persist via `customKeys` in multi-select with `allowsCustomValue`) now also respect the search input regardless of `filter={false}`. Previously they remained visible while the parent's items were filtered, which created an inconsistent UI. `filter={false}` only governs how parent-provided items are filtered — it does not exempt FilterListBox's own injected items.

Improve virtual-focus behavior with `allowsCustomValue`:

- While the user is typing and the server fetch is in flight, non-matching stale items are hidden and focus moves to the new custom-value suggestion so the user can press Enter to add it immediately.
- When the fetch resolves with no matches, focus stays on the custom value.
- When the fetch resolves with matches, focus moves to the first real item.
- With client-side filtering, when no items match the search, focus moves to the custom-value suggestion (same UX as the server-side path).

## 0.127.3

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@cube-dev/ui-kit",
"version": "0.127.3",
"version": "0.128.0",
"type": "module",
"description": "UIKit for Cube Projects",
"repository": {
Expand Down