-
Notifications
You must be signed in to change notification settings - Fork 12.3k
Description
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
- Embed a Cal.com booking page using
@calcom/embed-reactwithlayout: 'month_view' - Hover over an available (non-disabled) date in the calendar
- Observe cursor remains as default arrow
- Hover over a time slot → cursor changes to pointer ✅
- 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:
- Add
cursor-pointerto enabled date button classes (consistent with time slots) - Or expand
EmbedStylestype to includecursorin the allowed properties forenabledDateButton