Skip to content

PLASMA-7103: refactoring Combobox#2789

Merged
shuga2704 merged 5 commits into
devfrom
plasma-7103
May 25, 2026
Merged

PLASMA-7103: refactoring Combobox#2789
shuga2704 merged 5 commits into
devfrom
plasma-7103

Conversation

@shuga2704
Copy link
Copy Markdown
Contributor

@shuga2704 shuga2704 commented May 20, 2026

Core

Combobox

  • проведён рефакторинг Combobox: основная логика состояния, выбора, фильтрации, навигации и работы со списком вынесена в отдельные hooks/utils;
  • удалены старые deprecated-свойства: listHeight и listOverflow;

What/why changed

  • проведён рефакторинг Combobox: основная логика состояния, выбора, фильтрации, навигации и работы со списком вынесена в отдельные hooks/utils;
  • старые comboboxNew* config/tokens переименованы и подключаются как combobox*;
  • унифицированы stories для Combobox: общие сценарии вынесены в plasma-sb-utils;
  • обновлены API-тесты Combobox, включая типизацию items, onChange, controlled/uncontrolled сценарии, react-hook-form, virtual list и infinite loading;
  • актуализирована документация;
📦 Published PR as canary version: Canary Versions

✨ Test out this PR locally via:

npm install @salutejs/plasma-asdk@0.376.0-canary.2789.26402381170.0
npm install @salutejs/plasma-b2c@1.618.0-canary.2789.26402381170.0
npm install @salutejs/plasma-core@1.226.0-canary.2789.26402381170.0
npm install @salutejs/plasma-giga@0.345.0-canary.2789.26402381170.0
npm install @salutejs/plasma-homeds@0.345.0-canary.2789.26402381170.0
npm install @salutejs/plasma-hope@1.372.0-canary.2789.26402381170.0
npm install @salutejs/plasma-icons@1.238.0-canary.2789.26402381170.0
npm install @salutejs/plasma-new-hope@0.362.0-canary.2789.26402381170.0
npm install @salutejs/plasma-tokens-b2b@1.55.0-canary.2789.26402381170.0
npm install @salutejs/plasma-tokens-b2c@0.66.0-canary.2789.26402381170.0
npm install @salutejs/plasma-tokens-web@1.70.0-canary.2789.26402381170.0
npm install @salutejs/plasma-tokens@1.138.0-canary.2789.26402381170.0
npm install @salutejs/plasma-typo@0.43.0-canary.2789.26402381170.0
npm install @salutejs/plasma-ui@1.348.0-canary.2789.26402381170.0
npm install @salutejs/plasma-web@1.620.0-canary.2789.26402381170.0
npm install @salutejs/sdds-bizcom@0.350.0-canary.2789.26402381170.0
npm install @salutejs/sdds-cs@0.354.0-canary.2789.26402381170.0
npm install @salutejs/sdds-dfa@0.348.0-canary.2789.26402381170.0
npm install @salutejs/sdds-finai@0.341.0-canary.2789.26402381170.0
npm install @salutejs/sdds-insol@0.345.0-canary.2789.26402381170.0
npm install @salutejs/sdds-netology@0.349.0-canary.2789.26402381170.0
npm install @salutejs/sdds-os@0.20.0-canary.2789.26402381170.0
npm install @salutejs/sdds-platform-ai@0.349.0-canary.2789.26402381170.0
npm install @salutejs/sdds-sbcom@0.350.0-canary.2789.26402381170.0
npm install @salutejs/sdds-scan@0.348.0-canary.2789.26402381170.0
npm install @salutejs/sdds-serv@0.349.0-canary.2789.26402381170.0
npm install @salutejs/core-themes@0.30.0-canary.2789.26402381170.0
npm install @salutejs/plasma-themes@0.50.0-canary.2789.26402381170.0
npm install @salutejs/sdds-themes@0.65.0-canary.2789.26402381170.0
npm install @salutejs/sdds-api-tests@0.7.0-canary.2789.26402381170.0
npm install @salutejs/plasma-cy-utils@0.156.0-canary.2789.26402381170.0
npm install @salutejs/plasma-sb-utils@0.226.0-canary.2789.26402381170.0
npm install @salutejs/plasma-tokens-utils@0.51.0-canary.2789.26402381170.0
# or 
yarn add @salutejs/plasma-asdk@0.376.0-canary.2789.26402381170.0
yarn add @salutejs/plasma-b2c@1.618.0-canary.2789.26402381170.0
yarn add @salutejs/plasma-core@1.226.0-canary.2789.26402381170.0
yarn add @salutejs/plasma-giga@0.345.0-canary.2789.26402381170.0
yarn add @salutejs/plasma-homeds@0.345.0-canary.2789.26402381170.0
yarn add @salutejs/plasma-hope@1.372.0-canary.2789.26402381170.0
yarn add @salutejs/plasma-icons@1.238.0-canary.2789.26402381170.0
yarn add @salutejs/plasma-new-hope@0.362.0-canary.2789.26402381170.0
yarn add @salutejs/plasma-tokens-b2b@1.55.0-canary.2789.26402381170.0
yarn add @salutejs/plasma-tokens-b2c@0.66.0-canary.2789.26402381170.0
yarn add @salutejs/plasma-tokens-web@1.70.0-canary.2789.26402381170.0
yarn add @salutejs/plasma-tokens@1.138.0-canary.2789.26402381170.0
yarn add @salutejs/plasma-typo@0.43.0-canary.2789.26402381170.0
yarn add @salutejs/plasma-ui@1.348.0-canary.2789.26402381170.0
yarn add @salutejs/plasma-web@1.620.0-canary.2789.26402381170.0
yarn add @salutejs/sdds-bizcom@0.350.0-canary.2789.26402381170.0
yarn add @salutejs/sdds-cs@0.354.0-canary.2789.26402381170.0
yarn add @salutejs/sdds-dfa@0.348.0-canary.2789.26402381170.0
yarn add @salutejs/sdds-finai@0.341.0-canary.2789.26402381170.0
yarn add @salutejs/sdds-insol@0.345.0-canary.2789.26402381170.0
yarn add @salutejs/sdds-netology@0.349.0-canary.2789.26402381170.0
yarn add @salutejs/sdds-os@0.20.0-canary.2789.26402381170.0
yarn add @salutejs/sdds-platform-ai@0.349.0-canary.2789.26402381170.0
yarn add @salutejs/sdds-sbcom@0.350.0-canary.2789.26402381170.0
yarn add @salutejs/sdds-scan@0.348.0-canary.2789.26402381170.0
yarn add @salutejs/sdds-serv@0.349.0-canary.2789.26402381170.0
yarn add @salutejs/core-themes@0.30.0-canary.2789.26402381170.0
yarn add @salutejs/plasma-themes@0.50.0-canary.2789.26402381170.0
yarn add @salutejs/sdds-themes@0.65.0-canary.2789.26402381170.0
yarn add @salutejs/sdds-api-tests@0.7.0-canary.2789.26402381170.0
yarn add @salutejs/plasma-cy-utils@0.156.0-canary.2789.26402381170.0
yarn add @salutejs/plasma-sb-utils@0.226.0-canary.2789.26402381170.0
yarn add @salutejs/plasma-tokens-utils@0.51.0-canary.2789.26402381170.0

