Skip to content

Embed: enabled date buttons missing cursor:pointer (inconsistent with time slots and nav) #28530

@jessewunderlich

Description

@jessewunderlich

Bug Report

Describe the bug

In the Cal.com inline embed (via @calcom/embed-react), enabled/available date buttons in the calendar month view have cursor: default, while time slot buttons and month navigation buttons correctly show cursor: pointer. This creates an inconsistent UX where clickable dates don't visually indicate they're interactive.

Steps to reproduce

  1. Embed a Cal.com booking page using @calcom/embed-react with layout: 'month_view'
  2. Hover over an available (non-disabled) date in the calendar
  3. Observe cursor remains as default arrow
  4. Hover over a time slot → cursor changes to pointer ✅
  5. Hover over month navigation arrows → cursor changes to pointer ✅

Expected behavior

All clickable interactive elements should show cursor: pointer on hover, including enabled date buttons.

Root cause (from source inspection)

The date button elements have the class disabled:cursor-default but no explicit cursor-pointer class for the enabled state. The CSS reset in the embed stylesheet sets button, [role=button] { cursor: pointer } but this gets overridden by the component-level styles.

In contrast, time slot buttons explicitly include cursor-pointer in their class list.

Workaround attempted

Tried setting cursor: 'pointer' via the embed styles.enabledDateButton config, but the EmbedStyles type only allows background, color, and backgroundColor — cursor is not a supported property.

Environment

  • @calcom/embed-react: latest (npm)
  • @calcom/embed-core: latest
  • Browser: Chrome 135, Safari 20
  • Embed type: inline
  • Layout: month_view

Suggestion

Either:

  1. Add cursor-pointer to enabled date button classes (consistent with time slots)
  2. Or expand EmbedStyles type to include cursor in the allowed properties for enabledDateButton

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions