Skip to content

Commit

Permalink
added borderd dropdowns for month and year
Browse files Browse the repository at this point in the history
  • Loading branch information
ThusharaJ07 committed Jul 24, 2024
1 parent 509f61f commit 6e342aa
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 2 deletions.
2 changes: 2 additions & 0 deletions .changeset/bordered-datepicker.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ Added corner radius support for `DateInput` component in theme next.

Added 1px gap between Date Input and the menu.

Added borderedDropdown prop for `CalendarNavigation` component to display bordered months and year dropdown.

```
<DatePicker bordered />
<DateInput bordered />
Expand Down
7 changes: 6 additions & 1 deletion packages/lab/src/calendar/Calendar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ export type CalendarProps = useCalendarProps & {
className?: string;
renderDayContents?: CalendarCarouselProps["renderDayContents"];
hideYearDropdown?: CalendarNavigationProps["hideYearDropdown"];
borderedDropdown?: CalendarNavigationProps["borderedDropdown"];
TooltipProps?: CalendarCarouselProps["TooltipProps"];
hideOutOfRangeDates?: CalendarCarouselProps["hideOutOfRangeDates"];
};
Expand All @@ -37,6 +38,7 @@ export const Calendar = forwardRef<HTMLDivElement, CalendarProps>(
renderDayContents,
hideYearDropdown,
TooltipProps,
borderedDropdown,
...rest
} = props;

Expand Down Expand Up @@ -79,7 +81,10 @@ export const Calendar = forwardRef<HTMLDivElement, CalendarProps>(
aria-label={calendarLabel}
ref={ref}
>
<CalendarNavigation hideYearDropdown={hideYearDropdown} />
<CalendarNavigation
borderedDropdown={borderedDropdown}
hideYearDropdown={hideYearDropdown}
/>
<CalendarWeekHeader />
<CalendarCarousel
onFocus={handleFocus}
Expand Down
4 changes: 4 additions & 0 deletions packages/lab/src/calendar/internal/CalendarNavigation.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ export interface CalendarNavigationProps extends ComponentPropsWithRef<"div"> {
YearDropdownProps?: dateDropdownProps;
onMonthSelect?: dateDropdownProps["onChange"];
onYearSelect?: dateDropdownProps["onChange"];
borderedDropdown?: dateDropdownProps["bordered"];
onNavigateNext?: ButtonProps["onClick"];
onNavigatePrevious?: ButtonProps["onClick"];
hideYearDropdown?: boolean;
Expand Down Expand Up @@ -153,6 +154,7 @@ export const CalendarNavigation = forwardRef<
MonthDropdownProps,
YearDropdownProps,
hideYearDropdown,
borderedDropdown,
...rest
} = props;

Expand Down Expand Up @@ -233,6 +235,7 @@ export const CalendarNavigation = forwardRef<
</Tooltip>
<div className={withBaseName("dropdowns")}>
<Dropdown
bordered={borderedDropdown}
aria-label="Month Dropdown"
selected={selectedMonth ? [selectedMonth] : []}
value={formatMonth(selectedMonth)}
Expand All @@ -256,6 +259,7 @@ export const CalendarNavigation = forwardRef<
selected={selectedYear ? [selectedYear] : []}
value={formatYear(selectedYear)}
onSelectionChange={handleYearSelect}
bordered={borderedDropdown}
{...YearDropdownProps}
>
{years.map((year) => (
Expand Down
4 changes: 3 additions & 1 deletion packages/lab/src/date-picker/DatePicker.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,7 @@ export const DatePicker = forwardRef<
onSelectionChange,
onChange,
visibleMonths = 2,
bordered,
...rest
},
ref,
Expand Down Expand Up @@ -249,6 +250,7 @@ export const DatePicker = forwardRef<
<DatePickerContext.Provider value={datePickerContextValue}>
<DateInput
validationStatus={validationStatus}
bordered={bordered}
className={clsx(withBaseName(), className)}
ref={inputRef}
{...getReferenceProps()}
Expand All @@ -275,7 +277,7 @@ export const DatePicker = forwardRef<
ref={floatingRef}
{...getFloatingProps()}
onSelect={handleSelect}
CalendarProps={CalendarProps}
CalendarProps={{ ...CalendarProps, borderedDropdown: bordered }}
helperText={helperText}
visibleMonths={visibleMonths}
/>
Expand Down

0 comments on commit 6e342aa

Please sign in to comment.