mcpField
N
no-pointer

no-pointer

github.com/remotion-devDesign & UI68.6k271 installsUpdated today
Repository

About no-pointer

A coding skill for applying Remotion Studio’s established conventions to clickable controls, hover states, and keyboard focus. It guides implementation and state-by-state style verification.

Key features

  1. 01Default cursor for controls
  2. 02Shared hover styling helpers
  3. 03Consistent idle and hover colors
  4. 04Keyboard-visible focus styling
  5. 05State-by-state style verification

Use cases

  1. 01Updating clickable controls in Studio
  2. 02Removing pointer-style cursors
  3. 03Preserving keyboard focus indicators

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/remotion-dev/remotion --skill no-pointer

After installing, type/no-pointerin Claude Code to confirm it loaded.

Bundled filesagents/openai.yaml

Details

From the project README

No Pointer

Use the established Studio interaction convention for clickable controls:

  • Set cursor: 'default'; do not use cursor: 'pointer'.
  • Drive purely visual hover styling through HOVERABLE_CLASS_NAME and hoverableStyle() from packages/studio/src/helpers/hoverable.ts. Do not add React hover state for color or background changes.
  • Keep the background unchanged unless the surrounding component already uses a shared background-hover convention. For a text-only action, use TRANSPARENT for both idleBackground and hoverBackground.
  • Use LIGHT_TEXT (#A6A7A9) as the idle color and WHITE (white) as the hover color. Icons and nested text must follow the same state; inspect the element that paints the pixels if the Studio CSS reset blocks inheritance.

Focus styling

Remove the default outline and pointer-focus shadow, but preserve a visible keyboard focus indicator. Add FOCUS_VISIBLE_ONLY_CLASS_NAME from packages/studio/src/helpers/hoverable.ts to the control alongside HOVERABLE_CLASS_NAME. The shared class implements this pattern:

.__remotion-focus-visible-only:focus {
  outline: none;
  box-shadow: none;
}

.__remotion-focus-visible-only:focus-visible {
  box-shadow: ${FOCUS_BOX_SHADOW};
}

Never remove the :focus-visible indicator. Keep hidden actions out of the tab order until they are discoverable.

Verify

In a running Studio, check the control's computed styles in all relevant states:

  • idle and hovered cursor: default;
  • idle color: rgb(166, 167, 169);
  • hovered color: rgb(255, 255, 255);
  • pointer focus: no outline or box shadow;
  • keyboard Tab focus: the standard FOCUS_BOX_SHADOW is visible.

For Studio code changes, run:

bunx turbo run make --filter='@remotion/studio'
bunx turbo run lint test --filter='@remotion/studio'

Comments

Markdown supported