react-native-agenda-kit 0.1.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 (403) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +364 -0
  3. package/lib/commonjs/agenda/AgendaBackdrop.js +68 -0
  4. package/lib/commonjs/agenda/AgendaBackdrop.js.map +1 -0
  5. package/lib/commonjs/agenda/AgendaList.js +354 -0
  6. package/lib/commonjs/agenda/AgendaList.js.map +1 -0
  7. package/lib/commonjs/agenda/AgendaSlot.js +88 -0
  8. package/lib/commonjs/agenda/AgendaSlot.js.map +1 -0
  9. package/lib/commonjs/agenda/AgendaWindow.js +171 -0
  10. package/lib/commonjs/agenda/AgendaWindow.js.map +1 -0
  11. package/lib/commonjs/agenda/StickyHeaderOverlay.js +125 -0
  12. package/lib/commonjs/agenda/StickyHeaderOverlay.js.map +1 -0
  13. package/lib/commonjs/agenda/buildAgendaLayout.js +100 -0
  14. package/lib/commonjs/agenda/buildAgendaLayout.js.map +1 -0
  15. package/lib/commonjs/agenda/constants.js +29 -0
  16. package/lib/commonjs/agenda/constants.js.map +1 -0
  17. package/lib/commonjs/agenda/heights.js +49 -0
  18. package/lib/commonjs/agenda/heights.js.map +1 -0
  19. package/lib/commonjs/agenda/useAgendaScrollSync.js +204 -0
  20. package/lib/commonjs/agenda/useAgendaScrollSync.js.map +1 -0
  21. package/lib/commonjs/core/ArrowGlyph.js +65 -0
  22. package/lib/commonjs/core/ArrowGlyph.js.map +1 -0
  23. package/lib/commonjs/core/CalendarContext.js +32 -0
  24. package/lib/commonjs/core/CalendarContext.js.map +1 -0
  25. package/lib/commonjs/core/CalendarProvider.js +141 -0
  26. package/lib/commonjs/core/CalendarProvider.js.map +1 -0
  27. package/lib/commonjs/core/CalendarStore.js +70 -0
  28. package/lib/commonjs/core/CalendarStore.js.map +1 -0
  29. package/lib/commonjs/core/KitText.js +23 -0
  30. package/lib/commonjs/core/KitText.js.map +1 -0
  31. package/lib/commonjs/core/TodayButton.js +136 -0
  32. package/lib/commonjs/core/TodayButton.js.map +1 -0
  33. package/lib/commonjs/core/civil.js +101 -0
  34. package/lib/commonjs/core/civil.js.map +1 -0
  35. package/lib/commonjs/core/dateKey.js +56 -0
  36. package/lib/commonjs/core/dateKey.js.map +1 -0
  37. package/lib/commonjs/core/motion.js +56 -0
  38. package/lib/commonjs/core/motion.js.map +1 -0
  39. package/lib/commonjs/core/worklets.js +44 -0
  40. package/lib/commonjs/core/worklets.js.map +1 -0
  41. package/lib/commonjs/expandable/DayCell.js +120 -0
  42. package/lib/commonjs/expandable/DayCell.js.map +1 -0
  43. package/lib/commonjs/expandable/ExpandableCalendar.js +280 -0
  44. package/lib/commonjs/expandable/ExpandableCalendar.js.map +1 -0
  45. package/lib/commonjs/expandable/Knob.js +72 -0
  46. package/lib/commonjs/expandable/Knob.js.map +1 -0
  47. package/lib/commonjs/expandable/MonthPager.js +180 -0
  48. package/lib/commonjs/expandable/MonthPager.js.map +1 -0
  49. package/lib/commonjs/expandable/WeekStrip.js +451 -0
  50. package/lib/commonjs/expandable/WeekStrip.js.map +1 -0
  51. package/lib/commonjs/expandable/calendarCells.js +152 -0
  52. package/lib/commonjs/expandable/calendarCells.js.map +1 -0
  53. package/lib/commonjs/expandable/geometry.js +62 -0
  54. package/lib/commonjs/expandable/geometry.js.map +1 -0
  55. package/lib/commonjs/expandable/useExpandGesture.js +124 -0
  56. package/lib/commonjs/expandable/useExpandGesture.js.map +1 -0
  57. package/lib/commonjs/expandable/useHorizontalPager.js +97 -0
  58. package/lib/commonjs/expandable/useHorizontalPager.js.map +1 -0
  59. package/lib/commonjs/index.js +167 -0
  60. package/lib/commonjs/index.js.map +1 -0
  61. package/lib/commonjs/package.json +1 -0
  62. package/lib/commonjs/theme/ThemeProvider.js +73 -0
  63. package/lib/commonjs/theme/ThemeProvider.js.map +1 -0
  64. package/lib/commonjs/theme/index.js +75 -0
  65. package/lib/commonjs/theme/index.js.map +1 -0
  66. package/lib/commonjs/theme/theme.js +79 -0
  67. package/lib/commonjs/theme/theme.js.map +1 -0
  68. package/lib/commonjs/theme/tokens.js +54 -0
  69. package/lib/commonjs/theme/tokens.js.map +1 -0
  70. package/lib/commonjs/timeline/DayColumn.js +95 -0
  71. package/lib/commonjs/timeline/DayColumn.js.map +1 -0
  72. package/lib/commonjs/timeline/DayPager.js +250 -0
  73. package/lib/commonjs/timeline/DayPager.js.map +1 -0
  74. package/lib/commonjs/timeline/EventBlock.js +91 -0
  75. package/lib/commonjs/timeline/EventBlock.js.map +1 -0
  76. package/lib/commonjs/timeline/GridLines.js +47 -0
  77. package/lib/commonjs/timeline/GridLines.js.map +1 -0
  78. package/lib/commonjs/timeline/HourGrid.js +96 -0
  79. package/lib/commonjs/timeline/HourGrid.js.map +1 -0
  80. package/lib/commonjs/timeline/NowIndicator.js +132 -0
  81. package/lib/commonjs/timeline/NowIndicator.js.map +1 -0
  82. package/lib/commonjs/timeline/TimelineDay.js +126 -0
  83. package/lib/commonjs/timeline/TimelineDay.js.map +1 -0
  84. package/lib/commonjs/timeline/packEvents.js +102 -0
  85. package/lib/commonjs/timeline/packEvents.js.map +1 -0
  86. package/lib/commonjs/timeline/timelineGeometry.js +27 -0
  87. package/lib/commonjs/timeline/timelineGeometry.js.map +1 -0
  88. package/lib/commonjs/timeline/timelineMath.js +82 -0
  89. package/lib/commonjs/timeline/timelineMath.js.map +1 -0
  90. package/lib/commonjs/types.js +71 -0
  91. package/lib/commonjs/types.js.map +1 -0
  92. package/lib/module/agenda/AgendaBackdrop.js +63 -0
  93. package/lib/module/agenda/AgendaBackdrop.js.map +1 -0
  94. package/lib/module/agenda/AgendaList.js +349 -0
  95. package/lib/module/agenda/AgendaList.js.map +1 -0
  96. package/lib/module/agenda/AgendaSlot.js +84 -0
  97. package/lib/module/agenda/AgendaSlot.js.map +1 -0
  98. package/lib/module/agenda/AgendaWindow.js +167 -0
  99. package/lib/module/agenda/AgendaWindow.js.map +1 -0
  100. package/lib/module/agenda/StickyHeaderOverlay.js +120 -0
  101. package/lib/module/agenda/StickyHeaderOverlay.js.map +1 -0
  102. package/lib/module/agenda/buildAgendaLayout.js +95 -0
  103. package/lib/module/agenda/buildAgendaLayout.js.map +1 -0
  104. package/lib/module/agenda/constants.js +25 -0
  105. package/lib/module/agenda/constants.js.map +1 -0
  106. package/lib/module/agenda/heights.js +42 -0
  107. package/lib/module/agenda/heights.js.map +1 -0
  108. package/lib/module/agenda/useAgendaScrollSync.js +200 -0
  109. package/lib/module/agenda/useAgendaScrollSync.js.map +1 -0
  110. package/lib/module/core/ArrowGlyph.js +60 -0
  111. package/lib/module/core/ArrowGlyph.js.map +1 -0
  112. package/lib/module/core/CalendarContext.js +26 -0
  113. package/lib/module/core/CalendarContext.js.map +1 -0
  114. package/lib/module/core/CalendarProvider.js +136 -0
  115. package/lib/module/core/CalendarProvider.js.map +1 -0
  116. package/lib/module/core/CalendarStore.js +66 -0
  117. package/lib/module/core/CalendarStore.js.map +1 -0
  118. package/lib/module/core/KitText.js +19 -0
  119. package/lib/module/core/KitText.js.map +1 -0
  120. package/lib/module/core/TodayButton.js +133 -0
  121. package/lib/module/core/TodayButton.js.map +1 -0
  122. package/lib/module/core/civil.js +88 -0
  123. package/lib/module/core/civil.js.map +1 -0
  124. package/lib/module/core/dateKey.js +47 -0
  125. package/lib/module/core/dateKey.js.map +1 -0
  126. package/lib/module/core/motion.js +49 -0
  127. package/lib/module/core/motion.js.map +1 -0
  128. package/lib/module/core/worklets.js +38 -0
  129. package/lib/module/core/worklets.js.map +1 -0
  130. package/lib/module/expandable/DayCell.js +116 -0
  131. package/lib/module/expandable/DayCell.js.map +1 -0
  132. package/lib/module/expandable/ExpandableCalendar.js +275 -0
  133. package/lib/module/expandable/ExpandableCalendar.js.map +1 -0
  134. package/lib/module/expandable/Knob.js +67 -0
  135. package/lib/module/expandable/Knob.js.map +1 -0
  136. package/lib/module/expandable/MonthPager.js +175 -0
  137. package/lib/module/expandable/MonthPager.js.map +1 -0
  138. package/lib/module/expandable/WeekStrip.js +446 -0
  139. package/lib/module/expandable/WeekStrip.js.map +1 -0
  140. package/lib/module/expandable/calendarCells.js +142 -0
  141. package/lib/module/expandable/calendarCells.js.map +1 -0
  142. package/lib/module/expandable/geometry.js +58 -0
  143. package/lib/module/expandable/geometry.js.map +1 -0
  144. package/lib/module/expandable/useExpandGesture.js +118 -0
  145. package/lib/module/expandable/useExpandGesture.js.map +1 -0
  146. package/lib/module/expandable/useHorizontalPager.js +92 -0
  147. package/lib/module/expandable/useHorizontalPager.js.map +1 -0
  148. package/lib/module/index.js +35 -0
  149. package/lib/module/index.js.map +1 -0
  150. package/lib/module/package.json +1 -0
  151. package/lib/module/theme/ThemeProvider.js +65 -0
  152. package/lib/module/theme/ThemeProvider.js.map +1 -0
  153. package/lib/module/theme/index.js +6 -0
  154. package/lib/module/theme/index.js.map +1 -0
  155. package/lib/module/theme/theme.js +74 -0
  156. package/lib/module/theme/theme.js.map +1 -0
  157. package/lib/module/theme/tokens.js +50 -0
  158. package/lib/module/theme/tokens.js.map +1 -0
  159. package/lib/module/timeline/DayColumn.js +91 -0
  160. package/lib/module/timeline/DayColumn.js.map +1 -0
  161. package/lib/module/timeline/DayPager.js +245 -0
  162. package/lib/module/timeline/DayPager.js.map +1 -0
  163. package/lib/module/timeline/EventBlock.js +87 -0
  164. package/lib/module/timeline/EventBlock.js.map +1 -0
  165. package/lib/module/timeline/GridLines.js +43 -0
  166. package/lib/module/timeline/GridLines.js.map +1 -0
  167. package/lib/module/timeline/HourGrid.js +94 -0
  168. package/lib/module/timeline/HourGrid.js.map +1 -0
  169. package/lib/module/timeline/NowIndicator.js +126 -0
  170. package/lib/module/timeline/NowIndicator.js.map +1 -0
  171. package/lib/module/timeline/TimelineDay.js +122 -0
  172. package/lib/module/timeline/TimelineDay.js.map +1 -0
  173. package/lib/module/timeline/packEvents.js +97 -0
  174. package/lib/module/timeline/packEvents.js.map +1 -0
  175. package/lib/module/timeline/timelineGeometry.js +22 -0
  176. package/lib/module/timeline/timelineGeometry.js.map +1 -0
  177. package/lib/module/timeline/timelineMath.js +75 -0
  178. package/lib/module/timeline/timelineMath.js.map +1 -0
  179. package/lib/module/types.js +67 -0
  180. package/lib/module/types.js.map +1 -0
  181. package/lib/typescript/commonjs/agenda/AgendaBackdrop.d.ts +20 -0
  182. package/lib/typescript/commonjs/agenda/AgendaBackdrop.d.ts.map +1 -0
  183. package/lib/typescript/commonjs/agenda/AgendaList.d.ts +12 -0
  184. package/lib/typescript/commonjs/agenda/AgendaList.d.ts.map +1 -0
  185. package/lib/typescript/commonjs/agenda/AgendaSlot.d.ts +45 -0
  186. package/lib/typescript/commonjs/agenda/AgendaSlot.d.ts.map +1 -0
  187. package/lib/typescript/commonjs/agenda/AgendaWindow.d.ts +49 -0
  188. package/lib/typescript/commonjs/agenda/AgendaWindow.d.ts.map +1 -0
  189. package/lib/typescript/commonjs/agenda/StickyHeaderOverlay.d.ts +39 -0
  190. package/lib/typescript/commonjs/agenda/StickyHeaderOverlay.d.ts.map +1 -0
  191. package/lib/typescript/commonjs/agenda/buildAgendaLayout.d.ts +57 -0
  192. package/lib/typescript/commonjs/agenda/buildAgendaLayout.d.ts.map +1 -0
  193. package/lib/typescript/commonjs/agenda/constants.d.ts +19 -0
  194. package/lib/typescript/commonjs/agenda/constants.d.ts.map +1 -0
  195. package/lib/typescript/commonjs/agenda/heights.d.ts +20 -0
  196. package/lib/typescript/commonjs/agenda/heights.d.ts.map +1 -0
  197. package/lib/typescript/commonjs/agenda/useAgendaScrollSync.d.ts +44 -0
  198. package/lib/typescript/commonjs/agenda/useAgendaScrollSync.d.ts.map +1 -0
  199. package/lib/typescript/commonjs/core/ArrowGlyph.d.ts +14 -0
  200. package/lib/typescript/commonjs/core/ArrowGlyph.d.ts.map +1 -0
  201. package/lib/typescript/commonjs/core/CalendarContext.d.ts +35 -0
  202. package/lib/typescript/commonjs/core/CalendarContext.d.ts.map +1 -0
  203. package/lib/typescript/commonjs/core/CalendarProvider.d.ts +41 -0
  204. package/lib/typescript/commonjs/core/CalendarProvider.d.ts.map +1 -0
  205. package/lib/typescript/commonjs/core/CalendarStore.d.ts +28 -0
  206. package/lib/typescript/commonjs/core/CalendarStore.d.ts.map +1 -0
  207. package/lib/typescript/commonjs/core/KitText.d.ts +10 -0
  208. package/lib/typescript/commonjs/core/KitText.d.ts.map +1 -0
  209. package/lib/typescript/commonjs/core/TodayButton.d.ts +18 -0
  210. package/lib/typescript/commonjs/core/TodayButton.d.ts.map +1 -0
  211. package/lib/typescript/commonjs/core/civil.d.ts +26 -0
  212. package/lib/typescript/commonjs/core/civil.d.ts.map +1 -0
  213. package/lib/typescript/commonjs/core/dateKey.d.ts +21 -0
  214. package/lib/typescript/commonjs/core/dateKey.d.ts.map +1 -0
  215. package/lib/typescript/commonjs/core/motion.d.ts +18 -0
  216. package/lib/typescript/commonjs/core/motion.d.ts.map +1 -0
  217. package/lib/typescript/commonjs/core/worklets.d.ts +12 -0
  218. package/lib/typescript/commonjs/core/worklets.d.ts.map +1 -0
  219. package/lib/typescript/commonjs/expandable/DayCell.d.ts +22 -0
  220. package/lib/typescript/commonjs/expandable/DayCell.d.ts.map +1 -0
  221. package/lib/typescript/commonjs/expandable/ExpandableCalendar.d.ts +40 -0
  222. package/lib/typescript/commonjs/expandable/ExpandableCalendar.d.ts.map +1 -0
  223. package/lib/typescript/commonjs/expandable/Knob.d.ts +19 -0
  224. package/lib/typescript/commonjs/expandable/Knob.d.ts.map +1 -0
  225. package/lib/typescript/commonjs/expandable/MonthPager.d.ts +35 -0
  226. package/lib/typescript/commonjs/expandable/MonthPager.d.ts.map +1 -0
  227. package/lib/typescript/commonjs/expandable/WeekStrip.d.ts +34 -0
  228. package/lib/typescript/commonjs/expandable/WeekStrip.d.ts.map +1 -0
  229. package/lib/typescript/commonjs/expandable/calendarCells.d.ts +52 -0
  230. package/lib/typescript/commonjs/expandable/calendarCells.d.ts.map +1 -0
  231. package/lib/typescript/commonjs/expandable/geometry.d.ts +43 -0
  232. package/lib/typescript/commonjs/expandable/geometry.d.ts.map +1 -0
  233. package/lib/typescript/commonjs/expandable/useExpandGesture.d.ts +35 -0
  234. package/lib/typescript/commonjs/expandable/useExpandGesture.d.ts.map +1 -0
  235. package/lib/typescript/commonjs/expandable/useHorizontalPager.d.ts +35 -0
  236. package/lib/typescript/commonjs/expandable/useHorizontalPager.d.ts.map +1 -0
  237. package/lib/typescript/commonjs/index.d.ts +26 -0
  238. package/lib/typescript/commonjs/index.d.ts.map +1 -0
  239. package/lib/typescript/commonjs/package.json +1 -0
  240. package/lib/typescript/commonjs/theme/ThemeProvider.d.ts +27 -0
  241. package/lib/typescript/commonjs/theme/ThemeProvider.d.ts.map +1 -0
  242. package/lib/typescript/commonjs/theme/index.d.ts +4 -0
  243. package/lib/typescript/commonjs/theme/index.d.ts.map +1 -0
  244. package/lib/typescript/commonjs/theme/theme.d.ts +62 -0
  245. package/lib/typescript/commonjs/theme/theme.d.ts.map +1 -0
  246. package/lib/typescript/commonjs/theme/tokens.d.ts +46 -0
  247. package/lib/typescript/commonjs/theme/tokens.d.ts.map +1 -0
  248. package/lib/typescript/commonjs/timeline/DayColumn.d.ts +32 -0
  249. package/lib/typescript/commonjs/timeline/DayColumn.d.ts.map +1 -0
  250. package/lib/typescript/commonjs/timeline/DayPager.d.ts +32 -0
  251. package/lib/typescript/commonjs/timeline/DayPager.d.ts.map +1 -0
  252. package/lib/typescript/commonjs/timeline/EventBlock.d.ts +17 -0
  253. package/lib/typescript/commonjs/timeline/EventBlock.d.ts.map +1 -0
  254. package/lib/typescript/commonjs/timeline/GridLines.d.ts +5 -0
  255. package/lib/typescript/commonjs/timeline/GridLines.d.ts.map +1 -0
  256. package/lib/typescript/commonjs/timeline/HourGrid.d.ts +12 -0
  257. package/lib/typescript/commonjs/timeline/HourGrid.d.ts.map +1 -0
  258. package/lib/typescript/commonjs/timeline/NowIndicator.d.ts +28 -0
  259. package/lib/typescript/commonjs/timeline/NowIndicator.d.ts.map +1 -0
  260. package/lib/typescript/commonjs/timeline/TimelineDay.d.ts +14 -0
  261. package/lib/typescript/commonjs/timeline/TimelineDay.d.ts.map +1 -0
  262. package/lib/typescript/commonjs/timeline/packEvents.d.ts +25 -0
  263. package/lib/typescript/commonjs/timeline/packEvents.d.ts.map +1 -0
  264. package/lib/typescript/commonjs/timeline/timelineGeometry.d.ts +14 -0
  265. package/lib/typescript/commonjs/timeline/timelineGeometry.d.ts.map +1 -0
  266. package/lib/typescript/commonjs/timeline/timelineMath.d.ts +32 -0
  267. package/lib/typescript/commonjs/timeline/timelineMath.d.ts.map +1 -0
  268. package/lib/typescript/commonjs/types.d.ts +237 -0
  269. package/lib/typescript/commonjs/types.d.ts.map +1 -0
  270. package/lib/typescript/module/agenda/AgendaBackdrop.d.ts +20 -0
  271. package/lib/typescript/module/agenda/AgendaBackdrop.d.ts.map +1 -0
  272. package/lib/typescript/module/agenda/AgendaList.d.ts +12 -0
  273. package/lib/typescript/module/agenda/AgendaList.d.ts.map +1 -0
  274. package/lib/typescript/module/agenda/AgendaSlot.d.ts +45 -0
  275. package/lib/typescript/module/agenda/AgendaSlot.d.ts.map +1 -0
  276. package/lib/typescript/module/agenda/AgendaWindow.d.ts +49 -0
  277. package/lib/typescript/module/agenda/AgendaWindow.d.ts.map +1 -0
  278. package/lib/typescript/module/agenda/StickyHeaderOverlay.d.ts +39 -0
  279. package/lib/typescript/module/agenda/StickyHeaderOverlay.d.ts.map +1 -0
  280. package/lib/typescript/module/agenda/buildAgendaLayout.d.ts +57 -0
  281. package/lib/typescript/module/agenda/buildAgendaLayout.d.ts.map +1 -0
  282. package/lib/typescript/module/agenda/constants.d.ts +19 -0
  283. package/lib/typescript/module/agenda/constants.d.ts.map +1 -0
  284. package/lib/typescript/module/agenda/heights.d.ts +20 -0
  285. package/lib/typescript/module/agenda/heights.d.ts.map +1 -0
  286. package/lib/typescript/module/agenda/useAgendaScrollSync.d.ts +44 -0
  287. package/lib/typescript/module/agenda/useAgendaScrollSync.d.ts.map +1 -0
  288. package/lib/typescript/module/core/ArrowGlyph.d.ts +14 -0
  289. package/lib/typescript/module/core/ArrowGlyph.d.ts.map +1 -0
  290. package/lib/typescript/module/core/CalendarContext.d.ts +35 -0
  291. package/lib/typescript/module/core/CalendarContext.d.ts.map +1 -0
  292. package/lib/typescript/module/core/CalendarProvider.d.ts +41 -0
  293. package/lib/typescript/module/core/CalendarProvider.d.ts.map +1 -0
  294. package/lib/typescript/module/core/CalendarStore.d.ts +28 -0
  295. package/lib/typescript/module/core/CalendarStore.d.ts.map +1 -0
  296. package/lib/typescript/module/core/KitText.d.ts +10 -0
  297. package/lib/typescript/module/core/KitText.d.ts.map +1 -0
  298. package/lib/typescript/module/core/TodayButton.d.ts +18 -0
  299. package/lib/typescript/module/core/TodayButton.d.ts.map +1 -0
  300. package/lib/typescript/module/core/civil.d.ts +26 -0
  301. package/lib/typescript/module/core/civil.d.ts.map +1 -0
  302. package/lib/typescript/module/core/dateKey.d.ts +21 -0
  303. package/lib/typescript/module/core/dateKey.d.ts.map +1 -0
  304. package/lib/typescript/module/core/motion.d.ts +18 -0
  305. package/lib/typescript/module/core/motion.d.ts.map +1 -0
  306. package/lib/typescript/module/core/worklets.d.ts +12 -0
  307. package/lib/typescript/module/core/worklets.d.ts.map +1 -0
  308. package/lib/typescript/module/expandable/DayCell.d.ts +22 -0
  309. package/lib/typescript/module/expandable/DayCell.d.ts.map +1 -0
  310. package/lib/typescript/module/expandable/ExpandableCalendar.d.ts +40 -0
  311. package/lib/typescript/module/expandable/ExpandableCalendar.d.ts.map +1 -0
  312. package/lib/typescript/module/expandable/Knob.d.ts +19 -0
  313. package/lib/typescript/module/expandable/Knob.d.ts.map +1 -0
  314. package/lib/typescript/module/expandable/MonthPager.d.ts +35 -0
  315. package/lib/typescript/module/expandable/MonthPager.d.ts.map +1 -0
  316. package/lib/typescript/module/expandable/WeekStrip.d.ts +34 -0
  317. package/lib/typescript/module/expandable/WeekStrip.d.ts.map +1 -0
  318. package/lib/typescript/module/expandable/calendarCells.d.ts +52 -0
  319. package/lib/typescript/module/expandable/calendarCells.d.ts.map +1 -0
  320. package/lib/typescript/module/expandable/geometry.d.ts +43 -0
  321. package/lib/typescript/module/expandable/geometry.d.ts.map +1 -0
  322. package/lib/typescript/module/expandable/useExpandGesture.d.ts +35 -0
  323. package/lib/typescript/module/expandable/useExpandGesture.d.ts.map +1 -0
  324. package/lib/typescript/module/expandable/useHorizontalPager.d.ts +35 -0
  325. package/lib/typescript/module/expandable/useHorizontalPager.d.ts.map +1 -0
  326. package/lib/typescript/module/index.d.ts +26 -0
  327. package/lib/typescript/module/index.d.ts.map +1 -0
  328. package/lib/typescript/module/package.json +1 -0
  329. package/lib/typescript/module/theme/ThemeProvider.d.ts +27 -0
  330. package/lib/typescript/module/theme/ThemeProvider.d.ts.map +1 -0
  331. package/lib/typescript/module/theme/index.d.ts +4 -0
  332. package/lib/typescript/module/theme/index.d.ts.map +1 -0
  333. package/lib/typescript/module/theme/theme.d.ts +62 -0
  334. package/lib/typescript/module/theme/theme.d.ts.map +1 -0
  335. package/lib/typescript/module/theme/tokens.d.ts +46 -0
  336. package/lib/typescript/module/theme/tokens.d.ts.map +1 -0
  337. package/lib/typescript/module/timeline/DayColumn.d.ts +32 -0
  338. package/lib/typescript/module/timeline/DayColumn.d.ts.map +1 -0
  339. package/lib/typescript/module/timeline/DayPager.d.ts +32 -0
  340. package/lib/typescript/module/timeline/DayPager.d.ts.map +1 -0
  341. package/lib/typescript/module/timeline/EventBlock.d.ts +17 -0
  342. package/lib/typescript/module/timeline/EventBlock.d.ts.map +1 -0
  343. package/lib/typescript/module/timeline/GridLines.d.ts +5 -0
  344. package/lib/typescript/module/timeline/GridLines.d.ts.map +1 -0
  345. package/lib/typescript/module/timeline/HourGrid.d.ts +12 -0
  346. package/lib/typescript/module/timeline/HourGrid.d.ts.map +1 -0
  347. package/lib/typescript/module/timeline/NowIndicator.d.ts +28 -0
  348. package/lib/typescript/module/timeline/NowIndicator.d.ts.map +1 -0
  349. package/lib/typescript/module/timeline/TimelineDay.d.ts +14 -0
  350. package/lib/typescript/module/timeline/TimelineDay.d.ts.map +1 -0
  351. package/lib/typescript/module/timeline/packEvents.d.ts +25 -0
  352. package/lib/typescript/module/timeline/packEvents.d.ts.map +1 -0
  353. package/lib/typescript/module/timeline/timelineGeometry.d.ts +14 -0
  354. package/lib/typescript/module/timeline/timelineGeometry.d.ts.map +1 -0
  355. package/lib/typescript/module/timeline/timelineMath.d.ts +32 -0
  356. package/lib/typescript/module/timeline/timelineMath.d.ts.map +1 -0
  357. package/lib/typescript/module/types.d.ts +237 -0
  358. package/lib/typescript/module/types.d.ts.map +1 -0
  359. package/package.json +105 -0
  360. package/src/agenda/AgendaBackdrop.tsx +55 -0
  361. package/src/agenda/AgendaList.tsx +370 -0
  362. package/src/agenda/AgendaSlot.tsx +88 -0
  363. package/src/agenda/AgendaWindow.tsx +183 -0
  364. package/src/agenda/StickyHeaderOverlay.tsx +126 -0
  365. package/src/agenda/buildAgendaLayout.ts +110 -0
  366. package/src/agenda/constants.ts +22 -0
  367. package/src/agenda/heights.ts +44 -0
  368. package/src/agenda/useAgendaScrollSync.ts +251 -0
  369. package/src/core/ArrowGlyph.tsx +53 -0
  370. package/src/core/CalendarContext.ts +47 -0
  371. package/src/core/CalendarProvider.tsx +165 -0
  372. package/src/core/CalendarStore.ts +64 -0
  373. package/src/core/KitText.tsx +10 -0
  374. package/src/core/TodayButton.tsx +121 -0
  375. package/src/core/civil.ts +92 -0
  376. package/src/core/dateKey.ts +52 -0
  377. package/src/core/motion.ts +51 -0
  378. package/src/core/worklets.ts +37 -0
  379. package/src/expandable/DayCell.tsx +97 -0
  380. package/src/expandable/ExpandableCalendar.tsx +278 -0
  381. package/src/expandable/Knob.tsx +67 -0
  382. package/src/expandable/MonthPager.tsx +208 -0
  383. package/src/expandable/WeekStrip.tsx +439 -0
  384. package/src/expandable/calendarCells.ts +155 -0
  385. package/src/expandable/geometry.ts +51 -0
  386. package/src/expandable/useExpandGesture.ts +147 -0
  387. package/src/expandable/useHorizontalPager.ts +116 -0
  388. package/src/index.ts +62 -0
  389. package/src/theme/ThemeProvider.tsx +85 -0
  390. package/src/theme/index.ts +18 -0
  391. package/src/theme/theme.ts +110 -0
  392. package/src/theme/tokens.ts +50 -0
  393. package/src/timeline/DayColumn.tsx +84 -0
  394. package/src/timeline/DayPager.tsx +295 -0
  395. package/src/timeline/EventBlock.tsx +76 -0
  396. package/src/timeline/GridLines.tsx +36 -0
  397. package/src/timeline/HourGrid.tsx +90 -0
  398. package/src/timeline/NowIndicator.tsx +123 -0
  399. package/src/timeline/TimelineDay.tsx +112 -0
  400. package/src/timeline/packEvents.ts +118 -0
  401. package/src/timeline/timelineGeometry.ts +23 -0
  402. package/src/timeline/timelineMath.ts +86 -0
  403. package/src/types.ts +252 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_index","require","_tokens","_react","_reactNative","_reactNativeReanimated","_interopRequireWildcard","_timelineGeometry","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","KNOB_HANG","Math","floor","NOW_KNOB","SHOWN","opacity","HIDDEN","minutesAt","d","getHours","getMinutes","useNowMinutesSV","enabled","minutes","useSharedValue","Date","useEffect","timer","tick","now","value","setTimeout","getSeconds","getMilliseconds","sub","AppState","addEventListener","state","clearTimeout","remove","exports","NowIndicatorInner","hourHeight","styles","useKitStyles","makeStyles","position","useAnimatedStyle","top","jsxs","View","pointerEvents","style","root","children","jsx","line","knob","NowIndicator","memo","displayName","NowKnobInner","left","page","pageWidth","scrollX","atRest","dx","NowKnob","colors","StyleSheet","create","right","height","backgroundColor","nowIndicator","width","borderRadius","RADIUS","full"],"sourceRoot":"../../../src","sources":["timeline/NowIndicator.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TimelineList = void 0;
