Skip to content
This repository was archived by the owner on May 19, 2025. It is now read-only.
This repository was archived by the owner on May 19, 2025. It is now read-only.

Show number of days when selecting date range #641

Description

@x-Foz3R-x

Subject of the issue

There seems to be no way of showing number of days when selecting date range.

Screenshot 2024-02-22 at 11 29 30

Is there a reliable workaround to have this?

I tried to create ::after on .rdrDayEndPreview and in content set number of days but it just was 1 update late

.rdrDayEndPreview::after {
  content: var(--day-number);
  background-color: hsl(232 9% 27%);
  color: white;
  position: absolute;
  top: -1.75rem;
  left: 50%;
  width: fit-content;
  transform: translateX(-50%);
  padding-block: 0.125rem;
  padding-inline: 0.25rem;
  border-radius: 0.375rem;
  text-align: center;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow:
    0 1px 2px rgba(0, 0, 0, 0.03),
    0 1px 4px rgba(0, 0, 0, 0.03),
    0 1px 8px rgba(0, 0, 0, 0.02);
  z-index: 10;
} 
<DateRange
  preview={preview}
  onPreviewChange={(previewDate) => {
    const element = document.querySelector(".rdrDayEndPreview") as HTMLElement | null;

    requestAnimationFrame(() => {
    if (selecting) {
      if (element) {
      element.style.setProperty("--day-number", `"${calculateDays(preview.startDate, previewDate)} days"`);
    }
    setPreview({ startDate: preview.startDate, endDate: previewDate });
    } else {
      if (element) element.style.setProperty("--day-number", '"1 day"');
      setPreview({ startDate: previewDate, endDate: previewDate });
    }
    });
  }}
/>

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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