@github-actions
Copy link
Copy Markdown
Contributor

Theme Builder app deployed!

https://plasma.sberdevices.ru/pr/plasma-theme-builder-pr-2789/

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 20, 2026

Documentation preview deployed!

website: https://plasma.sberdevices.ru/pr/pr-2789/
asdk storybook: https://plasma.sberdevices.ru/pr/pr-2789/asdk-storybook/
b2c storybook: https://plasma.sberdevices.ru/pr/pr-2789/b2c-storybook/
giga storybook: https://plasma.sberdevices.ru/pr/pr-2789/giga-storybook/
homeds storybook: https://plasma.sberdevices.ru/pr/pr-2789/homeds-storybook/
new-hope storybook: https://plasma.sberdevices.ru/pr/pr-2789/new-hope-storybook/
ui storybook: https://plasma.sberdevices.ru/pr/pr-2789/ui-storybook/
web storybook: https://plasma.sberdevices.ru/pr/pr-2789/web-storybook/
sdds-bizcom storybook: https://plasma.sberdevices.ru/pr/pr-2789/sdds-bizcom-storybook/
sdds-cs storybook: https://plasma.sberdevices.ru/pr/pr-2789/sdds-cs-storybook/
sdds-dfa storybook: https://plasma.sberdevices.ru/pr/pr-2789/sdds-dfa-storybook/
sdds-finai storybook: https://plasma.sberdevices.ru/pr/pr-2789/sdds-finai-storybook/
sdds-insol storybook: https://plasma.sberdevices.ru/pr/pr-2789/sdds-insol-storybook/
sdds-netology storybook: https://plasma.sberdevices.ru/pr/pr-2789/sdds-netology-storybook/
sdds-os storybook: https://plasma.sberdevices.ru/pr/pr-2789/sdds-os-storybook/
sdds-platform-ai storybook: https://plasma.sberdevices.ru/pr/pr-2789/sdds-platform-ai-storybook/
sdds-sbcom storybook: https://plasma.sberdevices.ru/pr/pr-2789/sdds-sbcom-storybook/
sdds-scan storybook: https://plasma.sberdevices.ru/pr/pr-2789/sdds-scan-storybook/
sdds-serv storybook: https://plasma.sberdevices.ru/pr/pr-2789/sdds-serv-storybook/