7
+ var _index = require("../theme/index.js");
8
+ var _react = require("react");
9
+ var _reactNative = require("react-native");
10
+ var _CalendarContext = require("../core/CalendarContext.js");
11
+ var _dateKey = require("../core/dateKey.js");
12
+ var _DayPager = require("./DayPager.js");
13
+ var _HourGrid = require("./HourGrid.js");
14
+ var _timelineGeometry = require("./timelineGeometry.js");
15
+ var _timelineMath = require("./timelineMath.js");
16
+ var _jsxRuntime = require("react/jsx-runtime");
17
+ /**
18
+ * The day view: ONE vertical ScrollView holding the time gutter and the day pager, so every day
19
+ * shares the vertical offset by construction. The start offset is a mount-time `contentOffset`;
20
+ * the caller mounts this conditionally, so every open recomputes it.
21
+ *
22
+ * The width is seeded from the window so the FIRST commit already holds the day columns (waiting
23
+ * for `onLayout` painted an empty grid first); `onLayout` corrects it when not full-width.
24
+ *
25
+ * `timelineProps.availableHours` replaces the library's inverted `unavailableHours` and also takes
26
+ * a per-date map, so a neighbouring day's bands are right mid-swipe.
27
+ */
28
+
29
+ const TimelineList = ({
30
+ events,
31
+ timelineProps = {},
32
+ showNowIndicator = false,
33
+ scrollToNow,
34
+ scrollToFirst,
35
+ initialTime
36
+ }) => {
37
+ const {
38
+ colors
39
+ } = (0, _index.useKitTheme)();
40
+ const styles = (0, _index.useKitStyles)(makeStyles);
41
+ const {
42
+ renderEvent,
43
+ onEventPress,
44
+ format24h = true,
45
+ overlapEventsSpacing = 0,
46
+ rightEdgeSpacing = 0,
47
+ availableHours,
48
+ availableHoursColor = colors.accentSubtle,
49
+ hourHeight = _timelineGeometry.HOUR_HEIGHT
50
+ } = timelineProps;
51
+ const {
52
+ range,
53
+ dateRef
54
+ } = (0, _CalendarContext.useCalendarContext)();
55
+ const [width, setWidth] = (0, _react.useState)(() => _reactNative.Dimensions.get('window').width);
56
+ const [contentOffset] = (0, _react.useState)(() => {
57
+ const ymd = dateRef.current;
58
+ const dayEvents = events[ymd];
59
+ let firstEventTop;
60
+ if (dayEvents?.length) {
61
+ let earliest = Infinity;
62
+ for (const e of dayEvents) earliest = Math.min(earliest, (0, _timelineMath.minutesOf)(e.start));
63
+ firstEventTop = earliest / 60 * hourHeight;
64
+ }
65
+ const y = (0, _timelineMath.initialScrollY)({
66
+ isToday: (0, _dateKey.dayIndexOf)(range, ymd) === range.todayIndex,
67
+ scrollToNow,
68
+ scrollToFirst,
69
+ initialTime,
70
+ firstEventTop,
71
+ hourHeight
72
+ });
73
+ return {
74
+ x: 0,
75
+ y
76
+ };
77
+ });
78
+ const availableHoursFor = (0, _react.useCallback)(ymd => Array.isArray(availableHours) ? availableHours : availableHours?.[ymd], [availableHours]);
79
+ const onLayout = (0, _react.useCallback)(e => {
80
+ const w = e.nativeEvent.layout.width;
81
+ setWidth(prev => Math.abs(prev - w) < 0.5 ? prev : w);
82
+ }, []);
83
+ const colW = Math.max(0, width - _timelineGeometry.GUTTER);
84
+ const dayHeight = (0, _timelineGeometry.gridHeight)(hourHeight);
85
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
86
+ style: styles.root,
87
+ onLayout: onLayout,
88
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
89
+ contentOffset: contentOffset,
90
+ showsVerticalScrollIndicator: false,
91
+ nestedScrollEnabled: true,
92
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
93
+ style: {
94
+ height: dayHeight + _timelineGeometry.CONTENT_BOTTOM_PAD
95
+ },
96
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_HourGrid.HourGrid, {
97
+ hourHeight: hourHeight,
98
+ format24h: format24h
99
+ }), colW > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_DayPager.DayPager, {
100
+ left: _timelineGeometry.GUTTER,
101
+ width: colW,
102
+ height: dayHeight,
103
+ events: events,
104
+ availableHoursFor: availableHoursFor,
105
+ bandColor: availableHoursColor,
106
+ hourHeight: hourHeight,
107
+ overlapEventsSpacing: overlapEventsSpacing,
108
+ rightEdgeSpacing: rightEdgeSpacing,
109
+ renderEvent: renderEvent,
110
+ onEventPress: onEventPress,
111
+ showNowIndicator: showNowIndicator
112
+ }) : null]
113
+ })
114
+ })
115
+ });
116
+ };
117
+ exports.TimelineList = TimelineList;
118
+ const makeStyles = ({
119
+ colors
120
+ }) => _reactNative.StyleSheet.create({
121
+ root: {
122
+ flex: 1,
123
+ backgroundColor: colors.surface
124
+ }
125
+ });
126
+ //# sourceMappingURL=TimelineDay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_index","require","_react","_reactNative","_CalendarContext","_dateKey","_DayPager","_HourGrid","_timelineGeometry","_timelineMath","_jsxRuntime","TimelineList","events","timelineProps","showNowIndicator","scrollToNow","scrollToFirst","initialTime","colors","useKitTheme","styles","useKitStyles","makeStyles","renderEvent","onEventPress","format24h","overlapEventsSpacing","rightEdgeSpacing","availableHours","availableHoursColor","accentSubtle","hourHeight","HOUR_HEIGHT","range","dateRef","useCalendarContext","width","setWidth","useState","Dimensions","get","contentOffset","ymd","current","dayEvents","firstEventTop","length","earliest","Infinity","e","Math","min","minutesOf","start","y","initialScrollY","isToday","dayIndexOf","todayIndex","x","availableHoursFor","useCallback","Array","isArray","onLayout","w","nativeEvent","layout","prev","abs","colW","max","GUTTER","dayHeight","gridHeight","jsx","View","style","root","children","ScrollView","showsVerticalScrollIndicator","nestedScrollEnabled","jsxs","height","CONTENT_BOTTOM_PAD","HourGrid","DayPager","left","bandColor","exports","StyleSheet","create","flex","backgroundColor","surface"],"sourceRoot":"../../../src","sources":["timeline/TimelineDay.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.packEvents = void 0;
7
+ var _timelineMath = require("./timelineMath.js");
8
+ /**
9
+ * Overlap packing for one day column — `react-native-calendars`' `Packer.js`, in minutes, so
10
+ * blocks land where react-native-calendars put them. Sort by start then end; a new overlap group starts
11
+ * at or after the latest end seen; first-fit into columns; each event gets `1/n` of the width,
12
+ * widened across later columns it does not collide with.
13
+ *
14
+ * Deliberate edge differences: a missing `end` is start + 60; an `end` at or before `start` is
15
+ * start + 15 (the library drew a negative height); collisions use an end of at least start + 15,
16
+ * so two zero-length events at one minute get their own columns.
17
+ *
18
+ * Invariant the span pass relies on: a column's events are sorted and pairwise disjoint, so the
19
+ * last event placed in a column is the only one that can still overlap a later-starting event.
20
+ * `lib/overlap-detection.ts` cannot execute (gap-6) — do not swap it in.
21
+ */
22
+
23
+ const SHORT_EVENT_MINUTES = 15;
24
+ const packEvents = (events, {
25
+ colW,
26
+ hourHeight,
27
+ overlapEventsSpacing = 0,
28
+ rightEdgeSpacing = 0
29
+ }) => {
30
+ if (!events?.length || colW <= 0) return [];
31
+ const items = events.map((ev, index) => {
32
+ const start = Math.min(Math.max((0, _timelineMath.minutesOf)(ev.start), 0), _timelineMath.DAY_MINUTES);
33
+ let end = ev.end ? (0, _timelineMath.minutesOf)(ev.end) : start + 60;
34
+ if (end <= start) end = start + SHORT_EVENT_MINUTES;
35
+ end = Math.min(end, _timelineMath.DAY_MINUTES);
36
+ const collEnd = Math.max(end, start + SHORT_EVENT_MINUTES);
37
+ return {
38
+ ev,
39
+ index,
40
+ start,
41
+ end,
42
+ collEnd,
43
+ span: Infinity
44
+ };
45
+ });
46
+ items.sort((a, b) => a.start - b.start || a.end - b.end || a.index - b.index);
47
+ const packed = [];
48
+ const totalW = colW - rightEdgeSpacing;
49
+ let columns = [];
50
+ /** `collEnd` of each column's last event: the whole collision test against that column. */
51
+ const lastEnd = [];
52
+ let groupEnd = -1;
53
+ const flush = () => {
54
+ const n = columns.length;
55
+ for (let c = 0; c < n; c += 1) {
56
+ for (const item of columns[c]) {
57
+ const span = Math.min(item.span, n - c);
58
+ let width = totalW * span / n;
59
+ if (c + span <= n - 1) width -= overlapEventsSpacing;
60
+ packed.push({
61
+ ...item.ev,
62
+ index: item.index,
63
+ left: c / n * totalW,
64
+ width,
65
+ top: item.start / 60 * hourHeight,
66
+ height: (item.end - item.start) / 60 * hourHeight
67
+ });
68
+ }
69
+ }
70
+ columns = [];
71
+ lastEnd.length = 0;
72
+ };
73
+ for (const item of items) {
74
+ if (columns.length && item.start >= groupEnd) {
75
+ flush();
76
+ groupEnd = -1;
77
+ }
78
+ const cols = lastEnd.length;
79
+ let col = 0;
80
+ while (col < cols && lastEnd[col] > item.start) col += 1;
81
+
82
+ // Every column left of `col` ends after this item starts: its last event stops spanning here.
83
+ for (let i = 0; i < col; i += 1) {
84
+ const last = columns[i][columns[i].length - 1];
85
+ if (last.span > col - i) last.span = col - i;
86
+ }
87
+ // The nearest column to the right still busy at this item's start caps its own span.
88
+ for (let k = col + 1; k < cols; k += 1) {
89
+ if (lastEnd[k] > item.start) {
90
+ item.span = k - col;
91
+ break;
92
+ }
93
+ }
94
+ if (col === cols) columns.push([item]);else columns[col].push(item);
95
+ lastEnd[col] = item.collEnd;
96
+ if (columns.length === 1 && columns[0].length === 1) groupEnd = item.collEnd;else if (item.collEnd > groupEnd) groupEnd = item.collEnd;
97
+ }
98
+ if (columns.length) flush();
99
+ return packed;
100
+ };
101
+ exports.packEvents = packEvents;
102
+ //# sourceMappingURL=packEvents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_timelineMath","require","SHORT_EVENT_MINUTES","packEvents","events","colW","hourHeight","overlapEventsSpacing","rightEdgeSpacing","length","items","map","ev","index","start","Math","min","max","minutesOf","DAY_MINUTES","end","collEnd","span","Infinity","sort","a","b","packed","totalW","columns","lastEnd","groupEnd","flush","n","c","item","width","push","left","top","height","cols","col","i","last","k","exports"],"sourceRoot":"../../../src","sources":["timeline/packEvents.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.gridHeight = exports.NOW_KNOB = exports.LINE_GUTTER_OVERHANG = exports.LABEL_PADDING_LEFT = exports.LABEL_OFFSET_Y = exports.HOUR_HEIGHT = exports.GUTTER = exports.EVENT_MIN_HEIGHT = exports.CONTENT_BOTTOM_PAD = void 0;
7
+ // Timeline geometry, numbers only. Transcribed from `react-native-calendars` (`Packer.js`,
8
+ // `TimelineHours.js`, `timeline/style.js`); GUTTER is the provider's `timelineLeftInset` default.
9
+
10
+ /** px per hour. The live event card's layout branches (<25 / <50 / <70) assume it. */
11
+ const HOUR_HEIGHT = exports.HOUR_HEIGHT = 100;
12
+ const GUTTER = exports.GUTTER = 72;
13
+
14
+ /** Hour lines start this far inside the gutter (`timelineLeftInset - 16`). */
15
+ const LINE_GUTTER_OVERHANG = exports.LINE_GUTTER_OVERHANG = 16;
16
+
17
+ /** Labels sit 6 px above their line, centred in the 56 px label box. */
18
+ const LABEL_OFFSET_Y = exports.LABEL_OFFSET_Y = -6;
19
+ const LABEL_PADDING_LEFT = exports.LABEL_PADDING_LEFT = 12;
20
+
21
+ /** `contentStyle.height: calendarHeight + 10`. */
22
+ const CONTENT_BOTTOM_PAD = exports.CONTENT_BOTTOM_PAD = 10;
23
+ const EVENT_MIN_HEIGHT = exports.EVENT_MIN_HEIGHT = 25;
24
+ const NOW_KNOB = exports.NOW_KNOB = 7;
25
+ const gridHeight = hourHeight => 24 * hourHeight;
26
+ exports.gridHeight = gridHeight;
27
+ //# sourceMappingURL=timelineGeometry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["HOUR_HEIGHT","exports","GUTTER","LINE_GUTTER_OVERHANG","LABEL_OFFSET_Y","LABEL_PADDING_LEFT","CONTENT_BOTTOM_PAD","EVENT_MIN_HEIGHT","NOW_KNOB","gridHeight","hourHeight"],"sourceRoot":"../../../src","sources":["timeline/timelineGeometry.ts"],"mappings":";;;;;;AAAA;AACA;;AAEA;AACO,MAAMA,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG,GAAG;AAEvB,MAAME,MAAM,GAAAD,OAAA,CAAAC,MAAA,GAAG,EAAE;;AAExB;AACO,MAAMC,oBAAoB,GAAAF,OAAA,CAAAE,oBAAA,GAAG,EAAE;;AAEtC;AACO,MAAMC,cAAc,GAAAH,OAAA,CAAAG,cAAA,GAAG,CAAC,CAAC;AACzB,MAAMC,kBAAkB,GAAAJ,OAAA,CAAAI,kBAAA,GAAG,EAAE;;AAEpC;AACO,MAAMC,kBAAkB,GAAAL,OAAA,CAAAK,kBAAA,GAAG,EAAE;AAE7B,MAAMC,gBAAgB,GAAAN,OAAA,CAAAM,gBAAA,GAAG,EAAE;AAE3B,MAAMC,QAAQ,GAAAP,OAAA,CAAAO,QAAA,GAAG,CAAC;AAElB,MAAMC,UAAU,GAAIC,UAAkB,IAAa,EAAE,GAAGA,UAAU;AAACT,OAAA,CAAAQ,UAAA,GAAAA,UAAA","ignoreList":[]}
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.minutesOf = exports.initialScrollY = exports.buildBands = exports.DAY_MINUTES = void 0;
7
+ /** Pure time ↔ pixel arithmetic for the timeline, in minutes of the day — never a `Date`. */
8
+
9
+ const DAY_MINUTES = exports.DAY_MINUTES = 24 * 60;
10
+ const digitAt = (s, i) => {
11
+ const d = s.charCodeAt(i) - 48;
12
+ return d >= 0 && d <= 9 ? d : -1;
13
+ };
14
+
15
+ /** Minute of the day from `'YYYY-MM-DD HH:mm:ss'` (HH at 11–12, mm at 14–15); 0 when unreadable. */
16
+ const minutesOf = dateTime => {
17
+ if (!dateTime || dateTime.length < 16) return 0;
18
+ const h1 = digitAt(dateTime, 11);
19
+ const h2 = digitAt(dateTime, 12);
20
+ const m1 = digitAt(dateTime, 14);
21
+ const m2 = digitAt(dateTime, 15);
22
+ if (h1 < 0 || h2 < 0 || m1 < 0 || m2 < 0) return 0;
23
+ return (h1 * 10 + h2) * 60 + m1 * 10 + m2;
24
+ };
25
+
26
+ /** `{ hour, minutes }` or `'H:mm'` → minute of the day. */
27
+ exports.minutesOf = minutesOf;
28
+ const initialTimeMinutes = t => {
29
+ if (t == null) return undefined;
30
+ if (typeof t === 'string') {
31
+ const [h, m] = t.split(':').map(Number);
32
+ return Number.isFinite(h) ? h * 60 + (Number.isFinite(m) ? m : 0) : undefined;
33
+ }
34
+ return t.hour * 60 + (t.minutes || 0);
35
+ };
36
+
37
+ /**
38
+ * Library precedence (`timeline-list`): today → `scrollToNow` only; other days → `scrollToFirst`
39
+ * (when the day has events) over `initialTime`. One hour above the target, as `Timeline.js` does.
40
+ */
41
+ const initialScrollY = ({
42
+ isToday,
43
+ scrollToNow,
44
+ scrollToFirst,
45
+ initialTime,
46
+ firstEventTop,
47
+ hourHeight,
48
+ now = new Date()
49
+ }) => {
50
+ let pos = 0;
51
+ if (isToday) {
52
+ if (scrollToNow) pos = (now.getHours() * 60 + now.getMinutes()) / 60 * hourHeight;
53
+ } else if (scrollToFirst && firstEventTop !== undefined) {
54
+ pos = firstEventTop;
55
+ } else {
56
+ const m = initialTimeMinutes(initialTime);
57
+ if (m !== undefined) pos = m / 60 * hourHeight;
58
+ }
59
+ return pos ? Math.max(0, pos - hourHeight) : 0;
60
+ };
61
+ exports.initialScrollY = initialScrollY;
62
+ /**
63
+ * Availability windows → pixel bands. Invalid windows are dropped silently: they are backend
64
+ * data, and the library's `console.error` raised a red box in debug builds.
65
+ */
66
+ const buildBands = (windows, hourHeight) => {
67
+ if (!windows?.length) return [];
68
+ const out = [];
69
+ for (const w of windows) {
70
+ if (!(w.start >= 0 && w.start < 25 && w.end >= 0 && w.end < 25)) continue;
71
+ if (w.start >= w.end) continue;
72
+ const e = Math.min(w.end, 24);
73
+ if (e <= w.start) continue;
74
+ out.push({
75
+ top: w.start * hourHeight,
76
+ height: (e - w.start) * hourHeight
77
+ });
78
+ }
79
+ return out;
80
+ };
81
+ exports.buildBands = buildBands;
82
+ //# sourceMappingURL=timelineMath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DAY_MINUTES","exports","digitAt","s","i","d","charCodeAt","minutesOf","dateTime","length","h1","h2","m1","m2","initialTimeMinutes","t","undefined","h","m","split","map","Number","isFinite","hour","minutes","initialScrollY","isToday","scrollToNow","scrollToFirst","initialTime","firstEventTop","hourHeight","now","Date","pos","getHours","getMinutes","Math","max","buildBands","windows","out","w","start","end","e","min","push","top","height"],"sourceRoot":"../../../src","sources":["timeline/timelineMath.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.UpdateSources = void 0;
7
+ /**
8
+ * react-native-agenda-kit — the public type surface.
9
+ *
10
+ * The kit is a PURE UI LIBRARY: it fetches nothing, knows no app type, and
11
+ * reads only design tokens. Everything domain-shaped (an appointment, a
12
+ * booking status, a locale) arrives as a caller-supplied render prop or a
13
+ * primitive. That boundary is what makes the three surfaces reusable and what
14
+ * keeps the CONSUMER's screen the only place that knows what a row *means*.
15
+ *
16
+ * Names deliberately match `react-native-calendars`' public API
17
+ * (`CalendarProvider`, `ExpandableCalendar`, `AgendaList`, `TimelineList`,
18
+ * `UpdateSources`) so a migrating screen's JSX is a copy, not a rewrite.
19
+ */
20
+
21
+ /** 'YYYY-MM-DD', local calendar day. The only date string the kit accepts. */
22
+
23
+ /**
24
+ * Why a date changed. The strings are byte-identical to the library's
25
+ * `commons.js` UpdateSources so the screen's `handleDateChanged` switch is a
26
+ * verbatim copy.
27
+ */
28
+ const UpdateSources = exports.UpdateSources = {
29
+ CALENDAR_INIT: 'calendarInit',
30
+ TODAY_PRESS: 'todayPress',
31
+ LIST_DRAG: 'listDrag',
32
+ DAY_PRESS: 'dayPress',
33
+ PAGE_SCROLL: 'pageScroll',
34
+ WEEK_SCROLL: 'weekScroll',
35
+ PROP_UPDATE: 'propUpdate'
36
+ };
37
+
38
+ /**
39
+ * Which surface *produced* a programmatic move. The originating scroller
40
+ * ignores its own origin, which is the whole echo-proofing story: no latches,
41
+ * no 500 ms timers, no `changedItems` bookkeeping.
42
+ */
43
+
44
+ /** One programmatic move. `seq` makes every move distinct even when `idx` repeats. */
45
+
46
+ /**
47
+ * The one index space. Every surface addresses a day by its integer offset
48
+ * from `start`: agenda section index, week page `floor(i/7)`, month page,
49
+ * timeline column. Worklets never touch strings.
50
+ *
51
+ * `start` is a Monday (the skeleton pads to whole weeks) and `days` is a
52
+ * multiple of 7, so `floor(dayIndex / 7)` is always a whole page.
53
+ */
54
+
55
+ /* ── Agenda ────────────────────────────────────────────────────────────── */
56
+
57
+ /**
58
+ * A day's worth of rows. `title` is the 'YYYY-MM-DD' key — the library's
59
+ * SectionList convention, kept so `renderSectionHeader` stays a copy.
60
+ */
61
+
62
+ /* ── Expandable calendar ───────────────────────────────────────────────── */
63
+
64
+ /** Accepted and never read — typed so JSX copied from `react-native-calendars` compiles unchanged. */
65
+
66
+ /* ── Timeline ──────────────────────────────────────────────────────────── */
67
+
68
+ /** `start` / `end` are 'YYYY-MM-DD HH:mm:ss' — the library's wire format. */
69
+
70
+ /** An inclusive window of *available* time. The kit never takes the inverse. */
71
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["UpdateSources","exports","CALENDAR_INIT","TODAY_PRESS","LIST_DRAG","DAY_PRESS","PAGE_SCROLL","WEEK_SCROLL","PROP_UPDATE"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA;;AAGA;AACA;AACA;AACA;AACA;AACO,MAAMA,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG;EAC3BE,aAAa,EAAE,cAAc;EAC7BC,WAAW,EAAE,YAAY;EACzBC,SAAS,EAAE,UAAU;EACrBC,SAAS,EAAE,UAAU;EACrBC,WAAW,EAAE,YAAY;EACzBC,WAAW,EAAE,YAAY;EACzBC,WAAW,EAAE;AACf,CAAU;;AAIV;AACA;AACA;AACA;AACA;;AAGA;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAmBA;;AAEA;AACA;AACA;AACA;;AA+DA;;AAoCA;;AAmBA;;AAEA;;AAmBA","ignoreList":[]}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * The "never white" layer: static skeleton tiles BEHIND the list, moved by the
5
+ * scroll offset modulo one tile.
6
+ *
7
+ * Every list renders rows from JavaScript, so a fling faster than the JS thread
8
+ * can mount rows leaves slots with nothing drawn. This layer exists before the
9
+ * rows do; drawn rows cover it (their slots paint the list ground). Measured
10
+ * with the list-library trial: 25–51 % white frames without it, 0 % with it, on
11
+ * every engine. No shimmer — it sits hidden behind real rows almost always.
12
+ */
13
+
14
+ import { memo, useMemo } from 'react';
15
+ import { Dimensions, StyleSheet, View } from 'react-native';
16
+ import Animated, { useAnimatedStyle } from 'react-native-reanimated';
17
+ import { jsx as _jsx } from "react/jsx-runtime";
18
+ const AgendaBackdropInner = ({
19
+ scrollY,
20
+ tileHeight,
21
+ renderTile
22
+ }) => {
23
+ const tiles = useMemo(() => {
24
+ if (tileHeight <= 0) return null;
25
+ const count = Math.ceil(Dimensions.get('window').height / tileHeight) + 2;
26
+ const tileStyle = {
27
+ height: tileHeight
28
+ };
29
+ const out = [];
30
+ for (let i = 0; i < count; i += 1) {
31
+ out.push(/*#__PURE__*/_jsx(View, {
32
+ style: tileStyle,
33
+ children: renderTile()
34
+ }, i));
35
+ }
36
+ return out;
37
+ }, [renderTile, tileHeight]);
38
+ const style = useAnimatedStyle(() => {
39
+ const r = tileHeight > 0 ? scrollY.value % tileHeight : 0;
40
+ return {
41
+ transform: [{
42
+ translateY: -(r < 0 ? r + tileHeight : r)
43
+ }]
44
+ };
45
+ });
46
+ return /*#__PURE__*/_jsx(View, {
47
+ pointerEvents: "none",
48
+ style: styles.fill,
49
+ children: /*#__PURE__*/_jsx(Animated.View, {
50
+ style: style,
51
+ children: tiles
52
+ })
53
+ });
54
+ };
55
+ export const AgendaBackdrop = /*#__PURE__*/memo(AgendaBackdropInner);
56
+ AgendaBackdrop.displayName = 'AgendaBackdrop';
57
+ const styles = StyleSheet.create({
58
+ fill: {
59
+ ...StyleSheet.absoluteFillObject,
60
+ overflow: 'hidden'
61
+ }
62
+ });
63
+ //# sourceMappingURL=AgendaBackdrop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["memo","useMemo","Dimensions","StyleSheet","View","Animated","useAnimatedStyle","jsx","_jsx","AgendaBackdropInner","scrollY","tileHeight","renderTile","tiles","count","Math","ceil","get","height","tileStyle","out","i","push","style","children","r","value","transform","translateY","pointerEvents","styles","fill","AgendaBackdrop","displayName","create","absoluteFillObject","overflow"],"sourceRoot":"../../../src","sources":["agenda/AgendaBackdrop.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,IAAI,EAAEC,OAAO,QAA2B,OAAO;AACxD,SAASC,UAAU,EAAEC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC3D,OAAOC,QAAQ,IAAIC,gBAAgB,QAA0B,yBAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQvF,MAAMC,mBAAmB,GAAGA,CAAC;EAAEC,OAAO;EAAEC,UAAU;EAAEC;AAAkB,CAAC,KAAK;EAC1E,MAAMC,KAAK,GAAGZ,OAAO,CAAC,MAAM;IAC1B,IAAIU,UAAU,IAAI,CAAC,EAAE,OAAO,IAAI;IAChC,MAAMG,KAAK,GAAGC,IAAI,CAACC,IAAI,CAACd,UAAU,CAACe,GAAG,CAAC,QAAQ,CAAC,CAACC,MAAM,GAAGP,UAAU,CAAC,GAAG,CAAC;IACzE,MAAMQ,SAAS,GAAG;MAAED,MAAM,EAAEP;IAAW,CAAC;IACxC,MAAMS,GAAmB,GAAG,EAAE;IAC9B,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGP,KAAK,EAAEO,CAAC,IAAI,CAAC,EAAE;MACjCD,GAAG,CAACE,IAAI,cACNd,IAAA,CAACJ,IAAI;QAASmB,KAAK,EAAEJ,SAAU;QAAAK,QAAA,EAC5BZ,UAAU,CAAC;MAAC,GADJS,CAEL,CACR,CAAC;IACH;IACA,OAAOD,GAAG;EACZ,CAAC,EAAE,CAACR,UAAU,EAAED,UAAU,CAAC,CAAC;EAE5B,MAAMY,KAAK,GAAGjB,gBAAgB,CAAC,MAAM;IACnC,MAAMmB,CAAC,GAAGd,UAAU,GAAG,CAAC,GAAGD,OAAO,CAACgB,KAAK,GAAGf,UAAU,GAAG,CAAC;IACzD,OAAO;MAAEgB,SAAS,EAAE,CAAC;QAAEC,UAAU,EAAE,EAAEH,CAAC,GAAG,CAAC,GAAGA,CAAC,GAAGd,UAAU,GAAGc,CAAC;MAAE,CAAC;IAAE,CAAC;EACvE,CAAC,CAAC;EAEF,oBACEjB,IAAA,CAACJ,IAAI;IAACyB,aAAa,EAAC,MAAM;IAACN,KAAK,EAAEO,MAAM,CAACC,IAAK;IAAAP,QAAA,eAC5ChB,IAAA,CAACH,QAAQ,CAACD,IAAI;MAACmB,KAAK,EAAEA,KAAM;MAAAC,QAAA,EAAEX;IAAK,CAAgB;EAAC,CAChD,CAAC;AAEX,CAAC;AAED,OAAO,MAAMmB,cAAc,gBAAGhC,IAAI,CAACS,mBAAmB,CAAC;AACvDuB,cAAc,CAACC,WAAW,GAAG,gBAAgB;AAE7C,MAAMH,MAAM,GAAG3B,UAAU,CAAC+B,MAAM,CAAC;EAC/BH,IAAI,EAAE;IAAE,GAAG5B,UAAU,CAACgC,kBAAkB;IAAEC,QAAQ,EAAE;EAAS;AAC/D,CAAC,CAAC","ignoreList":[]}