@flipdish/ui-library 0.21.0 → 0.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/__internal__/statusIcon/statusIcon.types.d.ts +12 -0
- package/dist/components/__internal__/statusIcon/statusIcon.types.d.ts.map +1 -0
- package/dist/components/__internal__/statusIcon/statusIcon.utils.cjs +21 -0
- package/dist/components/__internal__/statusIcon/statusIcon.utils.cjs.map +1 -0
- package/dist/components/__internal__/statusIcon/statusIcon.utils.d.ts +5 -0
- package/dist/components/__internal__/statusIcon/statusIcon.utils.d.ts.map +1 -0
- package/dist/components/__internal__/statusIcon/statusIcon.utils.js +19 -0
- package/dist/components/__internal__/statusIcon/statusIcon.utils.js.map +1 -0
- package/dist/components/atoms/BackgroundPattern/components/grid-check.cjs +14 -7
- package/dist/components/atoms/BackgroundPattern/components/grid-check.cjs.map +1 -1
- package/dist/components/atoms/BackgroundPattern/components/grid-check.d.ts.map +1 -1
- package/dist/components/atoms/BackgroundPattern/components/grid-check.js +14 -7
- package/dist/components/atoms/BackgroundPattern/components/grid-check.js.map +1 -1
- package/dist/components/atoms/BackgroundPattern/index.d.ts.map +1 -1
- package/dist/components/atoms/Badge/index.cjs +16 -3
- package/dist/components/atoms/Badge/index.cjs.map +1 -1
- package/dist/components/atoms/Badge/index.d.ts +13 -24
- package/dist/components/atoms/Badge/index.d.ts.map +1 -1
- package/dist/components/atoms/Badge/index.js +16 -3
- package/dist/components/atoms/Badge/index.js.map +1 -1
- package/dist/components/atoms/Dot/Dot.styles.cjs +51 -0
- package/dist/components/atoms/Dot/Dot.styles.cjs.map +1 -0
- package/dist/components/atoms/Dot/Dot.styles.d.ts +109 -0
- package/dist/components/atoms/Dot/Dot.styles.d.ts.map +1 -0
- package/dist/components/atoms/Dot/Dot.styles.js +49 -0
- package/dist/components/atoms/Dot/Dot.styles.js.map +1 -0
- package/dist/components/atoms/Dot/index.cjs +5 -14
- package/dist/components/atoms/Dot/index.cjs.map +1 -1
- package/dist/components/atoms/Dot/index.d.ts +11 -3
- package/dist/components/atoms/Dot/index.d.ts.map +1 -1
- package/dist/components/atoms/Dot/index.js +5 -14
- package/dist/components/atoms/Dot/index.js.map +1 -1
- package/dist/components/molecules/Alert/index.cjs +3 -11
- package/dist/components/molecules/Alert/index.cjs.map +1 -1
- package/dist/components/molecules/Alert/index.d.ts +3 -2
- package/dist/components/molecules/Alert/index.d.ts.map +1 -1
- package/dist/components/molecules/Alert/index.js +3 -11
- package/dist/components/molecules/Alert/index.js.map +1 -1
- package/dist/components/molecules/Carousel/index.cjs +1 -1
- package/dist/components/molecules/Carousel/index.cjs.map +1 -1
- package/dist/components/molecules/Carousel/index.js +1 -1
- package/dist/components/molecules/Carousel/index.js.map +1 -1
- package/dist/components/molecules/Notification/index.cjs +3 -10
- package/dist/components/molecules/Notification/index.cjs.map +1 -1
- package/dist/components/molecules/Notification/index.d.ts +2 -1
- package/dist/components/molecules/Notification/index.d.ts.map +1 -1
- package/dist/components/molecules/Notification/index.js +3 -10
- package/dist/components/molecules/Notification/index.js.map +1 -1
- package/dist/components/molecules/Pagination/index.cjs +4 -4
- package/dist/components/molecules/Pagination/index.cjs.map +1 -1
- package/dist/components/molecules/Pagination/index.js +5 -5
- package/dist/components/molecules/Pagination/index.js.map +1 -1
- package/dist/components/molecules/Tags/index.cjs +1 -1
- package/dist/components/molecules/Tags/index.cjs.map +1 -1
- package/dist/components/molecules/Tags/index.js +1 -1
- package/dist/components/molecules/Tags/index.js.map +1 -1
- package/dist/components/organisms/ActivityFeed/index.cjs +1 -1
- package/dist/components/organisms/ActivityFeed/index.cjs.map +1 -1
- package/dist/components/organisms/ActivityFeed/index.js +1 -1
- package/dist/components/organisms/ActivityFeed/index.js.map +1 -1
- package/dist/components/organisms/Calendar/calendar.utils.cjs +41 -0
- package/dist/components/organisms/Calendar/calendar.utils.cjs.map +1 -1
- package/dist/components/organisms/Calendar/calendar.utils.d.ts +20 -0
- package/dist/components/organisms/Calendar/calendar.utils.d.ts.map +1 -1
- package/dist/components/organisms/Calendar/calendar.utils.js +37 -1
- package/dist/components/organisms/Calendar/calendar.utils.js.map +1 -1
- package/dist/components/organisms/Calendar/components/calendar-day-view.cjs +86 -0
- package/dist/components/organisms/Calendar/components/calendar-day-view.cjs.map +1 -0
- package/dist/components/organisms/Calendar/components/calendar-day-view.d.ts +20 -0
- package/dist/components/organisms/Calendar/components/calendar-day-view.d.ts.map +1 -0
- package/dist/components/organisms/Calendar/components/calendar-day-view.js +84 -0
- package/dist/components/organisms/Calendar/components/calendar-day-view.js.map +1 -0
- package/dist/components/organisms/Calendar/components/calendar-mobile-day-grid.cjs +21 -0
- package/dist/components/organisms/Calendar/components/calendar-mobile-day-grid.cjs.map +1 -0
- package/dist/components/organisms/Calendar/components/calendar-mobile-day-grid.d.ts +16 -0
- package/dist/components/organisms/Calendar/components/calendar-mobile-day-grid.d.ts.map +1 -0
- package/dist/components/organisms/Calendar/components/calendar-mobile-day-grid.js +19 -0
- package/dist/components/organisms/Calendar/components/calendar-mobile-day-grid.js.map +1 -0
- package/dist/components/organisms/Calendar/components/calendar-month-view.cjs +265 -0
- package/dist/components/organisms/Calendar/components/calendar-month-view.cjs.map +1 -0
- package/dist/components/organisms/Calendar/components/calendar-month-view.d.ts +18 -0
- package/dist/components/organisms/Calendar/components/calendar-month-view.d.ts.map +1 -0
- package/dist/components/organisms/Calendar/components/calendar-month-view.js +263 -0
- package/dist/components/organisms/Calendar/components/calendar-month-view.js.map +1 -0
- package/dist/components/organisms/Calendar/components/calendar-positioned-event.cjs +41 -0
- package/dist/components/organisms/Calendar/components/calendar-positioned-event.cjs.map +1 -0
- package/dist/components/organisms/Calendar/components/calendar-positioned-event.d.ts +15 -0
- package/dist/components/organisms/Calendar/components/calendar-positioned-event.d.ts.map +1 -0
- package/dist/components/organisms/Calendar/components/calendar-positioned-event.js +39 -0
- package/dist/components/organisms/Calendar/components/calendar-positioned-event.js.map +1 -0
- package/dist/components/organisms/Calendar/components/calendar-week-view-day.cjs +23 -0
- package/dist/components/organisms/Calendar/components/calendar-week-view-day.cjs.map +1 -0
- package/dist/components/organisms/Calendar/components/calendar-week-view-day.d.ts +15 -0
- package/dist/components/organisms/Calendar/components/calendar-week-view-day.d.ts.map +1 -0
- package/dist/components/organisms/Calendar/components/calendar-week-view-day.js +21 -0
- package/dist/components/organisms/Calendar/components/calendar-week-view-day.js.map +1 -0
- package/dist/components/organisms/Calendar/components/calendar-week-view.cjs +77 -0
- package/dist/components/organisms/Calendar/components/calendar-week-view.cjs.map +1 -0
- package/dist/components/organisms/Calendar/components/calendar-week-view.d.ts +20 -0
- package/dist/components/organisms/Calendar/components/calendar-week-view.d.ts.map +1 -0
- package/dist/components/organisms/Calendar/components/calendar-week-view.js +75 -0
- package/dist/components/organisms/Calendar/components/calendar-week-view.js.map +1 -0
- package/dist/components/organisms/Calendar/index.cjs +4 -504
- package/dist/components/organisms/Calendar/index.cjs.map +1 -1
- package/dist/components/organisms/Calendar/index.d.ts +1 -1
- package/dist/components/organisms/Calendar/index.d.ts.map +1 -1
- package/dist/components/organisms/Calendar/index.js +6 -506
- package/dist/components/organisms/Calendar/index.js.map +1 -1
- package/dist/components/organisms/Charts/components/activity-gauge.cjs +4 -0
- package/dist/components/organisms/Charts/components/activity-gauge.cjs.map +1 -1
- package/dist/components/organisms/Charts/components/activity-gauge.d.ts +4 -0
- package/dist/components/organisms/Charts/components/activity-gauge.d.ts.map +1 -1
- package/dist/components/organisms/Charts/components/activity-gauge.js +4 -0
- package/dist/components/organisms/Charts/components/activity-gauge.js.map +1 -1
- package/dist/components/organisms/Charts/components/bar-chart.cjs +1 -1
- package/dist/components/organisms/Charts/components/bar-chart.cjs.map +1 -1
- package/dist/components/organisms/Charts/components/bar-chart.d.ts +1 -2
- package/dist/components/organisms/Charts/components/bar-chart.d.ts.map +1 -1
- package/dist/components/organisms/Charts/components/bar-chart.js +2 -2
- package/dist/components/organisms/Charts/components/bar-chart.js.map +1 -1
- package/dist/components/organisms/Charts/components/charts-base.cjs +1 -2
- package/dist/components/organisms/Charts/components/charts-base.cjs.map +1 -1
- package/dist/components/organisms/Charts/components/charts-base.d.ts +13 -2
- package/dist/components/organisms/Charts/components/charts-base.d.ts.map +1 -1
- package/dist/components/organisms/Charts/components/charts-base.js +1 -2
- package/dist/components/organisms/Charts/components/charts-base.js.map +1 -1
- package/dist/components/organisms/Charts/components/line-chart.cjs +1 -1
- package/dist/components/organisms/Charts/components/line-chart.cjs.map +1 -1
- package/dist/components/organisms/Charts/components/line-chart.d.ts +1 -2
- package/dist/components/organisms/Charts/components/line-chart.d.ts.map +1 -1
- package/dist/components/organisms/Charts/components/line-chart.js +2 -2
- package/dist/components/organisms/Charts/components/line-chart.js.map +1 -1
- package/dist/components/organisms/Charts/components/pie-chart.cjs +5 -0
- package/dist/components/organisms/Charts/components/pie-chart.cjs.map +1 -1
- package/dist/components/organisms/Charts/components/pie-chart.d.ts +6 -2
- package/dist/components/organisms/Charts/components/pie-chart.d.ts.map +1 -1
- package/dist/components/organisms/Charts/components/pie-chart.js +5 -0
- package/dist/components/organisms/Charts/components/pie-chart.js.map +1 -1
- package/dist/components/organisms/Charts/components/radar-chart.cjs +3 -4
- package/dist/components/organisms/Charts/components/radar-chart.cjs.map +1 -1
- package/dist/components/organisms/Charts/components/radar-chart.d.ts.map +1 -1
- package/dist/components/organisms/Charts/components/radar-chart.js +3 -4
- package/dist/components/organisms/Charts/components/radar-chart.js.map +1 -1
- package/dist/components/organisms/DatePicker/components/range-calendar.cjs +1 -1
- package/dist/components/organisms/DatePicker/components/range-calendar.cjs.map +1 -1
- package/dist/components/organisms/DatePicker/components/range-calendar.js +2 -2
- package/dist/components/organisms/DatePicker/components/range-calendar.js.map +1 -1
- package/dist/components/organisms/GradientPicker/components/gradient-area.cjs +157 -0
- package/dist/components/organisms/GradientPicker/components/gradient-area.cjs.map +1 -0
- package/dist/components/organisms/GradientPicker/components/gradient-area.d.ts +17 -0
- package/dist/components/organisms/GradientPicker/components/gradient-area.d.ts.map +1 -0
- package/dist/components/organisms/GradientPicker/components/gradient-area.js +155 -0
- package/dist/components/organisms/GradientPicker/components/gradient-area.js.map +1 -0
- package/dist/components/organisms/GradientPicker/components/gradient-reverse-button.cjs +17 -0
- package/dist/components/organisms/GradientPicker/components/gradient-reverse-button.cjs.map +1 -0
- package/dist/components/organisms/GradientPicker/components/gradient-reverse-button.d.ts +3 -0
- package/dist/components/organisms/GradientPicker/components/gradient-reverse-button.d.ts.map +1 -0
- package/dist/components/organisms/GradientPicker/components/gradient-reverse-button.js +15 -0
- package/dist/components/organisms/GradientPicker/components/gradient-reverse-button.js.map +1 -0
- package/dist/components/organisms/GradientPicker/components/gradient-slider.cjs +71 -0
- package/dist/components/organisms/GradientPicker/components/gradient-slider.cjs.map +1 -0
- package/dist/components/organisms/GradientPicker/components/gradient-slider.d.ts +7 -0
- package/dist/components/organisms/GradientPicker/components/gradient-slider.d.ts.map +1 -0
- package/dist/components/organisms/GradientPicker/components/gradient-slider.js +69 -0
- package/dist/components/organisms/GradientPicker/components/gradient-slider.js.map +1 -0
- package/dist/components/organisms/GradientPicker/components/gradient-stop-list.cjs +18 -0
- package/dist/components/organisms/GradientPicker/components/gradient-stop-list.cjs.map +1 -0
- package/dist/components/organisms/GradientPicker/components/gradient-stop-list.d.ts +4 -0
- package/dist/components/organisms/GradientPicker/components/gradient-stop-list.d.ts.map +1 -0
- package/dist/components/organisms/GradientPicker/components/gradient-stop-list.js +16 -0
- package/dist/components/organisms/GradientPicker/components/gradient-stop-list.js.map +1 -0
- package/dist/components/organisms/GradientPicker/components/gradient-stop-row.cjs +49 -0
- package/dist/components/organisms/GradientPicker/components/gradient-stop-row.cjs.map +1 -0
- package/dist/components/organisms/GradientPicker/components/gradient-stop-row.d.ts +6 -0
- package/dist/components/organisms/GradientPicker/components/gradient-stop-row.d.ts.map +1 -0
- package/dist/components/organisms/GradientPicker/components/gradient-stop-row.js +47 -0
- package/dist/components/organisms/GradientPicker/components/gradient-stop-row.js.map +1 -0
- package/dist/components/organisms/GradientPicker/components/gradient-type-select.cjs +28 -0
- package/dist/components/organisms/GradientPicker/components/gradient-type-select.cjs.map +1 -0
- package/dist/components/organisms/GradientPicker/components/gradient-type-select.d.ts +3 -0
- package/dist/components/organisms/GradientPicker/components/gradient-type-select.d.ts.map +1 -0
- package/dist/components/organisms/GradientPicker/components/gradient-type-select.js +26 -0
- package/dist/components/organisms/GradientPicker/components/gradient-type-select.js.map +1 -0
- package/dist/components/organisms/GradientPicker/components/position-input.cjs +43 -0
- package/dist/components/organisms/GradientPicker/components/position-input.cjs.map +1 -0
- package/dist/components/organisms/GradientPicker/components/position-input.d.ts +6 -0
- package/dist/components/organisms/GradientPicker/components/position-input.d.ts.map +1 -0
- package/dist/components/organisms/GradientPicker/components/position-input.js +41 -0
- package/dist/components/organisms/GradientPicker/components/position-input.js.map +1 -0
- package/dist/components/organisms/GradientPicker/index.cjs +11 -327
- package/dist/components/organisms/GradientPicker/index.cjs.map +1 -1
- package/dist/components/organisms/GradientPicker/index.d.ts +7 -8
- package/dist/components/organisms/GradientPicker/index.d.ts.map +1 -1
- package/dist/components/organisms/GradientPicker/index.js +7 -323
- package/dist/components/organisms/GradientPicker/index.js.map +1 -1
- package/dist/components/organisms/HeaderNavigation/components/nav-account-card.cjs +1 -1
- package/dist/components/organisms/HeaderNavigation/components/nav-account-card.cjs.map +1 -1
- package/dist/components/organisms/HeaderNavigation/components/nav-account-card.js +2 -2
- package/dist/components/organisms/HeaderNavigation/components/nav-account-card.js.map +1 -1
- package/dist/components/organisms/HeaderNavigation/components/nav-button.cjs +1 -1
- package/dist/components/organisms/HeaderNavigation/components/nav-button.cjs.map +1 -1
- package/dist/components/organisms/HeaderNavigation/components/nav-button.d.ts.map +1 -1
- package/dist/components/organisms/HeaderNavigation/components/nav-button.js +1 -1
- package/dist/components/organisms/HeaderNavigation/components/nav-button.js.map +1 -1
- package/dist/components/organisms/SidebarNavigation/components/nav-account-card.cjs +1 -1
- package/dist/components/organisms/SidebarNavigation/components/nav-account-card.cjs.map +1 -1
- package/dist/components/organisms/SidebarNavigation/components/nav-account-card.js +2 -2
- package/dist/components/organisms/SidebarNavigation/components/nav-account-card.js.map +1 -1
- package/dist/components/organisms/SidebarNavigation/index.cjs +1 -1
- package/dist/components/organisms/SidebarNavigation/index.cjs.map +1 -1
- package/dist/components/organisms/SidebarNavigation/index.js +2 -2
- package/dist/components/organisms/SidebarNavigation/index.js.map +1 -1
- package/dist/components/organisms/VideoPlayer/hooks/useVideoPlayback.cjs +169 -0
- package/dist/components/organisms/VideoPlayer/hooks/useVideoPlayback.cjs.map +1 -0
- package/dist/components/organisms/VideoPlayer/hooks/useVideoPlayback.d.ts +34 -0
- package/dist/components/organisms/VideoPlayer/hooks/useVideoPlayback.d.ts.map +1 -0
- package/dist/components/organisms/VideoPlayer/hooks/useVideoPlayback.js +167 -0
- package/dist/components/organisms/VideoPlayer/hooks/useVideoPlayback.js.map +1 -0
- package/dist/components/organisms/VideoPlayer/hooks/useVideoVolume.cjs +75 -0
- package/dist/components/organisms/VideoPlayer/hooks/useVideoVolume.cjs.map +1 -0
- package/dist/components/organisms/VideoPlayer/hooks/useVideoVolume.d.ts +16 -0
- package/dist/components/organisms/VideoPlayer/hooks/useVideoVolume.d.ts.map +1 -0
- package/dist/components/organisms/VideoPlayer/hooks/useVideoVolume.js +73 -0
- package/dist/components/organisms/VideoPlayer/hooks/useVideoVolume.js.map +1 -0
- package/dist/components/organisms/VideoPlayer/index.cjs +9 -182
- package/dist/components/organisms/VideoPlayer/index.cjs.map +1 -1
- package/dist/components/organisms/VideoPlayer/index.d.ts.map +1 -1
- package/dist/components/organisms/VideoPlayer/index.js +10 -183
- package/dist/components/organisms/VideoPlayer/index.js.map +1 -1
- package/dist/hooks/useBreakpoints/index.cjs +4 -1
- package/dist/hooks/useBreakpoints/index.cjs.map +1 -1
- package/dist/hooks/useBreakpoints/index.d.ts +2 -0
- package/dist/hooks/useBreakpoints/index.d.ts.map +1 -1
- package/dist/hooks/useBreakpoints/index.js +4 -2
- package/dist/hooks/useBreakpoints/index.js.map +1 -1
- package/dist/native/components/atoms/Dot/Dot.styles.d.ts +109 -0
- package/dist/native/components/atoms/Dot/Dot.styles.d.ts.map +1 -0
- package/dist/native/components/atoms/Dot/Dot.styles.js +49 -0
- package/dist/native/components/atoms/Dot/Dot.styles.js.map +1 -0
- package/dist/native/components/atoms/Dot/index.d.ts +24 -8
- package/dist/native/components/atoms/Dot/index.d.ts.map +1 -0
- package/dist/native/components/atoms/Dot/index.js +25 -0
- package/dist/native/components/atoms/Dot/index.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var date = require('@internationalized/date');
|
|
4
|
+
|
|
3
5
|
/**
|
|
4
6
|
* ISO 8601 week-of-year: weeks start on Monday and week 1 is the week containing
|
|
5
7
|
* the year's first Thursday, so the result ranges 1–53 and never resets mid-year.
|
|
@@ -11,6 +13,45 @@ const getISOWeek = (date) => {
|
|
|
11
13
|
const yearStart = Date.UTC(utc.getUTCFullYear(), 0, 1);
|
|
12
14
|
return Math.ceil(((utc.getTime() - yearStart) / 86400000 + 1) / 7);
|
|
13
15
|
};
|
|
16
|
+
/** Fixed row height (px) for a 30-minute slot in the day/week time grids. */
|
|
17
|
+
const SLOT_HEIGHT = 48;
|
|
18
|
+
const getStartOfDay = (date$1, timeZone) => {
|
|
19
|
+
const zoned = date$1 instanceof date.CalendarDate ? date.toZoned(date$1, timeZone) : date$1;
|
|
20
|
+
return zoned.set({ hour: 0, minute: 0, second: 0, millisecond: 0 });
|
|
21
|
+
};
|
|
22
|
+
const getEndOfDay = (date$1, timeZone) => {
|
|
23
|
+
const zoned = date$1 instanceof date.CalendarDate ? date.toZoned(date$1, timeZone) : date$1;
|
|
24
|
+
return zoned.set({ hour: 23, minute: 59, second: 59, millisecond: 999 });
|
|
25
|
+
};
|
|
26
|
+
const getDaysInVisibleMonthGrid = (anchorDate, locale) => {
|
|
27
|
+
const monthStart = date.startOfMonth(anchorDate);
|
|
28
|
+
const monthEnd = date.endOfMonth(anchorDate);
|
|
29
|
+
const weekStart = date.startOfWeek(monthStart, locale);
|
|
30
|
+
const weekEnd = date.endOfWeek(monthEnd, locale);
|
|
31
|
+
const days = [];
|
|
32
|
+
let day = weekStart;
|
|
33
|
+
while (day.compare(weekEnd) <= 0) {
|
|
34
|
+
days.push(day);
|
|
35
|
+
day = day.add({ days: 1 });
|
|
36
|
+
}
|
|
37
|
+
return days;
|
|
38
|
+
};
|
|
39
|
+
const getEventsForDay = (allEvents, targetDate, timeZone) => {
|
|
40
|
+
const dayStart = getStartOfDay(targetDate, timeZone);
|
|
41
|
+
// Next day's midnight, not `getEndOfDay` (23:59:59.999): a strict `<` against the latter would drop an event starting in the day's final millisecond.
|
|
42
|
+
const nextDayStart = getStartOfDay(targetDate.add({ days: 1 }), timeZone);
|
|
43
|
+
return allEvents
|
|
44
|
+
.filter((event) => {
|
|
45
|
+
// `end` is exclusive: an event ending exactly at midnight belongs to the previous day only.
|
|
46
|
+
return event.start.compare(nextDayStart) < 0 && event.end.compare(dayStart) > 0;
|
|
47
|
+
})
|
|
48
|
+
.sort((a, b) => a.start.compare(b.start));
|
|
49
|
+
};
|
|
14
50
|
|
|
51
|
+
exports.SLOT_HEIGHT = SLOT_HEIGHT;
|
|
52
|
+
exports.getDaysInVisibleMonthGrid = getDaysInVisibleMonthGrid;
|
|
53
|
+
exports.getEndOfDay = getEndOfDay;
|
|
54
|
+
exports.getEventsForDay = getEventsForDay;
|
|
15
55
|
exports.getISOWeek = getISOWeek;
|
|
56
|
+
exports.getStartOfDay = getStartOfDay;
|
|
16
57
|
//# sourceMappingURL=calendar.utils.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar.utils.cjs","sources":["../../../../src/components/organisms/Calendar/calendar.utils.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"calendar.utils.cjs","sources":["../../../../src/components/organisms/Calendar/calendar.utils.ts"],"sourcesContent":[null],"names":["date","CalendarDate","toZoned","startOfMonth","endOfMonth","startOfWeek","endOfWeek"],"mappings":"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"}
|
|
@@ -1,6 +1,26 @@
|
|
|
1
|
+
import { CalendarDate, type ZonedDateTime } from '@internationalized/date';
|
|
2
|
+
import type { EventViewColor } from './components/calendar-month-view-event';
|
|
1
3
|
/**
|
|
2
4
|
* ISO 8601 week-of-year: weeks start on Monday and week 1 is the week containing
|
|
3
5
|
* the year's first Thursday, so the result ranges 1–53 and never resets mid-year.
|
|
4
6
|
*/
|
|
5
7
|
export declare const getISOWeek: (date: Date) => number;
|
|
8
|
+
/** Fixed row height (px) for a 30-minute slot in the day/week time grids. */
|
|
9
|
+
export declare const SLOT_HEIGHT = 48;
|
|
10
|
+
/** A `CalendarEvent` with its `start`/`end` resolved to the viewer's time zone. */
|
|
11
|
+
export type ZonedEvent = {
|
|
12
|
+
id: string;
|
|
13
|
+
title: string;
|
|
14
|
+
start: ZonedDateTime;
|
|
15
|
+
end: ZonedDateTime;
|
|
16
|
+
color?: EventViewColor;
|
|
17
|
+
dot?: boolean;
|
|
18
|
+
};
|
|
19
|
+
export declare const getStartOfDay: (date: ZonedDateTime | CalendarDate, timeZone: string) => ZonedDateTime;
|
|
20
|
+
export declare const getEndOfDay: (date: ZonedDateTime | CalendarDate, timeZone: string) => ZonedDateTime;
|
|
21
|
+
export declare const getDaysInVisibleMonthGrid: (anchorDate: CalendarDate, locale: string) => CalendarDate[];
|
|
22
|
+
export declare const getEventsForDay: <T extends {
|
|
23
|
+
start: ZonedDateTime;
|
|
24
|
+
end: ZonedDateTime;
|
|
25
|
+
}>(allEvents: T[], targetDate: CalendarDate, timeZone: string) => T[];
|
|
6
26
|
//# sourceMappingURL=calendar.utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar.utils.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/Calendar/calendar.utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,MAAM,IAAI,KAAG,MAMvC,CAAC"}
|
|
1
|
+
{"version":3,"file":"calendar.utils.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/Calendar/calendar.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA6D,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACtI,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAE7E;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,MAAM,IAAI,KAAG,MAMvC,CAAC;AAEF,6EAA6E;AAC7E,eAAO,MAAM,WAAW,KAAK,CAAC;AAE9B,mFAAmF;AACnF,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,aAAa,CAAC;IACrB,GAAG,EAAE,aAAa,CAAC;IACnB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,MAAM,aAAa,GAAG,YAAY,EAAE,UAAU,MAAM,KAAG,aAIpF,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,MAAM,aAAa,GAAG,YAAY,EAAE,UAAU,MAAM,KAAG,aAIlF,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,YAAY,YAAY,EAAE,QAAQ,MAAM,KAAG,YAAY,EAahG,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS;IAAE,KAAK,EAAE,aAAa,CAAC;IAAC,GAAG,EAAE,aAAa,CAAA;CAAE,EACpF,WAAW,CAAC,EAAE,EACd,YAAY,YAAY,EACxB,UAAU,MAAM,KACf,CAAC,EAWH,CAAC"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { startOfMonth, endOfMonth, startOfWeek, endOfWeek, CalendarDate, toZoned } from '@internationalized/date';
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* ISO 8601 week-of-year: weeks start on Monday and week 1 is the week containing
|
|
3
5
|
* the year's first Thursday, so the result ranges 1–53 and never resets mid-year.
|
|
@@ -9,6 +11,40 @@ const getISOWeek = (date) => {
|
|
|
9
11
|
const yearStart = Date.UTC(utc.getUTCFullYear(), 0, 1);
|
|
10
12
|
return Math.ceil(((utc.getTime() - yearStart) / 86400000 + 1) / 7);
|
|
11
13
|
};
|
|
14
|
+
/** Fixed row height (px) for a 30-minute slot in the day/week time grids. */
|
|
15
|
+
const SLOT_HEIGHT = 48;
|
|
16
|
+
const getStartOfDay = (date, timeZone) => {
|
|
17
|
+
const zoned = date instanceof CalendarDate ? toZoned(date, timeZone) : date;
|
|
18
|
+
return zoned.set({ hour: 0, minute: 0, second: 0, millisecond: 0 });
|
|
19
|
+
};
|
|
20
|
+
const getEndOfDay = (date, timeZone) => {
|
|
21
|
+
const zoned = date instanceof CalendarDate ? toZoned(date, timeZone) : date;
|
|
22
|
+
return zoned.set({ hour: 23, minute: 59, second: 59, millisecond: 999 });
|
|
23
|
+
};
|
|
24
|
+
const getDaysInVisibleMonthGrid = (anchorDate, locale) => {
|
|
25
|
+
const monthStart = startOfMonth(anchorDate);
|
|
26
|
+
const monthEnd = endOfMonth(anchorDate);
|
|
27
|
+
const weekStart = startOfWeek(monthStart, locale);
|
|
28
|
+
const weekEnd = endOfWeek(monthEnd, locale);
|
|
29
|
+
const days = [];
|
|
30
|
+
let day = weekStart;
|
|
31
|
+
while (day.compare(weekEnd) <= 0) {
|
|
32
|
+
days.push(day);
|
|
33
|
+
day = day.add({ days: 1 });
|
|
34
|
+
}
|
|
35
|
+
return days;
|
|
36
|
+
};
|
|
37
|
+
const getEventsForDay = (allEvents, targetDate, timeZone) => {
|
|
38
|
+
const dayStart = getStartOfDay(targetDate, timeZone);
|
|
39
|
+
// Next day's midnight, not `getEndOfDay` (23:59:59.999): a strict `<` against the latter would drop an event starting in the day's final millisecond.
|
|
40
|
+
const nextDayStart = getStartOfDay(targetDate.add({ days: 1 }), timeZone);
|
|
41
|
+
return allEvents
|
|
42
|
+
.filter((event) => {
|
|
43
|
+
// `end` is exclusive: an event ending exactly at midnight belongs to the previous day only.
|
|
44
|
+
return event.start.compare(nextDayStart) < 0 && event.end.compare(dayStart) > 0;
|
|
45
|
+
})
|
|
46
|
+
.sort((a, b) => a.start.compare(b.start));
|
|
47
|
+
};
|
|
12
48
|
|
|
13
|
-
export { getISOWeek };
|
|
49
|
+
export { SLOT_HEIGHT, getDaysInVisibleMonthGrid, getEndOfDay, getEventsForDay, getISOWeek, getStartOfDay };
|
|
14
50
|
//# sourceMappingURL=calendar.utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar.utils.js","sources":["../../../../src/components/organisms/Calendar/calendar.utils.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"calendar.utils.js","sources":["../../../../src/components/organisms/Calendar/calendar.utils.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var uiIcons = require('@flipdish/ui-icons');
|
|
5
|
+
var Avatar = require('@flipdish/ui-library/components/atoms/Avatar');
|
|
6
|
+
var Button = require('@flipdish/ui-library/components/atoms/Button');
|
|
7
|
+
var UtilityButton = require('@flipdish/ui-library/components/atoms/UtilityButton');
|
|
8
|
+
var cx = require('@flipdish/ui-library/utilities/cx');
|
|
9
|
+
var date = require('@internationalized/date');
|
|
10
|
+
var React = require('react');
|
|
11
|
+
var reactAriaComponents = require('react-aria-components');
|
|
12
|
+
var cell = require('../../DatePicker/components/cell.cjs');
|
|
13
|
+
var calendar_utils = require('../calendar.utils.cjs');
|
|
14
|
+
var calendarColumnHeader = require('./calendar-column-header.cjs');
|
|
15
|
+
var calendarMobileDayGrid = require('./calendar-mobile-day-grid.cjs');
|
|
16
|
+
var calendarRowLabel = require('./calendar-row-label.cjs');
|
|
17
|
+
var calendarTimeMarker = require('./calendar-time-marker.cjs');
|
|
18
|
+
|
|
19
|
+
const DayView = ({ dayToDisplay, zonedEvents, locale, timeZone, currentTime, setSelectedDate, shortWeekdayFormatter, timeFormatter, hourOnlyFormatter, selectedDate, className, view, }) => {
|
|
20
|
+
const currentWeekStart = date.startOfWeek(dayToDisplay, locale);
|
|
21
|
+
const currentWeekEnd = date.endOfWeek(dayToDisplay, locale);
|
|
22
|
+
const localCurrentTime = currentTime;
|
|
23
|
+
const formatTime = (dateTime) => timeFormatter.format(dateTime.toDate());
|
|
24
|
+
const showTimeMarker = date.isSameDay(date.toCalendarDate(localCurrentTime), dayToDisplay);
|
|
25
|
+
const hours = Array.from({ length: 24 }, (_, i) => i);
|
|
26
|
+
let timeMarkerTop = 0;
|
|
27
|
+
if (showTimeMarker) {
|
|
28
|
+
const minutesFromDayStart = localCurrentTime.hour * 60 + localCurrentTime.minute;
|
|
29
|
+
timeMarkerTop = (minutesFromDayStart / 30) * calendar_utils.SLOT_HEIGHT;
|
|
30
|
+
}
|
|
31
|
+
const visibleEvents = React.useMemo(() => calendar_utils.getEventsForDay(zonedEvents, dayToDisplay, timeZone), [zonedEvents, dayToDisplay, timeZone]);
|
|
32
|
+
const highlightedDates = React.useMemo(() => {
|
|
33
|
+
const datesWithEvents = new Set();
|
|
34
|
+
zonedEvents.forEach((event) => {
|
|
35
|
+
let currentDate = date.toCalendarDate(event.start);
|
|
36
|
+
const endDate = date.toCalendarDate(event.end);
|
|
37
|
+
while (currentDate.compare(endDate) <= 0) {
|
|
38
|
+
datesWithEvents.add(currentDate.toString());
|
|
39
|
+
currentDate = currentDate.add({ days: 1 });
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
return datesWithEvents;
|
|
43
|
+
}, [zonedEvents]);
|
|
44
|
+
const days = [];
|
|
45
|
+
let dayIterator = currentWeekStart;
|
|
46
|
+
while (dayIterator.compare(currentWeekEnd) <= 0) {
|
|
47
|
+
days.push(dayIterator);
|
|
48
|
+
dayIterator = dayIterator.add({ days: 1 });
|
|
49
|
+
}
|
|
50
|
+
const scrollContainerRef = React.useRef(null);
|
|
51
|
+
const earliestEventTime = React.useMemo(() => {
|
|
52
|
+
if (visibleEvents.length === 0) {
|
|
53
|
+
// No events: default the scroll target to 8 AM.
|
|
54
|
+
return date.toZoned(dayToDisplay, timeZone).set({ hour: 8 });
|
|
55
|
+
}
|
|
56
|
+
return visibleEvents.reduce((earliest, current) => {
|
|
57
|
+
return current.start.compare(earliest.start) < 0 ? current : earliest;
|
|
58
|
+
}).start;
|
|
59
|
+
}, [visibleEvents, dayToDisplay, timeZone]);
|
|
60
|
+
// biome-ignore lint/correctness/useExhaustiveDependencies: We need to include view, earliestEventTime, and dayToDisplay in the dependency array to re-trigger on changes
|
|
61
|
+
React.useLayoutEffect(() => {
|
|
62
|
+
if (view === 'day' && scrollContainerRef.current && earliestEventTime) {
|
|
63
|
+
const startMinutes = earliestEventTime.hour * 60 + earliestEventTime.minute;
|
|
64
|
+
let targetScrollTop = Math.max(0, (startMinutes / 30) * calendar_utils.SLOT_HEIGHT);
|
|
65
|
+
// One slot of breathing room above the first event.
|
|
66
|
+
targetScrollTop = Math.max(0, targetScrollTop - calendar_utils.SLOT_HEIGHT);
|
|
67
|
+
if (scrollContainerRef.current) {
|
|
68
|
+
scrollContainerRef.current.scrollTop = targetScrollTop;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}, [view, earliestEventTime, dayToDisplay]);
|
|
72
|
+
return (jsxRuntime.jsxs("div", { className: cx.cx('flex flex-1 flex-col overflow-auto', className), children: [jsxRuntime.jsx("div", { className: "sticky top-0 z-20 grid grid-cols-7 bg-primary shadow-sm lg:hidden dark:border-b dark:border-secondary", children: days.map((day) => {
|
|
73
|
+
const isTodayFlag = date.isToday(day, timeZone);
|
|
74
|
+
const dayToHighlight = selectedDate && day.compare(currentWeekStart) >= 0 && day.compare(currentWeekEnd) <= 0 ? selectedDate : currentWeekStart;
|
|
75
|
+
const isSelectedFlag = date.isSameDay(day, dayToHighlight);
|
|
76
|
+
const weekDayShort = shortWeekdayFormatter.format(day.toDate(timeZone));
|
|
77
|
+
return (jsxRuntime.jsx(calendarColumnHeader.CalendarColumnHeader, { onClick: () => setSelectedDate(day), weekDay: weekDayShort, day: day.day, state: isSelectedFlag ? 'selected' : isTodayFlag ? 'current' : 'default', className: "cursor-pointer" }, `mobile-header-${day.toString()}`));
|
|
78
|
+
}) }), jsxRuntime.jsxs("div", { className: "flex h-full flex-1", children: [jsxRuntime.jsxs("div", { ref: scrollContainerRef, tabIndex: 0, className: "relative flex h-full flex-1 overflow-auto", children: [jsxRuntime.jsx("div", { className: "flex h-max w-14 flex-col border-r border-secondary md:w-18", children: hours.map((hour) => {
|
|
79
|
+
const time = new date.CalendarDateTime(dayToDisplay.year, dayToDisplay.month, dayToDisplay.day, hour);
|
|
80
|
+
const timeString = hourOnlyFormatter.format(date.toZoned(time, timeZone).toDate());
|
|
81
|
+
return jsxRuntime.jsx(calendarRowLabel.CalendarRowLabel, { children: timeString }, `time-${hour}`);
|
|
82
|
+
}) }), jsxRuntime.jsx(calendarMobileDayGrid.MobileSingleDayGrid, { dayToDisplay: dayToDisplay, dayEvents: visibleEvents, timeZone: timeZone, locale: locale, currentTime: currentTime, setSelectedDate: setSelectedDate, timeFormatter: timeFormatter }), showTimeMarker && jsxRuntime.jsx(calendarTimeMarker.CalendarTimeMarker, { style: { top: `${timeMarkerTop}px` }, children: formatTime(localCurrentTime) })] }), jsxRuntime.jsxs("div", { className: "sticky top-0 hidden h-full w-82 flex-col overflow-auto border-l border-secondary mask-b-from-94% lg:flex", children: [jsxRuntime.jsxs(reactAriaComponents.Calendar, { "aria-label": "Calendar", className: "px-6 py-5", value: selectedDate, onChange: (value) => setSelectedDate(value), children: [jsxRuntime.jsxs("div", { className: "mb-3 flex items-center justify-between", children: [jsxRuntime.jsx(Button.Button, { slot: "previous", iconLeading: uiIcons.ChevronLeft, size: "sm", color: "tertiary", className: "size-8" }), jsxRuntime.jsx(reactAriaComponents.Heading, { className: "text-sm font-semibold text-fg-secondary" }), jsxRuntime.jsx(Button.Button, { slot: "next", iconLeading: uiIcons.ChevronRight, size: "sm", color: "tertiary", className: "size-8" })] }), jsxRuntime.jsxs(reactAriaComponents.CalendarGrid, { weekdayStyle: "short", className: "w-max", children: [jsxRuntime.jsx(reactAriaComponents.CalendarGridHeader, { className: "border-b-4 border-transparent", children: (day) => (jsxRuntime.jsx(reactAriaComponents.CalendarHeaderCell, { className: "p-0", children: jsxRuntime.jsx("div", { className: "flex size-10 items-center justify-center text-sm font-medium text-secondary", children: day.slice(0, 2) }) })) }), jsxRuntime.jsx(reactAriaComponents.CalendarGridBody, { className: "[&_td]:p-0 [&_tr]:border-b-4 [&_tr]:border-transparent [&_tr:last-of-type]:border-none", children: (date) => jsxRuntime.jsx(cell.CalendarCell, { date: date, isHighlighted: highlightedDates.has(date.toString()) }) })] })] }), jsxRuntime.jsxs("div", { className: "flex flex-col gap-5 border-t border-secondary px-6 py-5", children: [jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [jsxRuntime.jsxs("section", { className: "flex w-full justify-between", children: [jsxRuntime.jsx("p", { className: "text-md font-semibold text-primary", children: "Product demo" }), jsxRuntime.jsxs("div", { className: "-mt-2 -mr-2 flex gap-0.5", children: [jsxRuntime.jsx(UtilityButton.ButtonUtility, { size: "xs", color: "tertiary", tooltip: "Copy link", icon: uiIcons.Copy01 }), jsxRuntime.jsx(UtilityButton.ButtonUtility, { size: "xs", color: "tertiary", tooltip: "Delete", icon: uiIcons.Trash01 }), jsxRuntime.jsx(UtilityButton.ButtonUtility, { size: "xs", color: "tertiary", tooltip: "Edit", icon: uiIcons.Edit01 })] })] }), jsxRuntime.jsxs("section", { className: "flex flex-col gap-1.5", children: [jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5", children: [jsxRuntime.jsx(uiIcons.Calendar, { className: "size-4 stroke-[2.25px] text-fg-quaternary" }), jsxRuntime.jsx("p", { className: "text-sm text-tertiary", children: "Friday, Jan 10, 2027" })] }), jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5", children: [jsxRuntime.jsx(uiIcons.Clock, { className: "size-4 stroke-[2.25px] text-fg-quaternary" }), jsxRuntime.jsx("p", { className: "text-sm text-tertiary", children: "1:30 PM - 3:30 PM" })] }), jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5", children: [jsxRuntime.jsx(uiIcons.BellRinging01, { className: "size-4 stroke-[2.25px] text-fg-quaternary" }), jsxRuntime.jsx("p", { className: "text-sm text-tertiary", children: "10 min before" })] })] })] }), jsxRuntime.jsxs("div", { className: "flex flex-col gap-3", children: [jsxRuntime.jsxs("section", { className: "flex gap-2", children: [jsxRuntime.jsxs("section", { className: "flex flex-row -space-x-2", children: [jsxRuntime.jsx(Avatar.Avatar, { className: "ring-[1.5px] ring-bg-primary", src: "https://www.untitledui.com/images/avatars/sienna-hewitt?fm=webp&q=80", alt: "Sienna Hewitt", size: "sm" }), jsxRuntime.jsx(Avatar.Avatar, { className: "ring-[1.5px] ring-bg-primary", src: "https://www.untitledui.com/images/avatars/ammar-foley?fm=webp&q=80", alt: "Ammar Foley", size: "sm" }), jsxRuntime.jsx(Avatar.Avatar, { className: "ring-[1.5px] ring-bg-primary", src: "https://www.untitledui.com/images/avatars/pippa-wilkinson?fm=webp&q=80", alt: "Pippa Wilkinson", size: "sm" }), jsxRuntime.jsx(Avatar.Avatar, { className: "ring-[1.5px] ring-bg-primary", src: "https://www.untitledui.com/images/avatars/olly-schroeder?fm=webp&q=80", alt: "Olly Schroeder", size: "sm" }), jsxRuntime.jsx(Avatar.Avatar, { className: "ring-[1.5px] ring-bg-primary", src: "https://www.untitledui.com/images/avatars/mathilde-lewis?fm=webp&q=80", alt: "Mathilde Lewis", size: "sm" }), jsxRuntime.jsx(Avatar.Avatar, { className: "ring-[1.5px] ring-bg-primary", initials: "OR", size: "sm" })] }), jsxRuntime.jsx(Avatar.AvatarAddButton, { size: "sm" })] }), jsxRuntime.jsxs("section", { className: "flex items-center gap-2", children: [jsxRuntime.jsx("p", { className: "text-sm font-semibold text-primary", children: "6 guests" }), jsxRuntime.jsx("span", { className: "h-[13px] border-l border-primary" }), jsxRuntime.jsx("p", { className: "text-sm text-tertiary", children: "5 yes" }), jsxRuntime.jsx("span", { className: "h-[13px] border-l border-primary" }), jsxRuntime.jsx("p", { className: "text-sm text-tertiary", children: "1 awaiting" })] })] }), jsxRuntime.jsxs("section", { className: "flex flex-col gap-2", children: [jsxRuntime.jsx("p", { className: "text-sm font-semibold text-primary", children: "About this event" }), jsxRuntime.jsxs("div", { className: "text-sm text-tertiary", children: [jsxRuntime.jsx("p", { children: "Sienna is inviting you to a scheduled Zoom meeting." }), jsxRuntime.jsx("br", {}), jsxRuntime.jsx("p", { children: "Topic: Product demo for the new dashboard and Q&A session." }), jsxRuntime.jsx("br", {}), jsxRuntime.jsxs("p", { className: "wrap-break-word whitespace-normal", children: ["Join Zoom Meeting:\u00A0", jsxRuntime.jsx("span", { className: "break-all underline", children: "https://us02web.zoom.us/j/86341969512" }), "\u00A0"] }), jsxRuntime.jsx("br", {}), jsxRuntime.jsx("p", { children: "Meeting ID: 863 4196 9512" })] })] })] })] })] })] }));
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
exports.DayView = DayView;
|
|
86
|
+
//# sourceMappingURL=calendar-day-view.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calendar-day-view.cjs","sources":["../../../../../src/components/organisms/Calendar/components/calendar-day-view.tsx"],"sourcesContent":[null],"names":["startOfWeek","endOfWeek","isSameDay","toCalendarDate","SLOT_HEIGHT","useMemo","getEventsForDay","useRef","toZoned","useLayoutEffect","_jsxs","cx","_jsx","isDateToday","CalendarColumnHeader","CalendarDateTime","CalendarRowLabel","MobileSingleDayGrid","CalendarTimeMarker","AriaCalendar","Button","ChevronLeft","AriaHeading","ChevronRight","AriaCalendarGrid","AriaCalendarGridHeader","AriaCalendarHeaderCell","AriaCalendarGridBody","CalendarCell","ButtonUtility","Copy01","Trash01","Edit01","CalendarIcon","Clock","BellRinging01","Avatar","AvatarAddButton"],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type CalendarDate, type ZonedDateTime } from '@internationalized/date';
|
|
2
|
+
import type { DateFormatter } from '@react-aria/i18n';
|
|
3
|
+
import { type ZonedEvent } from '../calendar.utils';
|
|
4
|
+
interface DayViewProps {
|
|
5
|
+
dayToDisplay: CalendarDate;
|
|
6
|
+
selectedDate: CalendarDate | null;
|
|
7
|
+
zonedEvents: ZonedEvent[];
|
|
8
|
+
locale: string;
|
|
9
|
+
timeZone: string;
|
|
10
|
+
currentTime: ZonedDateTime;
|
|
11
|
+
setSelectedDate: (date: CalendarDate | null) => void;
|
|
12
|
+
shortWeekdayFormatter: DateFormatter;
|
|
13
|
+
timeFormatter: DateFormatter;
|
|
14
|
+
hourOnlyFormatter: DateFormatter;
|
|
15
|
+
className?: string;
|
|
16
|
+
view?: string;
|
|
17
|
+
}
|
|
18
|
+
export declare const DayView: ({ dayToDisplay, zonedEvents, locale, timeZone, currentTime, setSelectedDate, shortWeekdayFormatter, timeFormatter, hourOnlyFormatter, selectedDate, className, view, }: DayViewProps) => import("react").JSX.Element;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=calendar-day-view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calendar-day-view.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/Calendar/components/calendar-day-view.tsx"],"names":[],"mappings":"AAOA,OAAO,EACL,KAAK,YAAY,EAQjB,KAAK,aAAa,EACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAWtD,OAAO,EAAgC,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAMlF,UAAU,YAAY;IACpB,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,aAAa,CAAC;IAC3B,eAAe,EAAE,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,KAAK,IAAI,CAAC;IACrD,qBAAqB,EAAE,aAAa,CAAC;IACrC,aAAa,EAAE,aAAa,CAAC;IAC7B,iBAAiB,EAAE,aAAa,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,OAAO,GAAI,wKAarB,YAAY,gCAkOd,CAAC"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { ChevronLeft, ChevronRight, Copy01, Trash01, Edit01, Calendar as Calendar$1, Clock, BellRinging01 } from '@flipdish/ui-icons';
|
|
3
|
+
import { Avatar, AvatarAddButton } from '@flipdish/ui-library/components/atoms/Avatar';
|
|
4
|
+
import { Button } from '@flipdish/ui-library/components/atoms/Button';
|
|
5
|
+
import { ButtonUtility } from '@flipdish/ui-library/components/atoms/UtilityButton';
|
|
6
|
+
import { cx } from '@flipdish/ui-library/utilities/cx';
|
|
7
|
+
import { startOfWeek, endOfWeek, isSameDay, toCalendarDate, toZoned, isToday, CalendarDateTime } from '@internationalized/date';
|
|
8
|
+
import { useMemo, useRef, useLayoutEffect } from 'react';
|
|
9
|
+
import { Calendar, Heading, CalendarGrid, CalendarGridHeader, CalendarHeaderCell, CalendarGridBody } from 'react-aria-components';
|
|
10
|
+
import { CalendarCell } from '../../DatePicker/components/cell.js';
|
|
11
|
+
import { getEventsForDay, SLOT_HEIGHT } from '../calendar.utils.js';
|
|
12
|
+
import { CalendarColumnHeader } from './calendar-column-header.js';
|
|
13
|
+
import { MobileSingleDayGrid } from './calendar-mobile-day-grid.js';
|
|
14
|
+
import { CalendarRowLabel } from './calendar-row-label.js';
|
|
15
|
+
import { CalendarTimeMarker } from './calendar-time-marker.js';
|
|
16
|
+
|
|
17
|
+
const DayView = ({ dayToDisplay, zonedEvents, locale, timeZone, currentTime, setSelectedDate, shortWeekdayFormatter, timeFormatter, hourOnlyFormatter, selectedDate, className, view, }) => {
|
|
18
|
+
const currentWeekStart = startOfWeek(dayToDisplay, locale);
|
|
19
|
+
const currentWeekEnd = endOfWeek(dayToDisplay, locale);
|
|
20
|
+
const localCurrentTime = currentTime;
|
|
21
|
+
const formatTime = (dateTime) => timeFormatter.format(dateTime.toDate());
|
|
22
|
+
const showTimeMarker = isSameDay(toCalendarDate(localCurrentTime), dayToDisplay);
|
|
23
|
+
const hours = Array.from({ length: 24 }, (_, i) => i);
|
|
24
|
+
let timeMarkerTop = 0;
|
|
25
|
+
if (showTimeMarker) {
|
|
26
|
+
const minutesFromDayStart = localCurrentTime.hour * 60 + localCurrentTime.minute;
|
|
27
|
+
timeMarkerTop = (minutesFromDayStart / 30) * SLOT_HEIGHT;
|
|
28
|
+
}
|
|
29
|
+
const visibleEvents = useMemo(() => getEventsForDay(zonedEvents, dayToDisplay, timeZone), [zonedEvents, dayToDisplay, timeZone]);
|
|
30
|
+
const highlightedDates = useMemo(() => {
|
|
31
|
+
const datesWithEvents = new Set();
|
|
32
|
+
zonedEvents.forEach((event) => {
|
|
33
|
+
let currentDate = toCalendarDate(event.start);
|
|
34
|
+
const endDate = toCalendarDate(event.end);
|
|
35
|
+
while (currentDate.compare(endDate) <= 0) {
|
|
36
|
+
datesWithEvents.add(currentDate.toString());
|
|
37
|
+
currentDate = currentDate.add({ days: 1 });
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
return datesWithEvents;
|
|
41
|
+
}, [zonedEvents]);
|
|
42
|
+
const days = [];
|
|
43
|
+
let dayIterator = currentWeekStart;
|
|
44
|
+
while (dayIterator.compare(currentWeekEnd) <= 0) {
|
|
45
|
+
days.push(dayIterator);
|
|
46
|
+
dayIterator = dayIterator.add({ days: 1 });
|
|
47
|
+
}
|
|
48
|
+
const scrollContainerRef = useRef(null);
|
|
49
|
+
const earliestEventTime = useMemo(() => {
|
|
50
|
+
if (visibleEvents.length === 0) {
|
|
51
|
+
// No events: default the scroll target to 8 AM.
|
|
52
|
+
return toZoned(dayToDisplay, timeZone).set({ hour: 8 });
|
|
53
|
+
}
|
|
54
|
+
return visibleEvents.reduce((earliest, current) => {
|
|
55
|
+
return current.start.compare(earliest.start) < 0 ? current : earliest;
|
|
56
|
+
}).start;
|
|
57
|
+
}, [visibleEvents, dayToDisplay, timeZone]);
|
|
58
|
+
// biome-ignore lint/correctness/useExhaustiveDependencies: We need to include view, earliestEventTime, and dayToDisplay in the dependency array to re-trigger on changes
|
|
59
|
+
useLayoutEffect(() => {
|
|
60
|
+
if (view === 'day' && scrollContainerRef.current && earliestEventTime) {
|
|
61
|
+
const startMinutes = earliestEventTime.hour * 60 + earliestEventTime.minute;
|
|
62
|
+
let targetScrollTop = Math.max(0, (startMinutes / 30) * SLOT_HEIGHT);
|
|
63
|
+
// One slot of breathing room above the first event.
|
|
64
|
+
targetScrollTop = Math.max(0, targetScrollTop - SLOT_HEIGHT);
|
|
65
|
+
if (scrollContainerRef.current) {
|
|
66
|
+
scrollContainerRef.current.scrollTop = targetScrollTop;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}, [view, earliestEventTime, dayToDisplay]);
|
|
70
|
+
return (jsxs("div", { className: cx('flex flex-1 flex-col overflow-auto', className), children: [jsx("div", { className: "sticky top-0 z-20 grid grid-cols-7 bg-primary shadow-sm lg:hidden dark:border-b dark:border-secondary", children: days.map((day) => {
|
|
71
|
+
const isTodayFlag = isToday(day, timeZone);
|
|
72
|
+
const dayToHighlight = selectedDate && day.compare(currentWeekStart) >= 0 && day.compare(currentWeekEnd) <= 0 ? selectedDate : currentWeekStart;
|
|
73
|
+
const isSelectedFlag = isSameDay(day, dayToHighlight);
|
|
74
|
+
const weekDayShort = shortWeekdayFormatter.format(day.toDate(timeZone));
|
|
75
|
+
return (jsx(CalendarColumnHeader, { onClick: () => setSelectedDate(day), weekDay: weekDayShort, day: day.day, state: isSelectedFlag ? 'selected' : isTodayFlag ? 'current' : 'default', className: "cursor-pointer" }, `mobile-header-${day.toString()}`));
|
|
76
|
+
}) }), jsxs("div", { className: "flex h-full flex-1", children: [jsxs("div", { ref: scrollContainerRef, tabIndex: 0, className: "relative flex h-full flex-1 overflow-auto", children: [jsx("div", { className: "flex h-max w-14 flex-col border-r border-secondary md:w-18", children: hours.map((hour) => {
|
|
77
|
+
const time = new CalendarDateTime(dayToDisplay.year, dayToDisplay.month, dayToDisplay.day, hour);
|
|
78
|
+
const timeString = hourOnlyFormatter.format(toZoned(time, timeZone).toDate());
|
|
79
|
+
return jsx(CalendarRowLabel, { children: timeString }, `time-${hour}`);
|
|
80
|
+
}) }), jsx(MobileSingleDayGrid, { dayToDisplay: dayToDisplay, dayEvents: visibleEvents, timeZone: timeZone, locale: locale, currentTime: currentTime, setSelectedDate: setSelectedDate, timeFormatter: timeFormatter }), showTimeMarker && jsx(CalendarTimeMarker, { style: { top: `${timeMarkerTop}px` }, children: formatTime(localCurrentTime) })] }), jsxs("div", { className: "sticky top-0 hidden h-full w-82 flex-col overflow-auto border-l border-secondary mask-b-from-94% lg:flex", children: [jsxs(Calendar, { "aria-label": "Calendar", className: "px-6 py-5", value: selectedDate, onChange: (value) => setSelectedDate(value), children: [jsxs("div", { className: "mb-3 flex items-center justify-between", children: [jsx(Button, { slot: "previous", iconLeading: ChevronLeft, size: "sm", color: "tertiary", className: "size-8" }), jsx(Heading, { className: "text-sm font-semibold text-fg-secondary" }), jsx(Button, { slot: "next", iconLeading: ChevronRight, size: "sm", color: "tertiary", className: "size-8" })] }), jsxs(CalendarGrid, { weekdayStyle: "short", className: "w-max", children: [jsx(CalendarGridHeader, { className: "border-b-4 border-transparent", children: (day) => (jsx(CalendarHeaderCell, { className: "p-0", children: jsx("div", { className: "flex size-10 items-center justify-center text-sm font-medium text-secondary", children: day.slice(0, 2) }) })) }), jsx(CalendarGridBody, { className: "[&_td]:p-0 [&_tr]:border-b-4 [&_tr]:border-transparent [&_tr:last-of-type]:border-none", children: (date) => jsx(CalendarCell, { date: date, isHighlighted: highlightedDates.has(date.toString()) }) })] })] }), jsxs("div", { className: "flex flex-col gap-5 border-t border-secondary px-6 py-5", children: [jsxs("div", { className: "flex flex-col gap-2", children: [jsxs("section", { className: "flex w-full justify-between", children: [jsx("p", { className: "text-md font-semibold text-primary", children: "Product demo" }), jsxs("div", { className: "-mt-2 -mr-2 flex gap-0.5", children: [jsx(ButtonUtility, { size: "xs", color: "tertiary", tooltip: "Copy link", icon: Copy01 }), jsx(ButtonUtility, { size: "xs", color: "tertiary", tooltip: "Delete", icon: Trash01 }), jsx(ButtonUtility, { size: "xs", color: "tertiary", tooltip: "Edit", icon: Edit01 })] })] }), jsxs("section", { className: "flex flex-col gap-1.5", children: [jsxs("div", { className: "flex items-center gap-1.5", children: [jsx(Calendar$1, { className: "size-4 stroke-[2.25px] text-fg-quaternary" }), jsx("p", { className: "text-sm text-tertiary", children: "Friday, Jan 10, 2027" })] }), jsxs("div", { className: "flex items-center gap-1.5", children: [jsx(Clock, { className: "size-4 stroke-[2.25px] text-fg-quaternary" }), jsx("p", { className: "text-sm text-tertiary", children: "1:30 PM - 3:30 PM" })] }), jsxs("div", { className: "flex items-center gap-1.5", children: [jsx(BellRinging01, { className: "size-4 stroke-[2.25px] text-fg-quaternary" }), jsx("p", { className: "text-sm text-tertiary", children: "10 min before" })] })] })] }), jsxs("div", { className: "flex flex-col gap-3", children: [jsxs("section", { className: "flex gap-2", children: [jsxs("section", { className: "flex flex-row -space-x-2", children: [jsx(Avatar, { className: "ring-[1.5px] ring-bg-primary", src: "https://www.untitledui.com/images/avatars/sienna-hewitt?fm=webp&q=80", alt: "Sienna Hewitt", size: "sm" }), jsx(Avatar, { className: "ring-[1.5px] ring-bg-primary", src: "https://www.untitledui.com/images/avatars/ammar-foley?fm=webp&q=80", alt: "Ammar Foley", size: "sm" }), jsx(Avatar, { className: "ring-[1.5px] ring-bg-primary", src: "https://www.untitledui.com/images/avatars/pippa-wilkinson?fm=webp&q=80", alt: "Pippa Wilkinson", size: "sm" }), jsx(Avatar, { className: "ring-[1.5px] ring-bg-primary", src: "https://www.untitledui.com/images/avatars/olly-schroeder?fm=webp&q=80", alt: "Olly Schroeder", size: "sm" }), jsx(Avatar, { className: "ring-[1.5px] ring-bg-primary", src: "https://www.untitledui.com/images/avatars/mathilde-lewis?fm=webp&q=80", alt: "Mathilde Lewis", size: "sm" }), jsx(Avatar, { className: "ring-[1.5px] ring-bg-primary", initials: "OR", size: "sm" })] }), jsx(AvatarAddButton, { size: "sm" })] }), jsxs("section", { className: "flex items-center gap-2", children: [jsx("p", { className: "text-sm font-semibold text-primary", children: "6 guests" }), jsx("span", { className: "h-[13px] border-l border-primary" }), jsx("p", { className: "text-sm text-tertiary", children: "5 yes" }), jsx("span", { className: "h-[13px] border-l border-primary" }), jsx("p", { className: "text-sm text-tertiary", children: "1 awaiting" })] })] }), jsxs("section", { className: "flex flex-col gap-2", children: [jsx("p", { className: "text-sm font-semibold text-primary", children: "About this event" }), jsxs("div", { className: "text-sm text-tertiary", children: [jsx("p", { children: "Sienna is inviting you to a scheduled Zoom meeting." }), jsx("br", {}), jsx("p", { children: "Topic: Product demo for the new dashboard and Q&A session." }), jsx("br", {}), jsxs("p", { className: "wrap-break-word whitespace-normal", children: ["Join Zoom Meeting:\u00A0", jsx("span", { className: "break-all underline", children: "https://us02web.zoom.us/j/86341969512" }), "\u00A0"] }), jsx("br", {}), jsx("p", { children: "Meeting ID: 863 4196 9512" })] })] })] })] })] })] }));
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
export { DayView };
|
|
84
|
+
//# sourceMappingURL=calendar-day-view.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calendar-day-view.js","sources":["../../../../../src/components/organisms/Calendar/components/calendar-day-view.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx","isDateToday","AriaCalendar","AriaHeading","AriaCalendarGrid","AriaCalendarGridHeader","AriaCalendarHeaderCell","AriaCalendarGridBody","CalendarIcon"],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var cx = require('@flipdish/ui-library/utilities/cx');
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var calendar_utils = require('../calendar.utils.cjs');
|
|
7
|
+
var calendarDwViewCell = require('./calendar-dw-view-cell.cjs');
|
|
8
|
+
var calendarPositionedEvent = require('./calendar-positioned-event.cjs');
|
|
9
|
+
|
|
10
|
+
const MobileSingleDayGrid = ({ dayToDisplay, dayEvents, timeZone, setSelectedDate, timeFormatter, className }) => {
|
|
11
|
+
const dayStart = React.useMemo(() => calendar_utils.getStartOfDay(dayToDisplay, timeZone), [dayToDisplay, timeZone]); // Calculate once
|
|
12
|
+
return (jsxRuntime.jsxs("div", { className: cx.cx('relative flex-1', className), children: [Array.from({ length: 48 }).map((_, slotIndex) => (jsxRuntime.jsx(calendarDwViewCell.CalendarDwViewCell
|
|
13
|
+
// biome-ignore lint/suspicious/noArrayIndexKey: This is a key for the slot
|
|
14
|
+
, { className: cx.cx('before:border-r-0', slotIndex === 47 && 'before:border-b-0') }, `mobile-slot-${dayToDisplay.toString()}-${slotIndex}`))), dayEvents.map((event, index) => {
|
|
15
|
+
const overlapIndex = dayEvents.filter((e, i) => i < index && event.start.compare(e.end) < 0 && event.end.compare(e.start) > 0).length;
|
|
16
|
+
return (jsxRuntime.jsx(calendarPositionedEvent.PositionedEvent, { event: event, dayStart: dayStart, timeZone: timeZone, slotHeight: calendar_utils.SLOT_HEIGHT, overlapIndex: overlapIndex, setSelectedDate: setSelectedDate, timeFormatter: timeFormatter }, event.id));
|
|
17
|
+
})] }));
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
exports.MobileSingleDayGrid = MobileSingleDayGrid;
|
|
21
|
+
//# sourceMappingURL=calendar-mobile-day-grid.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calendar-mobile-day-grid.cjs","sources":["../../../../../src/components/organisms/Calendar/components/calendar-mobile-day-grid.tsx"],"sourcesContent":[null],"names":["useMemo","getStartOfDay","_jsxs","cx","_jsx","CalendarDwViewCell","PositionedEvent","SLOT_HEIGHT"],"mappings":";;;;;;;;;AAqBO,MAAM,mBAAmB,GAAG,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,SAAS,EAA4B,KAAI;IAChJ,MAAM,QAAQ,GAAGA,aAAO,CAAC,MAAMC,4BAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEhG,IAAA,QACEC,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAEC,KAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC,EAAA,QAAA,EAAA,CAC7C,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,MAC3CC,eAACC;;AAGC,cAAA,EAAA,SAAS,EAAEF,KAAE,CAAC,mBAAmB,EAAE,SAAS,KAAK,EAAE,IAAI,mBAAmB,CAAC,EAAA,EADtE,CAAA,YAAA,EAAe,YAAY,CAAC,QAAQ,EAAE,CAAA,CAAA,EAAI,SAAS,CAAA,CAAE,CAE1D,CACH,CAAC,EAED,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,KAAI;gBAC9B,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;AAErI,gBAAA,QACEC,cAAA,CAACE,uCAAe,EAAA,EAEd,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAEC,0BAAW,EACvB,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,EAAA,EAPvB,KAAK,CAAC,EAAE,CAQb;YAEN,CAAC,CAAC,CAAA,EAAA,CACE;AAEV;;;;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { CalendarDate, ZonedDateTime } from '@internationalized/date';
|
|
2
|
+
import type { DateFormatter } from '@react-aria/i18n';
|
|
3
|
+
import { type ZonedEvent } from '../calendar.utils';
|
|
4
|
+
interface MobileSingleDayGridProps {
|
|
5
|
+
dayToDisplay: CalendarDate;
|
|
6
|
+
dayEvents: ZonedEvent[];
|
|
7
|
+
timeZone: string;
|
|
8
|
+
locale: string;
|
|
9
|
+
currentTime: ZonedDateTime;
|
|
10
|
+
setSelectedDate: (date: CalendarDate | null) => void;
|
|
11
|
+
timeFormatter: DateFormatter;
|
|
12
|
+
className?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare const MobileSingleDayGrid: ({ dayToDisplay, dayEvents, timeZone, setSelectedDate, timeFormatter, className }: MobileSingleDayGridProps) => import("react").JSX.Element;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=calendar-mobile-day-grid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calendar-mobile-day-grid.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/Calendar/components/calendar-mobile-day-grid.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAA8B,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIhF,UAAU,wBAAwB;IAChC,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,aAAa,CAAC;IAC3B,eAAe,EAAE,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,KAAK,IAAI,CAAC;IACrD,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,mBAAmB,GAAI,kFAAkF,wBAAwB,gCA+B7I,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { cx } from '@flipdish/ui-library/utilities/cx';
|
|
3
|
+
import { useMemo } from 'react';
|
|
4
|
+
import { getStartOfDay, SLOT_HEIGHT } from '../calendar.utils.js';
|
|
5
|
+
import { CalendarDwViewCell } from './calendar-dw-view-cell.js';
|
|
6
|
+
import { PositionedEvent } from './calendar-positioned-event.js';
|
|
7
|
+
|
|
8
|
+
const MobileSingleDayGrid = ({ dayToDisplay, dayEvents, timeZone, setSelectedDate, timeFormatter, className }) => {
|
|
9
|
+
const dayStart = useMemo(() => getStartOfDay(dayToDisplay, timeZone), [dayToDisplay, timeZone]); // Calculate once
|
|
10
|
+
return (jsxs("div", { className: cx('relative flex-1', className), children: [Array.from({ length: 48 }).map((_, slotIndex) => (jsx(CalendarDwViewCell
|
|
11
|
+
// biome-ignore lint/suspicious/noArrayIndexKey: This is a key for the slot
|
|
12
|
+
, { className: cx('before:border-r-0', slotIndex === 47 && 'before:border-b-0') }, `mobile-slot-${dayToDisplay.toString()}-${slotIndex}`))), dayEvents.map((event, index) => {
|
|
13
|
+
const overlapIndex = dayEvents.filter((e, i) => i < index && event.start.compare(e.end) < 0 && event.end.compare(e.start) > 0).length;
|
|
14
|
+
return (jsx(PositionedEvent, { event: event, dayStart: dayStart, timeZone: timeZone, slotHeight: SLOT_HEIGHT, overlapIndex: overlapIndex, setSelectedDate: setSelectedDate, timeFormatter: timeFormatter }, event.id));
|
|
15
|
+
})] }));
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export { MobileSingleDayGrid };
|
|
19
|
+
//# sourceMappingURL=calendar-mobile-day-grid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calendar-mobile-day-grid.js","sources":["../../../../../src/components/organisms/Calendar/components/calendar-mobile-day-grid.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":";;;;;;;AAqBO,MAAM,mBAAmB,GAAG,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,SAAS,EAA4B,KAAI;IAChJ,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEhG,IAAA,QACEA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC,EAAA,QAAA,EAAA,CAC7C,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,MAC3CC,IAAC;;AAGC,cAAA,EAAA,SAAS,EAAE,EAAE,CAAC,mBAAmB,EAAE,SAAS,KAAK,EAAE,IAAI,mBAAmB,CAAC,EAAA,EADtE,CAAA,YAAA,EAAe,YAAY,CAAC,QAAQ,EAAE,CAAA,CAAA,EAAI,SAAS,CAAA,CAAE,CAE1D,CACH,CAAC,EAED,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,KAAI;gBAC9B,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;AAErI,gBAAA,QACEA,GAAA,CAAC,eAAe,EAAA,EAEd,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,WAAW,EACvB,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,EAAA,EAPvB,KAAK,CAAC,EAAE,CAQb;YAEN,CAAC,CAAC,CAAA,EAAA,CACE;AAEV;;;;"}
|