@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.
Files changed (244) hide show
  1. package/dist/components/__internal__/statusIcon/statusIcon.types.d.ts +12 -0
  2. package/dist/components/__internal__/statusIcon/statusIcon.types.d.ts.map +1 -0
  3. package/dist/components/__internal__/statusIcon/statusIcon.utils.cjs +21 -0
  4. package/dist/components/__internal__/statusIcon/statusIcon.utils.cjs.map +1 -0
  5. package/dist/components/__internal__/statusIcon/statusIcon.utils.d.ts +5 -0
  6. package/dist/components/__internal__/statusIcon/statusIcon.utils.d.ts.map +1 -0
  7. package/dist/components/__internal__/statusIcon/statusIcon.utils.js +19 -0
  8. package/dist/components/__internal__/statusIcon/statusIcon.utils.js.map +1 -0
  9. package/dist/components/atoms/BackgroundPattern/components/grid-check.cjs +14 -7
  10. package/dist/components/atoms/BackgroundPattern/components/grid-check.cjs.map +1 -1
  11. package/dist/components/atoms/BackgroundPattern/components/grid-check.d.ts.map +1 -1
  12. package/dist/components/atoms/BackgroundPattern/components/grid-check.js +14 -7
  13. package/dist/components/atoms/BackgroundPattern/components/grid-check.js.map +1 -1
  14. package/dist/components/atoms/BackgroundPattern/index.d.ts.map +1 -1
  15. package/dist/components/atoms/Badge/index.cjs +16 -3
  16. package/dist/components/atoms/Badge/index.cjs.map +1 -1
  17. package/dist/components/atoms/Badge/index.d.ts +13 -24
  18. package/dist/components/atoms/Badge/index.d.ts.map +1 -1
  19. package/dist/components/atoms/Badge/index.js +16 -3
  20. package/dist/components/atoms/Badge/index.js.map +1 -1
  21. package/dist/components/atoms/Dot/Dot.styles.cjs +51 -0
  22. package/dist/components/atoms/Dot/Dot.styles.cjs.map +1 -0
  23. package/dist/components/atoms/Dot/Dot.styles.d.ts +109 -0
  24. package/dist/components/atoms/Dot/Dot.styles.d.ts.map +1 -0
  25. package/dist/components/atoms/Dot/Dot.styles.js +49 -0
  26. package/dist/components/atoms/Dot/Dot.styles.js.map +1 -0
  27. package/dist/components/atoms/Dot/index.cjs +5 -14
  28. package/dist/components/atoms/Dot/index.cjs.map +1 -1
  29. package/dist/components/atoms/Dot/index.d.ts +11 -3
  30. package/dist/components/atoms/Dot/index.d.ts.map +1 -1
  31. package/dist/components/atoms/Dot/index.js +5 -14
  32. package/dist/components/atoms/Dot/index.js.map +1 -1
  33. package/dist/components/molecules/Alert/index.cjs +3 -11
  34. package/dist/components/molecules/Alert/index.cjs.map +1 -1
  35. package/dist/components/molecules/Alert/index.d.ts +3 -2
  36. package/dist/components/molecules/Alert/index.d.ts.map +1 -1
  37. package/dist/components/molecules/Alert/index.js +3 -11
  38. package/dist/components/molecules/Alert/index.js.map +1 -1
  39. package/dist/components/molecules/Carousel/index.cjs +1 -1
  40. package/dist/components/molecules/Carousel/index.cjs.map +1 -1
  41. package/dist/components/molecules/Carousel/index.js +1 -1
  42. package/dist/components/molecules/Carousel/index.js.map +1 -1
  43. package/dist/components/molecules/Notification/index.cjs +3 -10
  44. package/dist/components/molecules/Notification/index.cjs.map +1 -1
  45. package/dist/components/molecules/Notification/index.d.ts +2 -1
  46. package/dist/components/molecules/Notification/index.d.ts.map +1 -1
  47. package/dist/components/molecules/Notification/index.js +3 -10
  48. package/dist/components/molecules/Notification/index.js.map +1 -1
  49. package/dist/components/molecules/Pagination/index.cjs +4 -4
  50. package/dist/components/molecules/Pagination/index.cjs.map +1 -1
  51. package/dist/components/molecules/Pagination/index.js +5 -5
  52. package/dist/components/molecules/Pagination/index.js.map +1 -1
  53. package/dist/components/molecules/Tags/index.cjs +1 -1
  54. package/dist/components/molecules/Tags/index.cjs.map +1 -1
  55. package/dist/components/molecules/Tags/index.js +1 -1
  56. package/dist/components/molecules/Tags/index.js.map +1 -1
  57. package/dist/components/organisms/ActivityFeed/index.cjs +1 -1
  58. package/dist/components/organisms/ActivityFeed/index.cjs.map +1 -1
  59. package/dist/components/organisms/ActivityFeed/index.js +1 -1
  60. package/dist/components/organisms/ActivityFeed/index.js.map +1 -1
  61. package/dist/components/organisms/Calendar/calendar.utils.cjs +41 -0
  62. package/dist/components/organisms/Calendar/calendar.utils.cjs.map +1 -1
  63. package/dist/components/organisms/Calendar/calendar.utils.d.ts +20 -0
  64. package/dist/components/organisms/Calendar/calendar.utils.d.ts.map +1 -1
  65. package/dist/components/organisms/Calendar/calendar.utils.js +37 -1
  66. package/dist/components/organisms/Calendar/calendar.utils.js.map +1 -1
  67. package/dist/components/organisms/Calendar/components/calendar-day-view.cjs +86 -0
  68. package/dist/components/organisms/Calendar/components/calendar-day-view.cjs.map +1 -0
  69. package/dist/components/organisms/Calendar/components/calendar-day-view.d.ts +20 -0
  70. package/dist/components/organisms/Calendar/components/calendar-day-view.d.ts.map +1 -0
  71. package/dist/components/organisms/Calendar/components/calendar-day-view.js +84 -0
  72. package/dist/components/organisms/Calendar/components/calendar-day-view.js.map +1 -0
  73. package/dist/components/organisms/Calendar/components/calendar-mobile-day-grid.cjs +21 -0
  74. package/dist/components/organisms/Calendar/components/calendar-mobile-day-grid.cjs.map +1 -0
  75. package/dist/components/organisms/Calendar/components/calendar-mobile-day-grid.d.ts +16 -0
  76. package/dist/components/organisms/Calendar/components/calendar-mobile-day-grid.d.ts.map +1 -0
  77. package/dist/components/organisms/Calendar/components/calendar-mobile-day-grid.js +19 -0
  78. package/dist/components/organisms/Calendar/components/calendar-mobile-day-grid.js.map +1 -0
  79. package/dist/components/organisms/Calendar/components/calendar-month-view.cjs +265 -0
  80. package/dist/components/organisms/Calendar/components/calendar-month-view.cjs.map +1 -0
  81. package/dist/components/organisms/Calendar/components/calendar-month-view.d.ts +18 -0
  82. package/dist/components/organisms/Calendar/components/calendar-month-view.d.ts.map +1 -0
  83. package/dist/components/organisms/Calendar/components/calendar-month-view.js +263 -0
  84. package/dist/components/organisms/Calendar/components/calendar-month-view.js.map +1 -0
  85. package/dist/components/organisms/Calendar/components/calendar-positioned-event.cjs +41 -0
  86. package/dist/components/organisms/Calendar/components/calendar-positioned-event.cjs.map +1 -0
  87. package/dist/components/organisms/Calendar/components/calendar-positioned-event.d.ts +15 -0
  88. package/dist/components/organisms/Calendar/components/calendar-positioned-event.d.ts.map +1 -0
  89. package/dist/components/organisms/Calendar/components/calendar-positioned-event.js +39 -0
  90. package/dist/components/organisms/Calendar/components/calendar-positioned-event.js.map +1 -0
  91. package/dist/components/organisms/Calendar/components/calendar-week-view-day.cjs +23 -0
  92. package/dist/components/organisms/Calendar/components/calendar-week-view-day.cjs.map +1 -0
  93. package/dist/components/organisms/Calendar/components/calendar-week-view-day.d.ts +15 -0
  94. package/dist/components/organisms/Calendar/components/calendar-week-view-day.d.ts.map +1 -0
  95. package/dist/components/organisms/Calendar/components/calendar-week-view-day.js +21 -0
  96. package/dist/components/organisms/Calendar/components/calendar-week-view-day.js.map +1 -0
  97. package/dist/components/organisms/Calendar/components/calendar-week-view.cjs +77 -0
  98. package/dist/components/organisms/Calendar/components/calendar-week-view.cjs.map +1 -0
  99. package/dist/components/organisms/Calendar/components/calendar-week-view.d.ts +20 -0
  100. package/dist/components/organisms/Calendar/components/calendar-week-view.d.ts.map +1 -0
  101. package/dist/components/organisms/Calendar/components/calendar-week-view.js +75 -0
  102. package/dist/components/organisms/Calendar/components/calendar-week-view.js.map +1 -0
  103. package/dist/components/organisms/Calendar/index.cjs +4 -504
  104. package/dist/components/organisms/Calendar/index.cjs.map +1 -1
  105. package/dist/components/organisms/Calendar/index.d.ts +1 -1
  106. package/dist/components/organisms/Calendar/index.d.ts.map +1 -1
  107. package/dist/components/organisms/Calendar/index.js +6 -506
  108. package/dist/components/organisms/Calendar/index.js.map +1 -1
  109. package/dist/components/organisms/Charts/components/activity-gauge.cjs +4 -0
  110. package/dist/components/organisms/Charts/components/activity-gauge.cjs.map +1 -1
  111. package/dist/components/organisms/Charts/components/activity-gauge.d.ts +4 -0
  112. package/dist/components/organisms/Charts/components/activity-gauge.d.ts.map +1 -1
  113. package/dist/components/organisms/Charts/components/activity-gauge.js +4 -0
  114. package/dist/components/organisms/Charts/components/activity-gauge.js.map +1 -1
  115. package/dist/components/organisms/Charts/components/bar-chart.cjs +1 -1
  116. package/dist/components/organisms/Charts/components/bar-chart.cjs.map +1 -1
  117. package/dist/components/organisms/Charts/components/bar-chart.d.ts +1 -2
  118. package/dist/components/organisms/Charts/components/bar-chart.d.ts.map +1 -1
  119. package/dist/components/organisms/Charts/components/bar-chart.js +2 -2
  120. package/dist/components/organisms/Charts/components/bar-chart.js.map +1 -1
  121. package/dist/components/organisms/Charts/components/charts-base.cjs +1 -2
  122. package/dist/components/organisms/Charts/components/charts-base.cjs.map +1 -1
  123. package/dist/components/organisms/Charts/components/charts-base.d.ts +13 -2
  124. package/dist/components/organisms/Charts/components/charts-base.d.ts.map +1 -1
  125. package/dist/components/organisms/Charts/components/charts-base.js +1 -2
  126. package/dist/components/organisms/Charts/components/charts-base.js.map +1 -1
  127. package/dist/components/organisms/Charts/components/line-chart.cjs +1 -1
  128. package/dist/components/organisms/Charts/components/line-chart.cjs.map +1 -1
  129. package/dist/components/organisms/Charts/components/line-chart.d.ts +1 -2
  130. package/dist/components/organisms/Charts/components/line-chart.d.ts.map +1 -1
  131. package/dist/components/organisms/Charts/components/line-chart.js +2 -2
  132. package/dist/components/organisms/Charts/components/line-chart.js.map +1 -1
  133. package/dist/components/organisms/Charts/components/pie-chart.cjs +5 -0
  134. package/dist/components/organisms/Charts/components/pie-chart.cjs.map +1 -1
  135. package/dist/components/organisms/Charts/components/pie-chart.d.ts +6 -2
  136. package/dist/components/organisms/Charts/components/pie-chart.d.ts.map +1 -1
  137. package/dist/components/organisms/Charts/components/pie-chart.js +5 -0
  138. package/dist/components/organisms/Charts/components/pie-chart.js.map +1 -1
  139. package/dist/components/organisms/Charts/components/radar-chart.cjs +3 -4
  140. package/dist/components/organisms/Charts/components/radar-chart.cjs.map +1 -1
  141. package/dist/components/organisms/Charts/components/radar-chart.d.ts.map +1 -1
  142. package/dist/components/organisms/Charts/components/radar-chart.js +3 -4
  143. package/dist/components/organisms/Charts/components/radar-chart.js.map +1 -1
  144. package/dist/components/organisms/DatePicker/components/range-calendar.cjs +1 -1
  145. package/dist/components/organisms/DatePicker/components/range-calendar.cjs.map +1 -1
  146. package/dist/components/organisms/DatePicker/components/range-calendar.js +2 -2
  147. package/dist/components/organisms/DatePicker/components/range-calendar.js.map +1 -1
  148. package/dist/components/organisms/GradientPicker/components/gradient-area.cjs +157 -0
  149. package/dist/components/organisms/GradientPicker/components/gradient-area.cjs.map +1 -0
  150. package/dist/components/organisms/GradientPicker/components/gradient-area.d.ts +17 -0
  151. package/dist/components/organisms/GradientPicker/components/gradient-area.d.ts.map +1 -0
  152. package/dist/components/organisms/GradientPicker/components/gradient-area.js +155 -0
  153. package/dist/components/organisms/GradientPicker/components/gradient-area.js.map +1 -0
  154. package/dist/components/organisms/GradientPicker/components/gradient-reverse-button.cjs +17 -0
  155. package/dist/components/organisms/GradientPicker/components/gradient-reverse-button.cjs.map +1 -0
  156. package/dist/components/organisms/GradientPicker/components/gradient-reverse-button.d.ts +3 -0
  157. package/dist/components/organisms/GradientPicker/components/gradient-reverse-button.d.ts.map +1 -0
  158. package/dist/components/organisms/GradientPicker/components/gradient-reverse-button.js +15 -0
  159. package/dist/components/organisms/GradientPicker/components/gradient-reverse-button.js.map +1 -0
  160. package/dist/components/organisms/GradientPicker/components/gradient-slider.cjs +71 -0
  161. package/dist/components/organisms/GradientPicker/components/gradient-slider.cjs.map +1 -0
  162. package/dist/components/organisms/GradientPicker/components/gradient-slider.d.ts +7 -0
  163. package/dist/components/organisms/GradientPicker/components/gradient-slider.d.ts.map +1 -0
  164. package/dist/components/organisms/GradientPicker/components/gradient-slider.js +69 -0
  165. package/dist/components/organisms/GradientPicker/components/gradient-slider.js.map +1 -0
  166. package/dist/components/organisms/GradientPicker/components/gradient-stop-list.cjs +18 -0
  167. package/dist/components/organisms/GradientPicker/components/gradient-stop-list.cjs.map +1 -0
  168. package/dist/components/organisms/GradientPicker/components/gradient-stop-list.d.ts +4 -0
  169. package/dist/components/organisms/GradientPicker/components/gradient-stop-list.d.ts.map +1 -0
  170. package/dist/components/organisms/GradientPicker/components/gradient-stop-list.js +16 -0
  171. package/dist/components/organisms/GradientPicker/components/gradient-stop-list.js.map +1 -0
  172. package/dist/components/organisms/GradientPicker/components/gradient-stop-row.cjs +49 -0
  173. package/dist/components/organisms/GradientPicker/components/gradient-stop-row.cjs.map +1 -0
  174. package/dist/components/organisms/GradientPicker/components/gradient-stop-row.d.ts +6 -0
  175. package/dist/components/organisms/GradientPicker/components/gradient-stop-row.d.ts.map +1 -0
  176. package/dist/components/organisms/GradientPicker/components/gradient-stop-row.js +47 -0
  177. package/dist/components/organisms/GradientPicker/components/gradient-stop-row.js.map +1 -0
  178. package/dist/components/organisms/GradientPicker/components/gradient-type-select.cjs +28 -0
  179. package/dist/components/organisms/GradientPicker/components/gradient-type-select.cjs.map +1 -0
  180. package/dist/components/organisms/GradientPicker/components/gradient-type-select.d.ts +3 -0
  181. package/dist/components/organisms/GradientPicker/components/gradient-type-select.d.ts.map +1 -0
  182. package/dist/components/organisms/GradientPicker/components/gradient-type-select.js +26 -0
  183. package/dist/components/organisms/GradientPicker/components/gradient-type-select.js.map +1 -0
  184. package/dist/components/organisms/GradientPicker/components/position-input.cjs +43 -0
  185. package/dist/components/organisms/GradientPicker/components/position-input.cjs.map +1 -0
  186. package/dist/components/organisms/GradientPicker/components/position-input.d.ts +6 -0
  187. package/dist/components/organisms/GradientPicker/components/position-input.d.ts.map +1 -0
  188. package/dist/components/organisms/GradientPicker/components/position-input.js +41 -0
  189. package/dist/components/organisms/GradientPicker/components/position-input.js.map +1 -0
  190. package/dist/components/organisms/GradientPicker/index.cjs +11 -327
  191. package/dist/components/organisms/GradientPicker/index.cjs.map +1 -1
  192. package/dist/components/organisms/GradientPicker/index.d.ts +7 -8
  193. package/dist/components/organisms/GradientPicker/index.d.ts.map +1 -1
  194. package/dist/components/organisms/GradientPicker/index.js +7 -323
  195. package/dist/components/organisms/GradientPicker/index.js.map +1 -1
  196. package/dist/components/organisms/HeaderNavigation/components/nav-account-card.cjs +1 -1
  197. package/dist/components/organisms/HeaderNavigation/components/nav-account-card.cjs.map +1 -1
  198. package/dist/components/organisms/HeaderNavigation/components/nav-account-card.js +2 -2
  199. package/dist/components/organisms/HeaderNavigation/components/nav-account-card.js.map +1 -1
  200. package/dist/components/organisms/HeaderNavigation/components/nav-button.cjs +1 -1
  201. package/dist/components/organisms/HeaderNavigation/components/nav-button.cjs.map +1 -1
  202. package/dist/components/organisms/HeaderNavigation/components/nav-button.d.ts.map +1 -1
  203. package/dist/components/organisms/HeaderNavigation/components/nav-button.js +1 -1
  204. package/dist/components/organisms/HeaderNavigation/components/nav-button.js.map +1 -1
  205. package/dist/components/organisms/SidebarNavigation/components/nav-account-card.cjs +1 -1
  206. package/dist/components/organisms/SidebarNavigation/components/nav-account-card.cjs.map +1 -1
  207. package/dist/components/organisms/SidebarNavigation/components/nav-account-card.js +2 -2
  208. package/dist/components/organisms/SidebarNavigation/components/nav-account-card.js.map +1 -1
  209. package/dist/components/organisms/SidebarNavigation/index.cjs +1 -1
  210. package/dist/components/organisms/SidebarNavigation/index.cjs.map +1 -1
  211. package/dist/components/organisms/SidebarNavigation/index.js +2 -2
  212. package/dist/components/organisms/SidebarNavigation/index.js.map +1 -1
  213. package/dist/components/organisms/VideoPlayer/hooks/useVideoPlayback.cjs +169 -0
  214. package/dist/components/organisms/VideoPlayer/hooks/useVideoPlayback.cjs.map +1 -0
  215. package/dist/components/organisms/VideoPlayer/hooks/useVideoPlayback.d.ts +34 -0
  216. package/dist/components/organisms/VideoPlayer/hooks/useVideoPlayback.d.ts.map +1 -0
  217. package/dist/components/organisms/VideoPlayer/hooks/useVideoPlayback.js +167 -0
  218. package/dist/components/organisms/VideoPlayer/hooks/useVideoPlayback.js.map +1 -0
  219. package/dist/components/organisms/VideoPlayer/hooks/useVideoVolume.cjs +75 -0
  220. package/dist/components/organisms/VideoPlayer/hooks/useVideoVolume.cjs.map +1 -0
  221. package/dist/components/organisms/VideoPlayer/hooks/useVideoVolume.d.ts +16 -0
  222. package/dist/components/organisms/VideoPlayer/hooks/useVideoVolume.d.ts.map +1 -0
  223. package/dist/components/organisms/VideoPlayer/hooks/useVideoVolume.js +73 -0
  224. package/dist/components/organisms/VideoPlayer/hooks/useVideoVolume.js.map +1 -0
  225. package/dist/components/organisms/VideoPlayer/index.cjs +9 -182
  226. package/dist/components/organisms/VideoPlayer/index.cjs.map +1 -1
  227. package/dist/components/organisms/VideoPlayer/index.d.ts.map +1 -1
  228. package/dist/components/organisms/VideoPlayer/index.js +10 -183
  229. package/dist/components/organisms/VideoPlayer/index.js.map +1 -1
  230. package/dist/hooks/useBreakpoints/index.cjs +4 -1
  231. package/dist/hooks/useBreakpoints/index.cjs.map +1 -1
  232. package/dist/hooks/useBreakpoints/index.d.ts +2 -0
  233. package/dist/hooks/useBreakpoints/index.d.ts.map +1 -1
  234. package/dist/hooks/useBreakpoints/index.js +4 -2
  235. package/dist/hooks/useBreakpoints/index.js.map +1 -1
  236. package/dist/native/components/atoms/Dot/Dot.styles.d.ts +109 -0
  237. package/dist/native/components/atoms/Dot/Dot.styles.d.ts.map +1 -0
  238. package/dist/native/components/atoms/Dot/Dot.styles.js +49 -0
  239. package/dist/native/components/atoms/Dot/Dot.styles.js.map +1 -0
  240. package/dist/native/components/atoms/Dot/index.d.ts +24 -8
  241. package/dist/native/components/atoms/Dot/index.d.ts.map +1 -0
  242. package/dist/native/components/atoms/Dot/index.js +25 -0
  243. package/dist/native/components/atoms/Dot/index.js.map +1 -0
  244. 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":";;AAAA;;;AAGG;AACI,MAAM,UAAU,GAAG,CAAC,IAAU,KAAY;IAC/C,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;;AAEnF,IAAA,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;AAC7D,IAAA,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IACtD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,SAAS,IAAI,QAAU,GAAG,CAAC,IAAI,CAAC,CAAC;AACtE;;;;"}
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":"AAAA;;;AAGG;AACI,MAAM,UAAU,GAAG,CAAC,IAAU,KAAY;IAC/C,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;;AAEnF,IAAA,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;AAC7D,IAAA,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IACtD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,SAAS,IAAI,QAAU,GAAG,CAAC,IAAI,CAAC,CAAC;AACtE;;;;"}
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":";;;;;;;;;;;;;;;;;;AAkDO,MAAM,OAAO,GAAG,CAAC,EACtB,YAAY,EACZ,WAAW,EACX,MAAM,EACN,QAAQ,EACR,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,SAAS,EACT,IAAI,GACS,KAAI;IACjB,MAAM,gBAAgB,GAAGA,gBAAW,CAAC,YAAY,EAAE,MAAM,CAAC;IAC1D,MAAM,cAAc,GAAGC,cAAS,CAAC,YAAY,EAAE,MAAM,CAAC;IACtD,MAAM,gBAAgB,GAAG,WAAW;AAEpC,IAAA,MAAM,UAAU,GAAG,CAAC,QAAuB,KAAK,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAEvF,MAAM,cAAc,GAAGC,cAAS,CAACC,mBAAc,CAAC,gBAAgB,CAAC,EAAE,YAAY,CAAC;IAEhF,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAErD,IAAI,aAAa,GAAG,CAAC;IACrB,IAAI,cAAc,EAAE;QAClB,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,IAAI,GAAG,EAAE,GAAG,gBAAgB,CAAC,MAAM;QAChF,aAAa,GAAG,CAAC,mBAAmB,GAAG,EAAE,IAAIC,0BAAW;IAC1D;IAEA,MAAM,aAAa,GAAGC,aAAO,CAAC,MAAMC,8BAAe,CAAC,WAAW,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;AAEhI,IAAA,MAAM,gBAAgB,GAAGD,aAAO,CAAC,MAAK;AACpC,QAAA,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU;AACzC,QAAA,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;YAC5B,IAAI,WAAW,GAAGF,mBAAc,CAAC,KAAK,CAAC,KAAK,CAAC;YAC7C,MAAM,OAAO,GAAGA,mBAAc,CAAC,KAAK,CAAC,GAAG,CAAC;YACzC,OAAO,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACxC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;gBAC3C,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAC5C;AACF,QAAA,CAAC,CAAC;AACF,QAAA,OAAO,eAAe;AACxB,IAAA,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;IAEjB,MAAM,IAAI,GAAmB,EAAE;IAC/B,IAAI,WAAW,GAAG,gBAAgB;IAClC,OAAO,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;AAC/C,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;QACtB,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAC5C;AAEA,IAAA,MAAM,kBAAkB,GAAGI,YAAM,CAAiB,IAAI,CAAC;AAEvD,IAAA,MAAM,iBAAiB,GAAGF,aAAO,CAAC,MAAK;AACrC,QAAA,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;;AAE9B,YAAA,OAAOG,YAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACzD;QACA,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,KAAI;YAChD,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,GAAG,QAAQ;QACvE,CAAC,CAAC,CAAC,KAAK;IACV,CAAC,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;;IAG3CC,qBAAe,CAAC,MAAK;QACnB,IAAI,IAAI,KAAK,KAAK,IAAI,kBAAkB,CAAC,OAAO,IAAI,iBAAiB,EAAE;YACrE,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,GAAG,EAAE,GAAG,iBAAiB,CAAC,MAAM;AAC3E,YAAA,IAAI,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,YAAY,GAAG,EAAE,IAAIL,0BAAW,CAAC;;YAGpE,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,GAAGA,0BAAW,CAAC;AAE5D,YAAA,IAAI,kBAAkB,CAAC,OAAO,EAAE;AAC9B,gBAAA,kBAAkB,CAAC,OAAO,CAAC,SAAS,GAAG,eAAe;YACxD;QACF;IACF,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC;IAE3C,QACEM,yBAAK,SAAS,EAAEC,KAAE,CAAC,oCAAoC,EAAE,SAAS,CAAC,EAAA,QAAA,EAAA,CACjEC,wBAAK,SAAS,EAAC,uGAAuG,EAAA,QAAA,EACnH,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAI;oBAChB,MAAM,WAAW,GAAGC,YAAW,CAAC,GAAG,EAAE,QAAQ,CAAC;AAC9C,oBAAA,MAAM,cAAc,GAClB,YAAY,IAAI,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,YAAY,GAAG,gBAAgB;oBAC1H,MAAM,cAAc,GAAGX,cAAS,CAAC,GAAG,EAAE,cAAc,CAAC;AACrD,oBAAA,MAAM,YAAY,GAAG,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAEvE,QACEU,cAAA,CAACE,yCAAoB,EAAA,EAEnB,OAAO,EAAE,MAAM,eAAe,CAAC,GAAG,CAAC,EACnC,OAAO,EAAE,YAAY,EACrB,GAAG,EAAE,GAAG,CAAC,GAAG,EACZ,KAAK,EAAE,cAAc,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,EACxE,SAAS,EAAC,gBAAgB,EAAA,EALrB,CAAA,cAAA,EAAiB,GAAG,CAAC,QAAQ,EAAE,CAAA,CAAE,CAMtC;AAEN,gBAAA,CAAC,CAAC,EAAA,CACE,EAENJ,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,oBAAoB,EAAA,QAAA,EAAA,CAGjCA,eAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,kBAAkB,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAC,2CAA2C,EAAA,QAAA,EAAA,CAC9FE,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,4DAA4D,EAAA,QAAA,EACxE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAI;AAClB,oCAAA,MAAM,IAAI,GAAG,IAAIG,qBAAgB,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC;AAChG,oCAAA,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAACP,YAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;oCAC7E,OAAOI,cAAA,CAACI,iCAAgB,EAAA,EAAA,QAAA,EAAuB,UAAU,IAA3B,CAAA,KAAA,EAAQ,IAAI,CAAA,CAAE,CAAiC;AAC/E,gCAAA,CAAC,CAAC,EAAA,CACE,EACNJ,cAAA,CAACK,yCAAmB,EAAA,EAClB,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,aAAa,EACxB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,GAC5B,EACD,cAAc,IAAIL,cAAA,CAACM,qCAAkB,EAAA,EAAC,KAAK,EAAE,EAAE,GAAG,EAAE,CAAA,EAAG,aAAa,IAAI,EAAE,EAAA,QAAA,EAAG,UAAU,CAAC,gBAAgB,CAAC,EAAA,CAAsB,CAAA,EAAA,CAC5H,EAENR,yBAAK,SAAS,EAAC,0GAA0G,EAAA,QAAA,EAAA,CACvHA,gBAACS,4BAAY,EAAA,EAAA,YAAA,EAAY,UAAU,EAAC,SAAS,EAAC,WAAW,EAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,KAAK,KAAK,eAAe,CAAC,KAAK,CAAC,aACxHT,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,wCAAwC,aACrDE,cAAA,CAACQ,aAAM,EAAA,EAAC,IAAI,EAAC,UAAU,EAAC,WAAW,EAAEC,mBAAW,EAAE,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAA,CAAG,EAClGT,cAAA,CAACU,2BAAW,EAAA,EAAC,SAAS,EAAC,yCAAyC,EAAA,CAAG,EACnEV,eAACQ,aAAM,EAAA,EAAC,IAAI,EAAC,MAAM,EAAC,WAAW,EAAEG,oBAAY,EAAE,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAA,CAAG,CAAA,EAAA,CAC3F,EAENb,gBAACc,gCAAgB,EAAA,EAAC,YAAY,EAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAA,QAAA,EAAA,CACtDZ,cAAA,CAACa,sCAAsB,EAAA,EAAC,SAAS,EAAC,+BAA+B,EAAA,QAAA,EAC9D,CAAC,GAAG,MACHb,cAAA,CAACc,sCAAsB,EAAA,EAAC,SAAS,EAAC,KAAK,EAAA,QAAA,EACrCd,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,6EAA6E,EAAA,QAAA,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAA,CAAO,EAAA,CAC7F,CAC1B,GACsB,EACzBA,cAAA,CAACe,oCAAoB,EAAA,EAAC,SAAS,EAAC,wFAAwF,EAAA,QAAA,EACrH,CAAC,IAAI,KAAKf,cAAA,CAACgB,iBAAY,EAAA,EAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAA,CAAI,EAAA,CACxE,CAAA,EAAA,CACN,CAAA,EAAA,CACN,EAEflB,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,yDAAyD,EAAA,QAAA,EAAA,CACtEA,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,qBAAqB,EAAA,QAAA,EAAA,CAClCA,eAAA,CAAA,SAAA,EAAA,EAAS,SAAS,EAAC,6BAA6B,EAAA,QAAA,EAAA,CAC9CE,cAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAC,oCAAoC,EAAA,QAAA,EAAA,cAAA,EAAA,CAAiB,EAClEF,yBAAK,SAAS,EAAC,0BAA0B,EAAA,QAAA,EAAA,CACvCE,eAACiB,2BAAa,EAAA,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,UAAU,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAEC,cAAM,EAAA,CAAI,EAC9ElB,cAAA,CAACiB,2BAAa,EAAA,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,UAAU,EAAC,OAAO,EAAC,QAAQ,EAAC,IAAI,EAAEE,eAAO,EAAA,CAAI,EAC5EnB,cAAA,CAACiB,2BAAa,EAAA,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,UAAU,EAAC,OAAO,EAAC,MAAM,EAAC,IAAI,EAAEG,cAAM,GAAI,CAAA,EAAA,CACrE,CAAA,EAAA,CACE,EACVtB,eAAA,CAAA,SAAA,EAAA,EAAS,SAAS,EAAC,uBAAuB,EAAA,QAAA,EAAA,CACxCA,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,2BAA2B,EAAA,QAAA,EAAA,CACxCE,eAACqB,gBAAY,EAAA,EAAC,SAAS,EAAC,2CAA2C,EAAA,CAAG,EACtErB,cAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAC,uBAAuB,EAAA,QAAA,EAAA,sBAAA,EAAA,CAAyB,CAAA,EAAA,CACzD,EACNF,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,2BAA2B,aACxCE,cAAA,CAACsB,aAAK,EAAA,EAAC,SAAS,EAAC,2CAA2C,EAAA,CAAG,EAC/DtB,cAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAC,uBAAuB,EAAA,QAAA,EAAA,mBAAA,EAAA,CAAsB,CAAA,EAAA,CACtD,EACNF,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,2BAA2B,aACxCE,cAAA,CAACuB,qBAAa,EAAA,EAAC,SAAS,EAAC,2CAA2C,EAAA,CAAG,EACvEvB,cAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAC,uBAAuB,EAAA,QAAA,EAAA,eAAA,EAAA,CAAkB,CAAA,EAAA,CAClD,CAAA,EAAA,CACE,CAAA,EAAA,CACN,EACNF,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,qBAAqB,EAAA,QAAA,EAAA,CAClCA,eAAA,CAAA,SAAA,EAAA,EAAS,SAAS,EAAC,YAAY,EAAA,QAAA,EAAA,CAC7BA,eAAA,CAAA,SAAA,EAAA,EAAS,SAAS,EAAC,0BAA0B,EAAA,QAAA,EAAA,CAC3CE,cAAA,CAACwB,aAAM,EAAA,EACL,SAAS,EAAC,8BAA8B,EACxC,GAAG,EAAC,sEAAsE,EAC1E,GAAG,EAAC,eAAe,EACnB,IAAI,EAAC,IAAI,EAAA,CACT,EACFxB,cAAA,CAACwB,aAAM,EAAA,EACL,SAAS,EAAC,8BAA8B,EACxC,GAAG,EAAC,oEAAoE,EACxE,GAAG,EAAC,aAAa,EACjB,IAAI,EAAC,IAAI,EAAA,CACT,EACFxB,cAAA,CAACwB,aAAM,EAAA,EACL,SAAS,EAAC,8BAA8B,EACxC,GAAG,EAAC,wEAAwE,EAC5E,GAAG,EAAC,iBAAiB,EACrB,IAAI,EAAC,IAAI,EAAA,CACT,EACFxB,cAAA,CAACwB,aAAM,EAAA,EACL,SAAS,EAAC,8BAA8B,EACxC,GAAG,EAAC,uEAAuE,EAC3E,GAAG,EAAC,gBAAgB,EACpB,IAAI,EAAC,IAAI,EAAA,CACT,EACFxB,cAAA,CAACwB,aAAM,IACL,SAAS,EAAC,8BAA8B,EACxC,GAAG,EAAC,uEAAuE,EAC3E,GAAG,EAAC,gBAAgB,EACpB,IAAI,EAAC,IAAI,EAAA,CACT,EACFxB,cAAA,CAACwB,aAAM,EAAA,EAAC,SAAS,EAAC,8BAA8B,EAAC,QAAQ,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAA,CAAG,CAAA,EAAA,CACnE,EACVxB,cAAA,CAACyB,sBAAe,EAAA,EAAC,IAAI,EAAC,IAAI,EAAA,CAAG,CAAA,EAAA,CACrB,EAEV3B,6BAAS,SAAS,EAAC,yBAAyB,EAAA,QAAA,EAAA,CAC1CE,sBAAG,SAAS,EAAC,oCAAoC,EAAA,QAAA,EAAA,UAAA,EAAA,CAAa,EAC9DA,cAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,kCAAkC,EAAA,CAAG,EACrDA,cAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAC,uBAAuB,EAAA,QAAA,EAAA,OAAA,EAAA,CAAU,EAC9CA,cAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,kCAAkC,EAAA,CAAG,EACrDA,cAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAC,uBAAuB,2BAAe,CAAA,EAAA,CAC3C,CAAA,EAAA,CACN,EAENF,eAAA,CAAA,SAAA,EAAA,EAAS,SAAS,EAAC,qBAAqB,EAAA,QAAA,EAAA,CACtCE,cAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAC,oCAAoC,EAAA,QAAA,EAAA,kBAAA,EAAA,CAAqB,EACtEF,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,uBAAuB,aACpCE,cAAA,CAAA,GAAA,EAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,CAA0D,EAC1DA,cAAA,CAAA,IAAA,EAAA,EAAA,CAAM,EACNA,+FAAiE,EACjEA,cAAA,CAAA,IAAA,EAAA,EAAA,CAAM,EACNF,eAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAC,mCAAmC,EAAA,QAAA,EAAA,CAAA,0BAAA,EAE9CE,cAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,qBAAqB,EAAA,QAAA,EAAA,uCAAA,EAAA,CAA6C,EAAA,QAAA,CAAA,EAAA,CAChF,EACJA,cAAA,CAAA,IAAA,EAAA,EAAA,CAAM,EACNA,cAAA,CAAA,GAAA,EAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,CAAgC,CAAA,EAAA,CAC5B,IACE,CAAA,EAAA,CACN,CAAA,EAAA,CACF,CAAA,EAAA,CACF,CAAA,EAAA,CACF;AAEV;;;;"}
@@ -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;;;;"}