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

feat: create textarea component #2640

Merged
merged 4 commits into from
Feb 17, 2025
Merged

Conversation

artursantiago
Copy link
Collaborator

@artursantiago artursantiago commented Jan 28, 2025

What's the purpose of this pull request?

This pull request adds the Textarea atom component based on the Input component. This component will be used in the form of the modal for adding a review to a product in the new Reviews and Ratings section.

How does it work?

This PR introduces the Textarea atom component. In addition to the standard properties, it includes a resize prop, which defaults to both.

The styling of the Textarea component is based on the existing Input component to maintain visual consistency.

How to test it?

Starters Deploy Preview

Preview

References

JIRA TASK: SFS-2075

Figma

image

@artursantiago artursantiago added the enhancement New feature or request label Jan 28, 2025
@artursantiago artursantiago self-assigned this Jan 28, 2025
Copy link

vercel bot commented Jan 28, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Updated (UTC)
faststore-site ✅ Ready (Inspect) Visit Preview Jan 28, 2025 2:03pm

Copy link

codesandbox-ci bot commented Jan 28, 2025

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

@artursantiago artursantiago marked this pull request as ready for review January 30, 2025 17:43
@artursantiago artursantiago requested a review from a team as a code owner January 30, 2025 17:43
@artursantiago artursantiago requested review from hellofanny and pedromtec and removed request for a team January 30, 2025 17:43
@artursantiago artursantiago force-pushed the feat/add-textarea-component branch from d461961 to ae081dd Compare February 6, 2025 19:38
@artursantiago artursantiago mentioned this pull request Feb 13, 2025
2 tasks
@Guilera Guilera force-pushed the feat/add-textarea-component branch from 71f3b76 to 007b065 Compare February 14, 2025 14:07
@hellofanny
Copy link
Contributor

hellofanny commented Feb 17, 2025

todo: I'll request doc for education after merging - new Component (Textarea)

@hellofanny
Copy link
Contributor

@pedromtec I'll merge this one ok?

@hellofanny hellofanny merged commit 15271ca into main Feb 17, 2025
8 of 9 checks passed
@hellofanny hellofanny deleted the feat/add-textarea-component branch February 17, 2025 18:03
@hellofanny
Copy link
Contributor

@mariana-caetano Doc request for new component Textarea

hellofanny added a commit that referenced this pull request Feb 18, 2025
>⚠️ THIS PR DEPENDS ON
[PR#2640](#2640) ⚠️

## What's the purpose of this pull request?

This pull request adds the TextareaField atom component based on the
InputField component. This component will be used in the form of the
modal for adding a review to a product in the new Reviews and Ratings
section.

## How does it work?

This PR introduces the `TextareaField` molecule component, which extends
the functionality of the `Textarea` component. It accepts additional
props such as `id`, `label`, `error`, and `disabled`, alongside all the
standard props of the `Textarea` component.

The `TextareaField` uses the `Textarea` component internally. One thing
to pay attention in this implementation is related to the label used in
the add new review form. In the Figma design, the label text is very
long, which could either exceed the width of the `Textarea` or break
into multiple lines, overlapping the text area.

To solve this, I added a logic using a `useEffect` hook to dynamically
calculate the width of the `Textarea` and set it as the `max-width` of
the label. Additionally, the `text-overflow: ellipsis` style is applied
to truncate the label text if it exceeds the defined width.

## How to test it?

<!--- Describe the steps with bullet points. Is there any external link
that can be used to better test it or an example? --->

### Starters Deploy Preview

<!--- Add a link to a deploy preview from `starter.store` with this
branch being used. --->

<!--- Tip: You can get an installable version of this branch from the
CodeSandbox generated when this PR is created. --->


[Preview](https://starter-git-chore-add-textareafield-cli-vtex.vercel.app/review-and-ratings-playground)

## References

[JIRA TASK: SFS-2076](https://vtex-dev.atlassian.net/browse/SFS-2076)


[Figma](https://www.figma.com/design/YXU6IX2htN2yg7udpCumZv/Reviews-%26-Ratings?node-id=131-49445&t=0rv1XYm6XsgBeDwA-4)


![image](https://github.com/user-attachments/assets/5f595a0a-1844-41ca-8113-f9076d3a14ec)

---------

Co-authored-by: Fanny Chien <fanny.chien@vtex.com>
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