π¨ Implement CSS for TodoItem Component (BEM, Design Provided)
π Overview
Style the TodoItem component according to the provided design screenshot, applying CSS using BEM methodology in
components/ui/TodoItem/TodoItem.css.
πΌοΈ Design Reference
Screenshots are provided ([attach or link the screenshots here]) representing:
- The default design of a todo item
- hover, and focus states
Refer to these images for all visual details (spacing, color, typography, interactions). Styles don't have to be pixel perfect.
default state
 |
|
|
calcel edit button hover
 |
confirm edit button hover
 |
item hover
 |
delete item button hover
 |
edit item button hover
 |
 |
π― Acceptance Criteria
π§ Technical Requirements
- Use BEM for all class names (see docs link below)
- For the following properties, always use a CSS variable from
app/globals.css:
- Color (background, text, border, accent-color, etc.)
- Spacing (padding, gap, etc.)
- Font size
- Border radius
- Transition
- Where variables are not provided (e.g.
display, flex, widths/heights not specified in variables), use standard CSS values as appropriate
- Do NOT hardcode any values that have a corresponding token in
app/globals.css
- Be precise with spacing, fonts, colors, and border-radius per the provided image and the available variables
Reference: CSS Variables from app/globals.css used in TodoItem styles
Use these variables in your styles where applicable:
-
Colors:
--color-primary
--color-background
--color-text
--color-text-muted
--color-border
--color-warning
--color-success
--color-danger
-
Border radius:
-
Spacing:
--spacing-xs
--spacing-sm
--spacing-md
-
Font size:
--font-size-sm
--font-size-base
-
Transition:
π« Out of Scope
- Changes to the TodoItem component's markup (unless required to add BEM class hooks)
- Logic or structural changes to the TodoItem component
- Updates to
app/globals.css
β
Getting Started
- Review the markup of
TodoItem.jsx/.tsx to understand class hooks
- Open
components/ui/TodoItem/TodoItem.css and add your styles
- For all color, spacing, font-size, border-radius, and transition values, use
var(--...) from app/globals.css
- For properties where no variable exists, use standard CSS values
π‘ Tips
- Be consistent with CSS variable usageβif a variable exists, always use it
- Double-check the screenshots to match spacing, color, and fonts exactly
- Read and follow the BEM documentation for naming conventions
π Resources
π¨ Implement CSS for TodoItem Component (BEM, Design Provided)
π Overview
Style the
TodoItemcomponent according to the provided design screenshot, applying CSS using BEM methodology incomponents/ui/TodoItem/TodoItem.css.πΌοΈ Design Reference
Screenshots are provided ([attach or link the screenshots here]) representing:
Refer to these images for all visual details (spacing, color, typography, interactions). Styles don't have to be pixel perfect.
π― Acceptance Criteria
TodoItemvisually matches the provided default design for all statescomponents/ui/TodoItem/TodoItem.cssapp/globals.cssapp/globals.cssπ§ Technical Requirements
app/globals.css:display,flex, widths/heights not specified in variables), use standard CSS values as appropriateapp/globals.cssReference: CSS Variables from
app/globals.cssused in TodoItem stylesUse these variables in your styles where applicable:
Colors:
--color-primary--color-background--color-text--color-text-muted--color-border--color-warning--color-success--color-dangerBorder radius:
--border-radius-smSpacing:
--spacing-xs--spacing-sm--spacing-mdFont size:
--font-size-sm--font-size-baseTransition:
--transitionπ« Out of Scope
app/globals.cssβ Getting Started
TodoItem.jsx/.tsxto understand class hookscomponents/ui/TodoItem/TodoItem.cssand add your stylesvar(--...)fromapp/globals.cssπ‘ Tips
π Resources