From c16ad26d2d56c8bb553951ef561f2b57491a2cb1 Mon Sep 17 00:00:00 2001 From: Abhinav Raut Date: Tue, 21 Apr 2026 18:41:01 +0530 Subject: [PATCH] Add Range Calendar shadcn component for filters --- .../ui/range-calendar/RangeCalendar.vue | 98 +++++++++++++++++++ .../ui/range-calendar/RangeCalendarCell.vue | 30 ++++++ .../RangeCalendarCellTrigger.vue | 44 +++++++++ .../ui/range-calendar/RangeCalendarGrid.vue | 24 +++++ .../range-calendar/RangeCalendarGridBody.vue | 14 +++ .../range-calendar/RangeCalendarGridHead.vue | 14 +++ .../range-calendar/RangeCalendarGridRow.vue | 24 +++++ .../range-calendar/RangeCalendarHeadCell.vue | 29 ++++++ .../ui/range-calendar/RangeCalendarHeader.vue | 26 +++++ .../range-calendar/RangeCalendarHeading.vue | 29 ++++++ .../RangeCalendarNextButton.vue | 35 +++++++ .../RangeCalendarPrevButton.vue | 35 +++++++ .../components/ui/range-calendar/index.js | 12 +++ 13 files changed, 414 insertions(+) create mode 100644 frontend/shared-ui/components/ui/range-calendar/RangeCalendar.vue create mode 100644 frontend/shared-ui/components/ui/range-calendar/RangeCalendarCell.vue create mode 100644 frontend/shared-ui/components/ui/range-calendar/RangeCalendarCellTrigger.vue create mode 100644 frontend/shared-ui/components/ui/range-calendar/RangeCalendarGrid.vue create mode 100644 frontend/shared-ui/components/ui/range-calendar/RangeCalendarGridBody.vue create mode 100644 frontend/shared-ui/components/ui/range-calendar/RangeCalendarGridHead.vue create mode 100644 frontend/shared-ui/components/ui/range-calendar/RangeCalendarGridRow.vue create mode 100644 frontend/shared-ui/components/ui/range-calendar/RangeCalendarHeadCell.vue create mode 100644 frontend/shared-ui/components/ui/range-calendar/RangeCalendarHeader.vue create mode 100644 frontend/shared-ui/components/ui/range-calendar/RangeCalendarHeading.vue create mode 100644 frontend/shared-ui/components/ui/range-calendar/RangeCalendarNextButton.vue create mode 100644 frontend/shared-ui/components/ui/range-calendar/RangeCalendarPrevButton.vue create mode 100644 frontend/shared-ui/components/ui/range-calendar/index.js diff --git a/frontend/shared-ui/components/ui/range-calendar/RangeCalendar.vue b/frontend/shared-ui/components/ui/range-calendar/RangeCalendar.vue new file mode 100644 index 00000000..36315bbd --- /dev/null +++ b/frontend/shared-ui/components/ui/range-calendar/RangeCalendar.vue @@ -0,0 +1,98 @@ + + + diff --git a/frontend/shared-ui/components/ui/range-calendar/RangeCalendarCell.vue b/frontend/shared-ui/components/ui/range-calendar/RangeCalendarCell.vue new file mode 100644 index 00000000..efcc937f --- /dev/null +++ b/frontend/shared-ui/components/ui/range-calendar/RangeCalendarCell.vue @@ -0,0 +1,30 @@ + + + diff --git a/frontend/shared-ui/components/ui/range-calendar/RangeCalendarCellTrigger.vue b/frontend/shared-ui/components/ui/range-calendar/RangeCalendarCellTrigger.vue new file mode 100644 index 00000000..4850a4f3 --- /dev/null +++ b/frontend/shared-ui/components/ui/range-calendar/RangeCalendarCellTrigger.vue @@ -0,0 +1,44 @@ + + + diff --git a/frontend/shared-ui/components/ui/range-calendar/RangeCalendarGrid.vue b/frontend/shared-ui/components/ui/range-calendar/RangeCalendarGrid.vue new file mode 100644 index 00000000..ebfa707b --- /dev/null +++ b/frontend/shared-ui/components/ui/range-calendar/RangeCalendarGrid.vue @@ -0,0 +1,24 @@ + + + diff --git a/frontend/shared-ui/components/ui/range-calendar/RangeCalendarGridBody.vue b/frontend/shared-ui/components/ui/range-calendar/RangeCalendarGridBody.vue new file mode 100644 index 00000000..a6606232 --- /dev/null +++ b/frontend/shared-ui/components/ui/range-calendar/RangeCalendarGridBody.vue @@ -0,0 +1,14 @@ + + + diff --git a/frontend/shared-ui/components/ui/range-calendar/RangeCalendarGridHead.vue b/frontend/shared-ui/components/ui/range-calendar/RangeCalendarGridHead.vue new file mode 100644 index 00000000..44ceea4b --- /dev/null +++ b/frontend/shared-ui/components/ui/range-calendar/RangeCalendarGridHead.vue @@ -0,0 +1,14 @@ + + + diff --git a/frontend/shared-ui/components/ui/range-calendar/RangeCalendarGridRow.vue b/frontend/shared-ui/components/ui/range-calendar/RangeCalendarGridRow.vue new file mode 100644 index 00000000..06c82a30 --- /dev/null +++ b/frontend/shared-ui/components/ui/range-calendar/RangeCalendarGridRow.vue @@ -0,0 +1,24 @@ + + + diff --git a/frontend/shared-ui/components/ui/range-calendar/RangeCalendarHeadCell.vue b/frontend/shared-ui/components/ui/range-calendar/RangeCalendarHeadCell.vue new file mode 100644 index 00000000..2b355288 --- /dev/null +++ b/frontend/shared-ui/components/ui/range-calendar/RangeCalendarHeadCell.vue @@ -0,0 +1,29 @@ + + + diff --git a/frontend/shared-ui/components/ui/range-calendar/RangeCalendarHeader.vue b/frontend/shared-ui/components/ui/range-calendar/RangeCalendarHeader.vue new file mode 100644 index 00000000..bf9da38b --- /dev/null +++ b/frontend/shared-ui/components/ui/range-calendar/RangeCalendarHeader.vue @@ -0,0 +1,26 @@ + + + diff --git a/frontend/shared-ui/components/ui/range-calendar/RangeCalendarHeading.vue b/frontend/shared-ui/components/ui/range-calendar/RangeCalendarHeading.vue new file mode 100644 index 00000000..390ae890 --- /dev/null +++ b/frontend/shared-ui/components/ui/range-calendar/RangeCalendarHeading.vue @@ -0,0 +1,29 @@ + + + diff --git a/frontend/shared-ui/components/ui/range-calendar/RangeCalendarNextButton.vue b/frontend/shared-ui/components/ui/range-calendar/RangeCalendarNextButton.vue new file mode 100644 index 00000000..286be25f --- /dev/null +++ b/frontend/shared-ui/components/ui/range-calendar/RangeCalendarNextButton.vue @@ -0,0 +1,35 @@ + + + diff --git a/frontend/shared-ui/components/ui/range-calendar/RangeCalendarPrevButton.vue b/frontend/shared-ui/components/ui/range-calendar/RangeCalendarPrevButton.vue new file mode 100644 index 00000000..263ee632 --- /dev/null +++ b/frontend/shared-ui/components/ui/range-calendar/RangeCalendarPrevButton.vue @@ -0,0 +1,35 @@ + + + diff --git a/frontend/shared-ui/components/ui/range-calendar/index.js b/frontend/shared-ui/components/ui/range-calendar/index.js new file mode 100644 index 00000000..c7b3c6c5 --- /dev/null +++ b/frontend/shared-ui/components/ui/range-calendar/index.js @@ -0,0 +1,12 @@ +export { default as RangeCalendar } from "./RangeCalendar.vue"; +export { default as RangeCalendarCell } from "./RangeCalendarCell.vue"; +export { default as RangeCalendarCellTrigger } from "./RangeCalendarCellTrigger.vue"; +export { default as RangeCalendarGrid } from "./RangeCalendarGrid.vue"; +export { default as RangeCalendarGridBody } from "./RangeCalendarGridBody.vue"; +export { default as RangeCalendarGridHead } from "./RangeCalendarGridHead.vue"; +export { default as RangeCalendarGridRow } from "./RangeCalendarGridRow.vue"; +export { default as RangeCalendarHeadCell } from "./RangeCalendarHeadCell.vue"; +export { default as RangeCalendarHeader } from "./RangeCalendarHeader.vue"; +export { default as RangeCalendarHeading } from "./RangeCalendarHeading.vue"; +export { default as RangeCalendarNextButton } from "./RangeCalendarNextButton.vue"; +export { default as RangeCalendarPrevButton } from "./RangeCalendarPrevButton.vue";