Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(input): [input] fix textarea x-design style #2076

Merged
merged 3 commits into from
Sep 9, 2024
Merged

Conversation

zzcr
Copy link
Member

@zzcr zzcr commented Sep 7, 2024

PR

PR Checklist

Please check if your PR fulfills the following requirements:

  • The commit message follows our Commit Message Guidelines
  • Tests for the changes have been added (for bug fixes / features)
  • Docs have been added / updated (for bug fixes / features)

PR Type

What kind of change does this PR introduce?

  • Bugfix
  • Feature
  • Code style update (formatting, local variables)
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • CI related changes
  • Documentation content changes
  • Other... Please describe:

What is the current behavior?

Issue Number: N/A

What is the new behavior?

Does this PR introduce a breaking change?

  • Yes
  • No

Other information

Summary by CodeRabbit

  • New Features

    • Enhanced responsiveness of text areas by changing their width to fit content dynamically.
    • Introduced visual enhancements to the textarea component with new pseudo-elements for improved layout.
  • Bug Fixes

    • Adjusted test cases to ensure correct height measurement of text areas, confirming proper resizing functionality.
  • Style

    • Updated styles for textarea count display for better readability and visual clarity.

Copy link

coderabbitai bot commented Sep 7, 2024

Walkthrough

The changes involve modifications to the CSS styling of textarea components in multiple Vue files, enhancing their responsiveness by adjusting widths to fit-content. Additionally, test cases for the textarea's behavior have been updated to reflect new expectations for height after interactions. Visual enhancements have been made to the textarea component through new pseudo-elements in the LESS file, improving the overall structure and clarity. Furthermore, locators in Playwright tests have been refined for better accuracy.

Changes

Files Change Summary
examples/sites/demos/pc/app/input/resize-composition-api.vue
examples/sites/demos/pc/app/input/resize.vue
Modified the .tiny-textarea class width from 400px to fit-content for improved responsiveness.
examples/sites/demos/pc/app/input/resize.spec.ts Updated test assertions for textarea height, changing focus from the first to the second textarea for validation.
packages/theme/src/textarea/index.less Introduced new pseudo-elements for visual enhancements and updated styles for the textarea count display.
examples/sites/demos/pc/app/input/slot.spec.ts Refined locators in Playwright tests to be scoped to the #slot element for improved accuracy.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant TextArea
    participant TestSuite

    User->>TextArea: Input text
    TextArea-->>User: Adjust width to fit-content
    User->>TestSuite: Trigger test
    TestSuite->>TextArea: Validate height
    TestSuite-->>User: Return test result
Loading

Poem

🐇 In a world of text so bright,
A textarea dances, pure delight.
With widths that flex and fit just right,
It welcomes words, a joyful sight!
So hop along, let’s celebrate,
For changes made, oh, how great! 🎉


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share
Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@zzcr zzcr added the bug Something isn't working label Sep 7, 2024
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between d3be75b and 40ab1cc.

Files selected for processing (4)
  • examples/sites/demos/pc/app/input/resize-composition-api.vue (1 hunks)
  • examples/sites/demos/pc/app/input/resize.spec.ts (2 hunks)
  • examples/sites/demos/pc/app/input/resize.vue (1 hunks)
  • packages/theme/src/textarea/index.less (3 hunks)
Files skipped from review due to trivial changes (1)
  • examples/sites/demos/pc/app/input/resize-composition-api.vue
Additional comments not posted (4)
examples/sites/demos/pc/app/input/resize.spec.ts (1)

Line range hint 33-44: Verify the logic and functionality of the test changes.

The changes in the test assertions and the selection of textarea elements need to be verified to ensure they align with the intended functionality of the textarea resizing feature. It's crucial to confirm that these changes reflect the new behavior accurately and that the test still meets its purpose.

examples/sites/demos/pc/app/input/resize.vue (1)

66-66: Approve the CSS change but verify layout integration.

The change to fit-content for the width of the .tiny-textarea class is approved as it enhances the responsiveness of the component. However, it's important to verify that this change integrates well with the rest of the layout and does not introduce any issues such as overflow or misalignment.

packages/theme/src/textarea/index.less (2)

Line range hint 91-202: Approve the updates to count display styles but verify impact on readability and layering.

The updates to the z-index and line-height properties of the .tiny-textarea count display are approved as they likely improve readability and layering. Setting the &:before and &:after pseudo-elements to display: none; is also approved as it may simplify the styling. However, it's important to verify that these changes do not negatively impact the readability or layering of the count display.

Verification successful

Verification Successful: No Issues Found with Textarea Count Display Styles

The updates to the z-index and line-height properties, as well as the removal of pseudo-elements for the textarea count display, do not negatively impact readability or layering. The changes are consistent with the intended styling improvements.

  • The class .@{input-prefix-cls}__count in packages/theme/src/textarea/index.less is responsible for the relevant styles.
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the impact of the updated count display styles on readability and layering.

# Test: Search for issues related to the updated count display styles. Expect: No negative impact on readability or layering.
rg --type less -A 5 $'.tiny-textarea__count'

Length of output: 43


Script:

#!/bin/bash
# Search for any classes or elements related to `textarea` and `count` in LESS files to identify the correct selector.
rg --type less 'textarea' -A 5
rg --type less 'count' -A 5

Length of output: 98364


31-53: Approve the addition of pseudo-elements but verify visual and functional impact.

The addition of the &:before and &:after pseudo-elements to the .tiny-textarea class is approved as they enhance the visual appeal. However, it's important to verify that these elements do not interfere with the textarea's functionality or cause any layout issues.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 40ab1cc and 44c1f0c.

Files selected for processing (1)
  • examples/sites/demos/pc/app/input/slot.spec.ts (1 hunks)
Additional comments not posted (4)
examples/sites/demos/pc/app/input/slot.spec.ts (4)

7-7: Improved locator scoping.

The introduction of the demo locator to target the #slot element is a good practice. It helps in reducing the scope of element searches, which can improve test reliability by avoiding unintended element selections.


9-9: Context-specific locator for prefix.

Using the demo locator to derive the prefix locator ensures that the test is specific to the context of the #slot element. The immediate visibility check is a good practice to confirm that the UI is rendering as expected.


12-12: Consistent locator scoping for append.

The use of the demo locator to derive the append locator maintains consistency and specificity in the test. The visibility check for the append element is crucial for verifying the correct rendering of the UI.


15-18: Effective locator scoping for prepend and suffix.

The consistent use of the demo locator to derive both the prepend and suffix locators ensures that the test is specific and accurate. The visibility checks for both elements are essential for verifying the correct rendering of the UI components.

kagol
kagol previously approved these changes Sep 9, 2024
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 44c1f0c and 097eec0.

Files selected for processing (1)
  • packages/theme/src/textarea/index.less (3 hunks)
Files skipped from review as they are similar to previous changes (1)
  • packages/theme/src/textarea/index.less

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants