Appearance
Dynamically repeating components 
When you place elements inside a repeated list (like a Collection list), page-level variables and workflows are shared across all rows. That often causes every row to respond at once — for example, showing buttons in every row when you hover or focus just one.
The fix is simple: wrap your row UI into a reusable component. Component variables, workflows, and states are scoped to each instance, so each row behaves independently.
TIP
Prefer component-scoped variables and workflows over page-level ones inside repeated lists. It keeps behavior isolated and easier to maintain.
Why rows act in sync 
What’s happening: In a repeated list, shared variables and workflows live outside each row, so one change is seen by every row,
What you see: Hover, focus, or click on one item makes all items react at the same time,
How to fix it: Move the logic into a component so every row gets its own isolated state and workflows.
Build the row component 
Create a component that represents one row of your list. In this example, it has:
- an Input wrapper(holds the input)
- a Button wrapper(holds the button and the tooltip)
Your list will render many instances of this component — one per item — each with its own state and behavior.
1) Show buttons only when the input is focused 
- In the component, create a Boolean component variable called isFocused.
- On the input element: - On Focus: setisFocusedtotrue.
- On Blur: after a short delay (e.g., 200 ms), setisFocusedtofalse.
 
- On 
- On the Button wrapper, set a render condition bound toisFocused.
This makes the buttons appear only for the row you’re interacting with.
TIP
Add a tiny delay on Blur so users can click the button before it hides (e.g., 200 ms).
2) Show a tooltip on hover using states 
You can scope hover behavior without variables by using states:
- On the Button wrapper, enable theHoverstate and apply it to children.
- On the tooltip element: - In the default state, hide the tooltip.
- In the parent’s Hoverstate, show the tooltip.
 
Each component instance manages its own hover state, so only the hovered row shows its tooltip.
TIP
States aren’t component-only features, but they’re great to localize behavior — each instance maintains its own state in a repeated list.
3) Use the component inside a repeated list 
- Add a Collection listbound to your array (e.g., a simple list of items).
- Drop your row component inside the repeated item.
- Bind any props as needed for that instance (e.g., item label).
Now each row behaves independently: focusing an input reveals only that row’s buttons, and hovering shows only that row’s tooltip.
Why this works 
- Component variables live inside the component — each instance gets its own copy.
- Component workflows execute in the component’s scope — no cross-talk between rows.
- States apply per instance — hover/focus effects don’t “leak” to other rows.