Comment thread utils/plasma-sb-utils/src/components/Combobox/meta.ts
Comment thread packages/plasma-new-hope/src/components/Combobox/hooks/useListState.ts Outdated
Comment thread packages/plasma-new-hope/src/components/Combobox/ui/Inner/ui/Item/Item.types.ts Outdated
Comment thread packages/plasma-new-hope/src/components/Combobox/Combobox.tokens.ts
@shuga2704 shuga2704 added this pull request to the merge queue May 25, 2026
Merged via the queue into dev with commit 8efec7b May 25, 2026
58 checks passed
@shuga2704 shuga2704 deleted the plasma-7103 branch May 25, 2026 15:58
@github-actions
Copy link
Copy Markdown
Contributor

This PR is included in version:

  • @salutejs/plasma-asdk@0.377.0
  • @salutejs/plasma-b2c@1.619.0
  • @salutejs/plasma-core@1.227.0
  • @salutejs/plasma-giga@0.346.0
  • @salutejs/plasma-homeds@0.346.0
  • @salutejs/plasma-hope@1.373.0
  • @salutejs/plasma-icons@1.238.0
  • @salutejs/plasma-new-hope@0.363.0
  • @salutejs/plasma-tokens-b2b@1.55.0
  • @salutejs/plasma-tokens-b2c@0.66.0
  • @salutejs/plasma-tokens-web@1.70.0
  • @salutejs/plasma-tokens@1.139.0
  • @salutejs/plasma-typo@0.43.0
  • @salutejs/plasma-ui@1.349.0
  • @salutejs/plasma-web@1.621.0
  • @salutejs/sdds-bizcom@0.351.0
  • @salutejs/sdds-cs@0.355.0
  • @salutejs/sdds-dfa@0.349.0
  • @salutejs/sdds-finai@0.342.0
  • @salutejs/sdds-insol@0.346.0
  • @salutejs/sdds-netology@0.350.0
  • @salutejs/sdds-os@0.21.0
  • @salutejs/sdds-platform-ai@0.350.0
  • @salutejs/sdds-sbcom@0.351.0
  • @salutejs/sdds-scan@0.349.0
  • @salutejs/sdds-serv@0.350.0
  • @salutejs/core-themes@0.30.0
  • @salutejs/plasma-themes@0.51.0
  • @salutejs/sdds-themes@0.66.0
  • @salutejs/sdds-api-tests@0.8.0
  • @salutejs/plasma-cy-utils@0.157.0
  • @salutejs/plasma-sb-utils@0.227.0
  • @salutejs/plasma-tokens-utils@0.51.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants