Skip to content

feat(TagList): support Shift range selection (DS-5148)#410

Merged
KamilEmeleev merged 2 commits into
mainfrom
feat/ds-5148
Jul 7, 2026
Merged

feat(TagList): support Shift range selection (DS-5148)#410
KamilEmeleev merged 2 commits into
mainfrom
feat/ds-5148

Conversation

@KamilEmeleev

Copy link
Copy Markdown
Collaborator

No description provided.

@KamilEmeleev KamilEmeleev added the enhancement New feature or request label Jul 3, 2026
@KamilEmeleev KamilEmeleev requested a review from rmnturov July 3, 2026 13:31
@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown

Visit the preview URL for this PR (updated for commit 94952e9):

https://react-koobiq-next--prs-410-0fefbm07.web.app

(expires Sun, 12 Jul 2026 08:45:10 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: fc29847d4a9e5cb1adf458c76a9b681c76e2eeff

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds Shift-based range selection support to TagList by introducing shared range-selection utilities in @koobiq/react-primitives, wiring them into keyboard and pointer interactions, and updating consumer-facing docs/tests in @koobiq/react-components.

Changes:

  • Implemented key-range computation and range selection application utilities for TagList state.
  • Added a dedicated useTagListRangeSelection behavior and integrated it into TagList keyboard handling.
  • Updated TagList item press handling, component tests, and MDX documentation to cover Shift+Arrow and Shift+Click selection.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
packages/primitives/src/utils/tagListSelection.ts New helpers to compute a contiguous key range and apply it to multi-selection state.
packages/primitives/src/utils/index.ts Re-export TagList selection helpers from the primitives utils barrel.
packages/primitives/src/behaviors/useTagListRangeSelection.ts New behavior hook to handle Shift+keyboard navigation range selection.
packages/primitives/src/behaviors/useTagListItem.ts Adds Shift+Click range selection logic for individual tag items.
packages/primitives/src/behaviors/useTagList.ts Integrates the new range-selection hook into TagList keyboard handling and blur cleanup.
packages/components/src/components/TagList/TagList.test.tsx Updates/extends tests to validate new Shift range selection behaviors.
packages/components/src/components/TagList/TagList.mdx Updates documentation to describe Shift-based selection and keyboard shortcuts.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread packages/primitives/src/behaviors/useTagListItem.ts
@KamilEmeleev KamilEmeleev merged commit 278e076 into main Jul 7, 2026
6 checks passed
@KamilEmeleev KamilEmeleev deleted the feat/ds-5148 branch July 7, 2026 09:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants