PLASMA-7356: add edited view#2882
Conversation
📝 WalkthroughWalkthroughAdds a new ChangesEdited state for picker and range components
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Theme Builder app deployed! https://plasma.sberdevices.ru/pr/plasma-theme-builder-pr-2882/ |
There was a problem hiding this comment.
Actionable comments posted: 3
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
packages/plasma-new-hope/src/components/Range/Range.tokens.ts (1)
199-215:⚠️ Potential issue | 🟡 MinorAdd missing
textFieldDividerColorEditedtoken to Range.Range token map includes edited tokens for
textFieldBackgroundEditedColor,textFieldBorderColorEdited, and related state variants (lines 199–215), but lacks a corresponding edited divider token. DatePicker, DateTimePicker, and TimePicker all definetextFieldDividerColorEditedin their token maps and apply it during edited state. Range should include this token for consistency and complete edited-state styling coverage.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@packages/plasma-new-hope/src/components/Range/Range.tokens.ts` around lines 199 - 215, The Range token map in Range.tokens.ts is missing the textFieldDividerColorEdited token that exists in other similar components like DatePicker and DateTimePicker. Add the textFieldDividerColorEdited token definition to the token map following the same naming convention as the existing edited tokens (using the CSS variable pattern --plasma-range-textfield-divider-color-edited). Place it logically with the other divider-related tokens or edited state tokens to maintain consistency with the component structure and ensure complete edited-state styling coverage for the divider element.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@packages/sdds-finai/src/components/DatePicker/DatePicker.stories.tsx`:
- Line 16: The inputView option contains a typo where 'negaitve' is misspelled
and does not match the downstream mapping that checks for 'negative', preventing
the negative visual state from being selectable in Storybook controls. Correct
the typo in the inputView options array by changing 'negaitve' to 'negative' so
it aligns with the expected control mapping.
In `@packages/sdds-finai/src/components/DatePicker/DatePickerRange.stories.tsx`:
- Around line 16-17: The control options for firstInputView and secondInputView
in the DatePickerRange.stories.tsx file are missing the 'default' option in
their options arrays. This prevents users in Storybook from reverting to the
default state once they have selected a different value. Add 'default' to the
beginning of the options array for both firstInputView and secondInputView
controls so that all possible states (including the neutral default) are
selectable from the dropdown.
In `@packages/sdds-finai/src/components/TimePicker/TimePicker.clear.config.ts`:
- Line 58: The textFieldDividerColorEdited token in TimePicker.clear.config.ts
is set to var(--text-accent), which is inconsistent with how this token is
configured in TimePicker.config.ts. To fix this, locate the definition of
tokens.textFieldDividerColorEdited in TimePicker.config.ts (the default config
that uses the info/outline palette mapping) and apply the same token value to
TimePicker.clear.config.ts at line 58 where it currently references
var(--text-accent). This will ensure the edited state divider color remains
consistent between the clear and default variants.
---
Outside diff comments:
In `@packages/plasma-new-hope/src/components/Range/Range.tokens.ts`:
- Around line 199-215: The Range token map in Range.tokens.ts is missing the
textFieldDividerColorEdited token that exists in other similar components like
DatePicker and DateTimePicker. Add the textFieldDividerColorEdited token
definition to the token map following the same naming convention as the existing
edited tokens (using the CSS variable pattern
--plasma-range-textfield-divider-color-edited). Place it logically with the
other divider-related tokens or edited state tokens to maintain consistency with
the component structure and ensure complete edited-state styling coverage for
the divider element.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: c6f44efa-33e9-438f-9909-45faa5f0c299
📒 Files selected for processing (46)
packages/plasma-new-hope/src/components/DatePicker/DatePicker.tokens.tspackages/plasma-new-hope/src/components/DatePicker/DatePickerBase.types.tspackages/plasma-new-hope/src/components/DatePicker/RangeDate/RangeDate.styles.tspackages/plasma-new-hope/src/components/DatePicker/RangeDate/RangeDate.tsxpackages/plasma-new-hope/src/components/DatePicker/SingleDate/SingleDate.styles.tspackages/plasma-new-hope/src/components/DatePicker/SingleDate/SingleDate.tsxpackages/plasma-new-hope/src/components/DatePicker/SingleDate/SingleDate.types.tspackages/plasma-new-hope/src/components/DatePicker/hooks/useDatePicker.tspackages/plasma-new-hope/src/components/DateTimePicker/DateTimePicker.styles.tspackages/plasma-new-hope/src/components/DateTimePicker/DateTimePicker.tokens.tspackages/plasma-new-hope/src/components/DateTimePicker/DateTimePicker.tsxpackages/plasma-new-hope/src/components/DateTimePicker/DateTimePicker.types.tspackages/plasma-new-hope/src/components/DateTimePicker/hooks/useDateTimePicker.tspackages/plasma-new-hope/src/components/DateTimePicker/ui/Input/Input.styles.tspackages/plasma-new-hope/src/components/Range/Range.styles.tspackages/plasma-new-hope/src/components/Range/Range.tokens.tspackages/plasma-new-hope/src/components/Range/Range.tsxpackages/plasma-new-hope/src/components/Range/Range.types.tspackages/plasma-new-hope/src/components/Range/variations/_view/base.tspackages/plasma-new-hope/src/components/TimePicker/TimePicker.styles.tspackages/plasma-new-hope/src/components/TimePicker/TimePicker.tokens.tspackages/plasma-new-hope/src/components/TimePicker/TimePicker.tsxpackages/plasma-new-hope/src/components/TimePicker/TimePicker.types.tspackages/sdds-finai/src/components/Autocomplete/Autocomplete.config.tspackages/sdds-finai/src/components/Combobox/Combobox.config.tspackages/sdds-finai/src/components/DatePicker/DatePicker.config.tspackages/sdds-finai/src/components/DatePicker/DatePicker.stories.tsxpackages/sdds-finai/src/components/DatePicker/DatePickerRange.stories.tsxpackages/sdds-finai/src/components/DateTimePicker/DateTimePicker.clear.config.tspackages/sdds-finai/src/components/DateTimePicker/DateTimePicker.config.tspackages/sdds-finai/src/components/DateTimePicker/DateTimePicker.stories.tsxpackages/sdds-finai/src/components/Range/Range.config.tspackages/sdds-finai/src/components/Range/Range.stories.tsxpackages/sdds-finai/src/components/Select/Select.config.tspackages/sdds-finai/src/components/TextArea/TextArea.config.tspackages/sdds-finai/src/components/TextField/TextField.clear.config.tspackages/sdds-finai/src/components/TextField/TextField.config.tspackages/sdds-finai/src/components/TimePicker/TimePicker.clear.config.tspackages/sdds-finai/src/components/TimePicker/TimePicker.config.tspackages/sdds-finai/src/components/TimePicker/TimePicker.stories.tsxutils/plasma-sb-utils/src/components/DatePicker/meta.tsutils/plasma-sb-utils/src/components/DatePicker/stories.tsxutils/plasma-sb-utils/src/components/DateTimePicker/stories.tsxutils/plasma-sb-utils/src/components/Range/stories.tsxwebsite/sdds-finai-docs/docs/components/TextArea.mdxwebsite/sdds-finai-docs/docs/components/TextField.mdx
| firstInputView: { options: ['positive', 'negative', 'edited'], control: { type: 'select' } }, | ||
| secondInputView: { options: ['positive', 'negative', 'edited'], control: { type: 'select' } }, |
There was a problem hiding this comment.
Include default in input view controls.
These control options exclude the neutral state. Once changed in Storybook, users can’t select default back from the dropdown.
Suggested fix
- firstInputView: { options: ['positive', 'negative', 'edited'], control: { type: 'select' } },
- secondInputView: { options: ['positive', 'negative', 'edited'], control: { type: 'select' } },
+ firstInputView: { options: ['default', 'positive', 'negative', 'edited'], control: { type: 'select' } },
+ secondInputView: { options: ['default', 'positive', 'negative', 'edited'], control: { type: 'select' } },📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| firstInputView: { options: ['positive', 'negative', 'edited'], control: { type: 'select' } }, | |
| secondInputView: { options: ['positive', 'negative', 'edited'], control: { type: 'select' } }, | |
| firstInputView: { options: ['default', 'positive', 'negative', 'edited'], control: { type: 'select' } }, | |
| secondInputView: { options: ['default', 'positive', 'negative', 'edited'], control: { type: 'select' } }, |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@packages/sdds-finai/src/components/DatePicker/DatePickerRange.stories.tsx`
around lines 16 - 17, The control options for firstInputView and secondInputView
in the DatePickerRange.stories.tsx file are missing the 'default' option in
their options arrays. This prevents users in Storybook from reverting to the
default state once they have selected a different value. Add 'default' to the
beginning of the options array for both firstInputView and secondInputView
controls so that all possible states (including the neutral default) are
selectable from the dropdown.
There was a problem hiding this comment.
@TitanKuzmich, glad it makes sense! When you apply the fix, you can update both lines like so:
firstInputView: { options: ['default', 'positive', 'negative', 'edited'], control: { type: 'select' } },
secondInputView: { options: ['default', 'positive', 'negative', 'edited'], control: { type: 'select' } },(ミ^ ᴥ ^ミ)
IgorYar
left a comment
There was a problem hiding this comment.
Нужны тесты на view=edited во всех затронутых компонентах
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
`@packages/plasma-new-hope/src/components/DatePicker/DatePicker.component-test.tsx`:
- Line 707: Locate the itOnlyEdited function call where the test name parameter
contains "secondaValueEdited" and fix the typo by changing it to
"secondValueEdited" to properly match the intended test name which references
both firstValueEdited and secondValueEdited.
In `@packages/plasma-new-hope/src/components/Range/Range.component-test.tsx`:
- Line 223: Fix the typo in the test name parameter of the itOnlyEdited function
call. In the test name string "firstValueEdited, secondaValueEdited", change
"secondaValueEdited" to "secondValueEdited" by adding the missing 'e' before the
'V'. This is a simple spelling correction in the test description passed to
itOnlyEdited.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 7f35c14f-8a98-4598-9815-29903fc2f322
⛔ Files ignored due to path filters (29)
cypress/snapshots/finai/chromium/Autocomplete/Autocomplete -- view=edited.snap.pngis excluded by!**/*.pngcypress/snapshots/finai/chromium/Combobox/Combobox -- view=edited.snap.pngis excluded by!**/*.pngcypress/snapshots/finai/chromium/DatePicker/DatePicker -- valueEdited.snap.pngis excluded by!**/*.pngcypress/snapshots/finai/chromium/DatePicker/DatePickerRange -- firstValueEdited, secondaValueEdited.snap.pngis excluded by!**/*.pngcypress/snapshots/finai/chromium/DateTimePicker/DateTimePicker -- valueEdited.snap.pngis excluded by!**/*.pngcypress/snapshots/finai/chromium/Range/Range -- firstValueEdited, secondaValueEdited.snap.pngis excluded by!**/*.pngcypress/snapshots/finai/chromium/Select/Select -- chipView=accent multiselect.snap.pngis excluded by!**/*.pngcypress/snapshots/finai/chromium/Select/Select -- view=edited target=button-like.snap.pngis excluded by!**/*.pngcypress/snapshots/finai/chromium/Select/Select -- view=edited.snap.pngis excluded by!**/*.pngcypress/snapshots/finai/chromium/TextArea/TextArea -- view=edited appearance=clear,hasDivider=true.snap.pngis excluded by!**/*.pngcypress/snapshots/finai/chromium/TextArea/TextArea -- view=edited.snap.pngis excluded by!**/*.pngcypress/snapshots/finai/chromium/TextField/TextField -- view=edited appearance=clear,hasDivider=true.snap.pngis excluded by!**/*.pngcypress/snapshots/finai/chromium/TextField/TextField -- view=edited.snap.pngis excluded by!**/*.pngcypress/snapshots/finai/chromium/TimePicker/TimePicker -- input time.snap.pngis excluded by!**/*.pngcypress/snapshots/finai/chromium/TimePicker/TimePicker -- size=xs.snap.pngis excluded by!**/*.pngcypress/snapshots/finai/chromium/TimePicker/TimePicker -- valueEdited.snap.pngis excluded by!**/*.pngcypress/snapshots/finai/webkit/Autocomplete/Autocomplete -- view=edited.snap.pngis excluded by!**/*.pngcypress/snapshots/finai/webkit/Combobox/Combobox -- view=edited.snap.pngis excluded by!**/*.pngcypress/snapshots/finai/webkit/DatePicker/DatePicker -- valueEdited.snap.pngis excluded by!**/*.pngcypress/snapshots/finai/webkit/DatePicker/DatePickerRange -- firstValueEdited, secondaValueEdited.snap.pngis excluded by!**/*.pngcypress/snapshots/finai/webkit/DateTimePicker/DateTimePicker -- valueEdited.snap.pngis excluded by!**/*.pngcypress/snapshots/finai/webkit/Range/Range -- firstValueEdited, secondaValueEdited.snap.pngis excluded by!**/*.pngcypress/snapshots/finai/webkit/Select/Select -- view=edited target=button-like.snap.pngis excluded by!**/*.pngcypress/snapshots/finai/webkit/Select/Select -- view=edited.snap.pngis excluded by!**/*.pngcypress/snapshots/finai/webkit/TextArea/TextArea -- view=edited appearance=clear,hasDivider=true.snap.pngis excluded by!**/*.pngcypress/snapshots/finai/webkit/TextArea/TextArea -- view=edited.snap.pngis excluded by!**/*.pngcypress/snapshots/finai/webkit/TextField/TextField -- view=edited appearance=clear,hasDivider=true.snap.pngis excluded by!**/*.pngcypress/snapshots/finai/webkit/TextField/TextField -- view=edited.snap.pngis excluded by!**/*.pngcypress/snapshots/finai/webkit/TimePicker/TimePicker -- valueEdited.snap.pngis excluded by!**/*.png
📒 Files selected for processing (53)
packages/plasma-new-hope/src/components/DatePicker/DatePicker.component-test.tsxpackages/plasma-new-hope/src/components/DatePicker/DatePicker.tokens.tspackages/plasma-new-hope/src/components/DatePicker/DatePickerBase.types.tspackages/plasma-new-hope/src/components/DatePicker/RangeDate/RangeDate.styles.tspackages/plasma-new-hope/src/components/DatePicker/RangeDate/RangeDate.tsxpackages/plasma-new-hope/src/components/DatePicker/SingleDate/SingleDate.styles.tspackages/plasma-new-hope/src/components/DatePicker/SingleDate/SingleDate.tsxpackages/plasma-new-hope/src/components/DatePicker/SingleDate/SingleDate.types.tspackages/plasma-new-hope/src/components/DatePicker/hooks/useDatePicker.tspackages/plasma-new-hope/src/components/DateTimePicker/DateTimePicker.component-test.tsxpackages/plasma-new-hope/src/components/DateTimePicker/DateTimePicker.styles.tspackages/plasma-new-hope/src/components/DateTimePicker/DateTimePicker.tokens.tspackages/plasma-new-hope/src/components/DateTimePicker/DateTimePicker.tsxpackages/plasma-new-hope/src/components/DateTimePicker/DateTimePicker.types.tspackages/plasma-new-hope/src/components/DateTimePicker/hooks/useDateTimePicker.tspackages/plasma-new-hope/src/components/DateTimePicker/ui/Input/Input.styles.tspackages/plasma-new-hope/src/components/Range/Range.component-test.tsxpackages/plasma-new-hope/src/components/Range/Range.styles.tspackages/plasma-new-hope/src/components/Range/Range.tokens.tspackages/plasma-new-hope/src/components/Range/Range.tsxpackages/plasma-new-hope/src/components/Range/Range.types.tspackages/plasma-new-hope/src/components/Range/variations/_view/base.tspackages/plasma-new-hope/src/components/TimePicker/TimePicker.component-test.tsxpackages/plasma-new-hope/src/components/TimePicker/TimePicker.styles.tspackages/plasma-new-hope/src/components/TimePicker/TimePicker.tokens.tspackages/plasma-new-hope/src/components/TimePicker/TimePicker.tsxpackages/plasma-new-hope/src/components/TimePicker/TimePicker.types.tspackages/sdds-finai/src/components/Autocomplete/Autocomplete.config.tspackages/sdds-finai/src/components/Combobox/Combobox.config.tspackages/sdds-finai/src/components/DatePicker/DatePicker.config.tspackages/sdds-finai/src/components/DatePicker/DatePicker.stories.tsxpackages/sdds-finai/src/components/DatePicker/DatePickerRange.stories.tsxpackages/sdds-finai/src/components/DateTimePicker/DateTimePicker.clear.config.tspackages/sdds-finai/src/components/DateTimePicker/DateTimePicker.config.tspackages/sdds-finai/src/components/DateTimePicker/DateTimePicker.stories.tsxpackages/sdds-finai/src/components/Range/Range.config.tspackages/sdds-finai/src/components/Range/Range.stories.tsxpackages/sdds-finai/src/components/Select/Select.config.tspackages/sdds-finai/src/components/TextArea/TextArea.config.tspackages/sdds-finai/src/components/TextField/TextField.clear.config.tspackages/sdds-finai/src/components/TextField/TextField.config.tspackages/sdds-finai/src/components/TimePicker/TimePicker.clear.config.tspackages/sdds-finai/src/components/TimePicker/TimePicker.config.tspackages/sdds-finai/src/components/TimePicker/TimePicker.stories.tsxutils/plasma-cy-utils/lib/CypressDecorator.d.tsutils/plasma-cy-utils/lib/CypressDecorator.jsutils/plasma-cy-utils/src/CypressDecorator.tsxutils/plasma-sb-utils/src/components/DatePicker/meta.tsutils/plasma-sb-utils/src/components/DatePicker/stories.tsxutils/plasma-sb-utils/src/components/DateTimePicker/stories.tsxutils/plasma-sb-utils/src/components/Range/stories.tsxwebsite/sdds-finai-docs/docs/components/TextArea.mdxwebsite/sdds-finai-docs/docs/components/TextField.mdx
✅ Files skipped from review due to trivial changes (6)
- utils/plasma-cy-utils/lib/CypressDecorator.d.ts
- packages/sdds-finai/src/components/TimePicker/TimePicker.stories.tsx
- website/sdds-finai-docs/docs/components/TextField.mdx
- packages/sdds-finai/src/components/DatePicker/DatePicker.stories.tsx
- website/sdds-finai-docs/docs/components/TextArea.mdx
- packages/plasma-new-hope/src/components/DateTimePicker/DateTimePicker.styles.ts
🚧 Files skipped from review as they are similar to previous changes (39)
- packages/sdds-finai/src/components/Range/Range.stories.tsx
- packages/plasma-new-hope/src/components/DateTimePicker/DateTimePicker.types.ts
- packages/plasma-new-hope/src/components/TimePicker/TimePicker.styles.ts
- packages/plasma-new-hope/src/components/Range/Range.types.ts
- packages/plasma-new-hope/src/components/DatePicker/DatePickerBase.types.ts
- packages/plasma-new-hope/src/components/Range/Range.styles.ts
- utils/plasma-sb-utils/src/components/Range/stories.tsx
- packages/plasma-new-hope/src/components/DatePicker/SingleDate/SingleDate.styles.ts
- packages/sdds-finai/src/components/DatePicker/DatePickerRange.stories.tsx
- packages/plasma-new-hope/src/components/DatePicker/RangeDate/RangeDate.tsx
- packages/plasma-new-hope/src/components/Range/variations/_view/base.ts
- packages/sdds-finai/src/components/TextArea/TextArea.config.ts
- packages/plasma-new-hope/src/components/TimePicker/TimePicker.tsx
- packages/plasma-new-hope/src/components/TimePicker/TimePicker.types.ts
- packages/plasma-new-hope/src/components/DateTimePicker/ui/Input/Input.styles.ts
- packages/plasma-new-hope/src/components/DatePicker/SingleDate/SingleDate.types.ts
- packages/sdds-finai/src/components/TimePicker/TimePicker.clear.config.ts
- packages/sdds-finai/src/components/TimePicker/TimePicker.config.ts
- utils/plasma-sb-utils/src/components/DateTimePicker/stories.tsx
- packages/plasma-new-hope/src/components/DatePicker/hooks/useDatePicker.ts
- packages/sdds-finai/src/components/Range/Range.config.ts
- packages/sdds-finai/src/components/Autocomplete/Autocomplete.config.ts
- packages/plasma-new-hope/src/components/TimePicker/TimePicker.tokens.ts
- packages/plasma-new-hope/src/components/DateTimePicker/hooks/useDateTimePicker.ts
- packages/sdds-finai/src/components/TextField/TextField.clear.config.ts
- packages/sdds-finai/src/components/Select/Select.config.ts
- packages/sdds-finai/src/components/TextField/TextField.config.ts
- packages/plasma-new-hope/src/components/DateTimePicker/DateTimePicker.tokens.ts
- utils/plasma-sb-utils/src/components/DatePicker/meta.ts
- utils/plasma-sb-utils/src/components/DatePicker/stories.tsx
- packages/sdds-finai/src/components/DatePicker/DatePicker.config.ts
- packages/plasma-new-hope/src/components/DatePicker/RangeDate/RangeDate.styles.ts
- packages/plasma-new-hope/src/components/DatePicker/DatePicker.tokens.ts
- packages/sdds-finai/src/components/DateTimePicker/DateTimePicker.clear.config.ts
- packages/plasma-new-hope/src/components/DatePicker/SingleDate/SingleDate.tsx
- packages/plasma-new-hope/src/components/DateTimePicker/DateTimePicker.tsx
- packages/plasma-new-hope/src/components/Range/Range.tokens.ts
- packages/sdds-finai/src/components/Combobox/Combobox.config.ts
- packages/plasma-new-hope/src/components/Range/Range.tsx
|
Ждем ок продуктовой команды |
| cy.matchImageSnapshot(); | ||
| }); | ||
|
|
||
| itOnlyEdited('valueEdited', () => { |
There was a problem hiding this comment.
Обычно мы такие тесты уносим в конечную либу.
|
ок получен от продукта |
| cy.matchImageSnapshot(); | ||
| }); | ||
|
|
||
| itOnlyEdited('valueEdited', () => { |
There was a problem hiding this comment.
То же самое. Если только для одной либы, то уносим в конечных пакет
| firstInputView: { options: ['positive', 'negative', 'edited'], control: { type: 'select' } }, | ||
| secondInputView: { options: ['positive', 'negative', 'edited'], control: { type: 'select' } }, |
SDDS-FINAI
TextField like components
view-editedWhat/why changed
view-edited📦 Published PR as canary version:
Canary Versions✨ Test out this PR locally via:
npm install @salutejs/plasma-asdk@0.381.0-canary.2882.27683818406.0 npm install @salutejs/plasma-b2c@1.623.0-canary.2882.27683818406.0 npm install @salutejs/plasma-core@1.230.0-canary.2882.27683818406.0 npm install @salutejs/plasma-giga@0.350.0-canary.2882.27683818406.0 npm install @salutejs/plasma-homeds@0.350.0-canary.2882.27683818406.0 npm install @salutejs/plasma-hope@1.377.0-canary.2882.27683818406.0 npm install @salutejs/plasma-new-hope@0.367.0-canary.2882.27683818406.0 npm install @salutejs/plasma-ui@1.353.0-canary.2882.27683818406.0 npm install @salutejs/plasma-web@1.625.0-canary.2882.27683818406.0 npm install @salutejs/sdds-bizcom@0.355.0-canary.2882.27683818406.0 npm install @salutejs/sdds-cs@0.359.0-canary.2882.27683818406.0 npm install @salutejs/sdds-dfa@0.353.0-canary.2882.27683818406.0 npm install @salutejs/sdds-finai@0.346.0-canary.2882.27683818406.0 npm install @salutejs/sdds-insol@0.350.0-canary.2882.27683818406.0 npm install @salutejs/sdds-netology@0.354.0-canary.2882.27683818406.0 npm install @salutejs/sdds-os@0.25.0-canary.2882.27683818406.0 npm install @salutejs/sdds-platform-ai@0.354.0-canary.2882.27683818406.0 npm install @salutejs/sdds-sbcom@0.355.0-canary.2882.27683818406.0 npm install @salutejs/sdds-scan@0.353.0-canary.2882.27683818406.0 npm install @salutejs/sdds-serv@0.354.0-canary.2882.27683818406.0 npm install @salutejs/sdds-api-tests@0.12.0-canary.2882.27683818406.0 npm install @salutejs/plasma-cy-utils@0.160.0-canary.2882.27683818406.0 npm install @salutejs/plasma-sb-utils@0.231.0-canary.2882.27683818406.0 # or yarn add @salutejs/plasma-asdk@0.381.0-canary.2882.27683818406.0 yarn add @salutejs/plasma-b2c@1.623.0-canary.2882.27683818406.0 yarn add @salutejs/plasma-core@1.230.0-canary.2882.27683818406.0 yarn add @salutejs/plasma-giga@0.350.0-canary.2882.27683818406.0 yarn add @salutejs/plasma-homeds@0.350.0-canary.2882.27683818406.0 yarn add @salutejs/plasma-hope@1.377.0-canary.2882.27683818406.0 yarn add @salutejs/plasma-new-hope@0.367.0-canary.2882.27683818406.0 yarn add @salutejs/plasma-ui@1.353.0-canary.2882.27683818406.0 yarn add @salutejs/plasma-web@1.625.0-canary.2882.27683818406.0 yarn add @salutejs/sdds-bizcom@0.355.0-canary.2882.27683818406.0 yarn add @salutejs/sdds-cs@0.359.0-canary.2882.27683818406.0 yarn add @salutejs/sdds-dfa@0.353.0-canary.2882.27683818406.0 yarn add @salutejs/sdds-finai@0.346.0-canary.2882.27683818406.0 yarn add @salutejs/sdds-insol@0.350.0-canary.2882.27683818406.0 yarn add @salutejs/sdds-netology@0.354.0-canary.2882.27683818406.0 yarn add @salutejs/sdds-os@0.25.0-canary.2882.27683818406.0 yarn add @salutejs/sdds-platform-ai@0.354.0-canary.2882.27683818406.0 yarn add @salutejs/sdds-sbcom@0.355.0-canary.2882.27683818406.0 yarn add @salutejs/sdds-scan@0.353.0-canary.2882.27683818406.0 yarn add @salutejs/sdds-serv@0.354.0-canary.2882.27683818406.0 yarn add @salutejs/sdds-api-tests@0.12.0-canary.2882.27683818406.0 yarn add @salutejs/plasma-cy-utils@0.160.0-canary.2882.27683818406.0 yarn add @salutejs/plasma-sb-utils@0.231.0-canary.2882.27683818406.0Summary by CodeRabbit
view="edited"/valueEdited.