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,56 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useScreenReaderEnabled = exports.useReduceMotion = exports.kitDuration = exports.KIT_EASING = void 0;
7
+ var _tokens = require("../theme/tokens.js");
8
+ var _react = require("react");
9
+ var _reactNative = require("react-native");
10
+ var _reactNativeReanimated = require("react-native-reanimated");
11
+ /**
12
+ * The kit's motion inputs and the two accessibility flags it obeys.
13
+ *
14
+ * Durations come from `theme/tokens` (`ANIMATION.fast/base/slow`). They are
15
+ * module constants, not themeable: `KIT_EASING` is captured by worklets at
16
+ * module scope and so cannot read a React context.
17
+ */
18
+
19
+ const KIT_EASING = exports.KIT_EASING = _reactNativeReanimated.Easing.bezier(..._tokens.EASING.bezier);
20
+
21
+ /** Reanimated treats `duration: 0` as an immediate set, so a snap stays a snap. */
22
+ const kitDuration = (ms, reduced) => reduced ? 0 : ms;
23
+
24
+ /** A platform that cannot answer gets the default: full motion, visual calendar. */
25
+ exports.kitDuration = kitDuration;
26
+ const useA11yFlag = (read, event) => {
27
+ const [on, setOn] = (0, _react.useState)(false);
28
+ (0, _react.useEffect)(() => {
29
+ let alive = true;
30
+ read().then(value => {
31
+ if (alive) setOn(value);
32
+ }).catch(() => undefined);
33
+ const sub = _reactNative.AccessibilityInfo.addEventListener(event, value => {
34
+ if (alive) setOn(Boolean(value));
35
+ });
36
+ return () => {
37
+ alive = false;
38
+ sub.remove();
39
+ };
40
+ }, [read, event]);
41
+ return on;
42
+ };
43
+ const readReduceMotion = () => _reactNative.AccessibilityInfo.isReduceMotionEnabled();
44
+ const readScreenReader = () => _reactNative.AccessibilityInfo.isScreenReaderEnabled();
45
+
46
+ /** Subscribe ONCE per tree: the provider reads it and publishes it on the context. */
47
+ const useReduceMotion = () => useA11yFlag(readReduceMotion, 'reduceMotionChanged');
48
+
49
+ /**
50
+ * TalkBack does not see opacity, so the stacked week strip and month grid would
51
+ * both be read. `ExpandableCalendar` renders a static grid while this is true.
52
+ */
53
+ exports.useReduceMotion = useReduceMotion;
54
+ const useScreenReaderEnabled = () => useA11yFlag(readScreenReader, 'screenReaderChanged');
55
+ exports.useScreenReaderEnabled = useScreenReaderEnabled;
56
+ //# sourceMappingURL=motion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_tokens","require","_react","_reactNative","_reactNativeReanimated","KIT_EASING","exports","Easing","bezier","EASING","kitDuration","ms","reduced","useA11yFlag","read","event","on","setOn","useState","useEffect","alive","then","value","catch","undefined","sub","AccessibilityInfo","addEventListener","Boolean","remove","readReduceMotion","isReduceMotionEnabled","readScreenReader","isScreenReaderEnabled","useReduceMotion","useScreenReaderEnabled"],"sourceRoot":"../../../src","sources":["core/motion.ts"],"mappings":";;;;;;AAQA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,sBAAA,GAAAH,OAAA;AAXA;AACA;AACA;AACA;AACA;AACA;AACA;;AAOO,MAAMI,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAGE,6BAAM,CAACC,MAAM,CAAC,GAAGC,cAAM,CAACD,MAAM,CAAC;;AAEzD;AACO,MAAME,WAAW,GAAGA,CAACC,EAAU,EAAEC,OAAgB,KAAcA,OAAO,GAAG,CAAC,GAAGD,EAAG;;AAEvF;AAAAL,OAAA,CAAAI,WAAA,GAAAA,WAAA;AACA,MAAMG,WAAW,GAAGA,CAACC,IAA4B,EAAEC,KAAmC,KAAc;EAClG,MAAM,CAACC,EAAE,EAAEC,KAAK,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EACnC,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAIC,KAAK,GAAG,IAAI;IAChBN,IAAI,CAAC,CAAC,CACHO,IAAI,CAAEC,KAAK,IAAK;MACf,IAAIF,KAAK,EAAEH,KAAK,CAACK,KAAK,CAAC;IACzB,CAAC,CAAC,CACDC,KAAK,CAAC,MAAMC,SAAS,CAAC;IACzB,MAAMC,GAAG,GAAGC,8BAAiB,CAACC,gBAAgB,CAACZ,KAAK,EAAGO,KAAK,IAAK;MAC/D,IAAIF,KAAK,EAAEH,KAAK,CAACW,OAAO,CAACN,KAAK,CAAC,CAAC;IAClC,CAAC,CAAC;IACF,OAAO,MAAM;MACXF,KAAK,GAAG,KAAK;MACbK,GAAG,CAACI,MAAM,CAAC,CAAC;IACd,CAAC;EACH,CAAC,EAAE,CAACf,IAAI,EAAEC,KAAK,CAAC,CAAC;EACjB,OAAOC,EAAE;AACX,CAAC;AAED,MAAMc,gBAAgB,GAAGA,CAAA,KAAMJ,8BAAiB,CAACK,qBAAqB,CAAC,CAAC;AACxE,MAAMC,gBAAgB,GAAGA,CAAA,KAAMN,8BAAiB,CAACO,qBAAqB,CAAC,CAAC;;AAExE;AACO,MAAMC,eAAe,GAAGA,CAAA,KAAerB,WAAW,CAACiB,gBAAgB,EAAE,qBAAqB,CAAC;;AAElG;AACA;AACA;AACA;AAHAxB,OAAA,CAAA4B,eAAA,GAAAA,eAAA;AAIO,MAAMC,sBAAsB,GAAGA,CAAA,KACpCtB,WAAW,CAACmB,gBAAgB,EAAE,qBAAqB,CAAC;AAAC1B,OAAA,CAAA6B,sBAAA,GAAAA,sBAAA","ignoreList":[]}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.clampNum = exports.bsearchLE = void 0;
7
+ /**
8
+ * Module-scope `'worklet'` helpers. The babel plugin workletizes a top-level
9
+ * function with the directive unconditionally; inside a hook call it depends on
10
+ * configuration (`hooks/useChromeScrub.ts:24-39`).
11
+ */
12
+
13
+ /**
14
+ * Largest `i` with `offsets[i] <= y`, or 0. `offsets` is a strictly increasing
15
+ * prefix-sum table, so the search is exact and allocation-free.
16
+ */
17
+ const bsearchLE = (offsets, y) => {
18
+ 'worklet';
19
+
20
+ let lo = 0;
21
+ let hi = offsets.length - 1;
22
+ if (hi < 0 || y <= offsets[0]) return 0;
23
+ if (y >= offsets[hi]) return hi;
24
+ while (lo < hi) {
25
+ // Upper mid, so the loop converges on the LAST index satisfying the predicate.
26
+ const mid = lo + hi + 1 >> 1;
27
+ if (offsets[mid] <= y) lo = mid;else hi = mid - 1;
28
+ }
29
+ return lo;
30
+ };
31
+ exports.bsearchLE = bsearchLE;
32
+ const clampNum = (v, lo, hi) => {
33
+ 'worklet';
34
+
35
+ return v < lo ? lo : v > hi ? hi : v;
36
+ };
37
+
38
+ // Without the worklets babel plugin every scroll handler silently runs on the JS
39
+ // thread; the only symptom would be the jank the kit exists to remove.
40
+ exports.clampNum = clampNum;
41
+ if (__DEV__ && clampNum.__workletHash === undefined) {
42
+ console.error('[agenda-kit] worklet helpers are not workletized — the worklets babel plugin did not run over this package. Metro must apply babel to node_modules.');
43
+ }
44
+ //# sourceMappingURL=worklets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["bsearchLE","offsets","y","lo","hi","length","mid","exports","clampNum","v","__DEV__","__workletHash","undefined","console","error"],"sourceRoot":"../../../src","sources":["core/worklets.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACO,MAAMA,SAAS,GAAGA,CAACC,OAA0B,EAAEC,CAAS,KAAa;EAC1E,SAAS;;EACT,IAAIC,EAAE,GAAG,CAAC;EACV,IAAIC,EAAE,GAAGH,OAAO,CAACI,MAAM,GAAG,CAAC;EAC3B,IAAID,EAAE,GAAG,CAAC,IAAIF,CAAC,IAAID,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;EACvC,IAAIC,CAAC,IAAID,OAAO,CAACG,EAAE,CAAC,EAAE,OAAOA,EAAE;EAC/B,OAAOD,EAAE,GAAGC,EAAE,EAAE;IACd;IACA,MAAME,GAAG,GAAIH,EAAE,GAAGC,EAAE,GAAG,CAAC,IAAK,CAAC;IAC9B,IAAIH,OAAO,CAACK,GAAG,CAAC,IAAIJ,CAAC,EAAEC,EAAE,GAAGG,GAAG,CAAC,KAC3BF,EAAE,GAAGE,GAAG,GAAG,CAAC;EACnB;EACA,OAAOH,EAAE;AACX,CAAC;AAACI,OAAA,CAAAP,SAAA,GAAAA,SAAA;AAEK,MAAMQ,QAAQ,GAAGA,CAACC,CAAS,EAAEN,EAAU,EAAEC,EAAU,KAAa;EACrE,SAAS;;EACT,OAAOK,CAAC,GAAGN,EAAE,GAAGA,EAAE,GAAGM,CAAC,GAAGL,EAAE,GAAGA,EAAE,GAAGK,CAAC;AACtC,CAAC;;AAED;AACA;AAAAF,OAAA,CAAAC,QAAA,GAAAA,QAAA;AACA,IAAIE,OAAO,IAAKF,QAAQ,CAA4CG,aAAa,KAAKC,SAAS,EAAE;EAC/FC,OAAO,CAACC,KAAK,CACX,qJACF,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DayCell = void 0;
7
+ var _index = require("../theme/index.js");
8
+ var _tokens = require("../theme/tokens.js");
9
+ var _react = require("react");
10
+ var _reactNative = require("react-native");
11
+ var _KitText = require("../core/KitText.js");
12
+ var _geometry = require("./geometry.js");
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ /**
15
+ * One day in the MONTH GRID. Selection arrives as a plain prop from the committed
16
+ * date, and `memo` on primitive props means a commit re-renders two cells, not the
17
+ * month. (The week strip tracks a fling frame by frame with one pill instead.)
18
+ */
19
+
20
+ const DayCellInner = ({
21
+ dayIndex,
22
+ label,
23
+ left,
24
+ top,
25
+ isToday,
26
+ isDisabled,
27
+ isSelected,
28
+ dot,
29
+ onPress,
30
+ accessibilityLabel
31
+ }) => {
32
+ const styles = (0, _index.useKitStyles)(makeStyles);
33
+ const state = isSelected ? 3 : isDisabled ? 2 : isToday ? 1 : 0;
34
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
35
+ style: [styles.cell, {
36
+ left,
37
+ top
38
+ }, isSelected ? styles.cellSelected : null],
39
+ onPress: () => onPress(dayIndex),
40
+ disabled: isDisabled,
41
+ accessibilityRole: "button",
42
+ accessibilityLabel: accessibilityLabel,
43
+ accessibilityState: {
44
+ selected: isSelected,
45
+ disabled: isDisabled
46
+ },
47
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_KitText.KitText, {
48
+ style: styles.text[state],
49
+ children: label
50
+ }), dot !== null ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
51
+ style: [styles.dot, isSelected || !dot ? styles.dotFill[state] : {
52
+ backgroundColor: dot
53
+ }]
54
+ }) : null]
55
+ });
56
+ };
57
+ const DayCell = exports.DayCell = /*#__PURE__*/(0, _react.memo)(DayCellInner);
58
+ DayCell.displayName = 'DayCell';
59
+
60
+ /** `text` and `dotFill` are indexed by state: 0 plain, 1 today, 2 disabled, 3 selected. */
61
+ const makeStyles = ({
62
+ colors,
63
+ fonts
64
+ }) => {
65
+ const text = {
66
+ marginTop: _geometry.DAY_TEXT_MARGIN_TOP,
67
+ fontFamily: fonts.regular,
68
+ fontSize: _tokens.FONT_SIZE.sm,
69
+ lineHeight: _geometry.DAY_LINE_HEIGHT
70
+ };
71
+ const s = _reactNative.StyleSheet.create({
72
+ cell: {
73
+ position: 'absolute',
74
+ width: _geometry.DAY_CELL,
75
+ height: _geometry.DAY_CELL,
76
+ borderRadius: _tokens.RADIUS.full,
77
+ alignItems: 'center'
78
+ },
79
+ // The one accent use on the calendar — active selection: one accent, nowhere else.
80
+ cellSelected: {
81
+ backgroundColor: colors.accentFill
82
+ },
83
+ text: {
84
+ ...text,
85
+ color: colors.text
86
+ },
87
+ textToday: {
88
+ ...text,
89
+ color: colors.accent
90
+ },
91
+ textDisabled: {
92
+ ...text,
93
+ color: colors.textMuted
94
+ },
95
+ textSelected: {
96
+ ...text,
97
+ color: colors.onAccentFill
98
+ },
99
+ dot: {
100
+ width: _geometry.DOT_SIZE,
101
+ height: _geometry.DOT_SIZE,
102
+ marginTop: _geometry.DOT_MARGIN_TOP,
103
+ borderRadius: _tokens.RADIUS.full
104
+ },
105
+ dotDefault: {
106
+ backgroundColor: colors.accent
107
+ },
108
+ dotSelected: {
109
+ backgroundColor: colors.onAccentFill
110
+ }
111
+ });
112
+ return {
113
+ cell: s.cell,
114
+ cellSelected: s.cellSelected,
115
+ dot: s.dot,
116
+ text: [s.text, s.textToday, s.textDisabled, s.textSelected],
117
+ dotFill: [s.dotDefault, s.dotDefault, s.dotDefault, s.dotSelected]
118
+ };
119
+ };
120
+ //# sourceMappingURL=DayCell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_index","require","_tokens","_react","_reactNative","_KitText","_geometry","_jsxRuntime","DayCellInner","dayIndex","label","left","top","isToday","isDisabled","isSelected","dot","onPress","accessibilityLabel","styles","useKitStyles","makeStyles","state","jsxs","Pressable","style","cell","cellSelected","disabled","accessibilityRole","accessibilityState","selected","children","jsx","KitText","text","View","dotFill","backgroundColor","DayCell","exports","memo","displayName","colors","fonts","marginTop","DAY_TEXT_MARGIN_TOP","fontFamily","regular","fontSize","FONT_SIZE","sm","lineHeight","DAY_LINE_HEIGHT","s","StyleSheet","create","position","width","DAY_CELL","height","borderRadius","RADIUS","full","alignItems","accentFill","color","textToday","accent","textDisabled","textMuted","textSelected","onAccentFill","DOT_SIZE","DOT_MARGIN_TOP","dotDefault","dotSelected"],"sourceRoot":"../../../src","sources":["expandable/DayCell.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,280 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ExpandableCalendar = void 0;
7
+ var _index = require("../theme/index.js");
8
+ var _tokens = require("../theme/tokens.js");
9
+ var _react = require("react");
10
+ var _reactNative = require("react-native");
11
+ var _reactNativeGestureHandler = require("react-native-gesture-handler");
12
+ var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
13
+ var _CalendarContext = require("../core/CalendarContext.js");
14
+ var _dateKey = require("../core/dateKey.js");
15
+ var _motion = require("../core/motion.js");
16
+ var _worklets = require("../core/worklets.js");
17
+ var _calendarCells = require("./calendarCells.js");
18
+ var _geometry = require("./geometry.js");
19
+ var _Knob = require("./Knob.js");
20
+ var _MonthPager = require("./MonthPager.js");
21
+ var _useExpandGesture = require("./useExpandGesture.js");
22
+ var _WeekStrip = require("./WeekStrip.js");
23
+ var _jsxRuntime = require("react/jsx-runtime");
24
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
25
+ /**
26
+ * The expandable calendar — week strip closed, month grid open — and the body it
27
+ * pushes down.
28
+ *
29
+ * Nothing animates height. `progress` (0 closed, 1 open) moves and every layer
30
+ * reads it as a transform or opacity: the month layer fades in and slides from
31
+ * "selected week on top" to its natural place, the strip fades out, and the knob
32
+ * and fixed-height body translate by `progress · travel`, where `travel` belongs
33
+ * to the VISIBLE month and re-targets when that changes while open.
34
+ *
35
+ * The body renders `children` because it must read `progress`. A list drag closes
36
+ * an open calendar: the grid shows the committed date, the list the day under it.
37
+ * With a screen reader the calendar is a static open month grid — TalkBack ignores
38
+ * opacity, would read strip and grid both, and cannot perform the pan.
39
+ */
40
+
41
+ const POSITIONS = {
42
+ CLOSED: 'closed',
43
+ OPEN: 'open'
44
+ };
45
+ const {
46
+ closed: CLOSED_H,
47
+ full: CALENDAR_H
48
+ } = (0, _geometry.calendarHeights)(_geometry.MAX_WEEKS);
49
+ /**
50
+ * Invisible, so the stale translateY is unseen; one object makes Reanimated skip the
51
+ * update. Opacity only: `updateProps` reassigns `transform` on the object it is given.
52
+ */
53
+ const CLOSED_MONTH_STYLE = {
54
+ opacity: 0
55
+ };
56
+ const ExpandableCalendarInner = ({
57
+ initialPosition = 'closed',
58
+ onCalendarToggled,
59
+ style,
60
+ closeOnDayPress = true,
61
+ closeOnListScroll = true,
62
+ markedDates,
63
+ disablePan = false,
64
+ openThreshold,
65
+ closeThreshold,
66
+ knobAccessibilityLabel,
67
+ dayAccessibilityLabel,
68
+ monthShortLabels,
69
+ children,
70
+ ref
71
+ }) => {
72
+ const styles = (0, _index.useKitStyles)(makeStyles);
73
+ const {
74
+ range,
75
+ store,
76
+ dateRef,
77
+ setDate,
78
+ reduceMotion
79
+ } = (0, _CalendarContext.useCalendarContext)();
80
+ const date = (0, _CalendarContext.useCalendarDate)();
81
+ const screenReader = (0, _motion.useScreenReaderEnabled)();
82
+ const {
83
+ dayIndex,
84
+ listDragSeq
85
+ } = store;
86
+ const [layout, setLayout] = (0, _react.useState)(() => ({
87
+ width: _reactNative.Dimensions.get('window').width,
88
+ height: 0
89
+ }));
90
+ const [isOpen, setIsOpen] = (0, _react.useState)(initialPosition === 'open');
91
+ const {
92
+ labels,
93
+ ordinalByIndex,
94
+ pages
95
+ } = (0, _react.useMemo)(() => (0, _calendarCells.buildCalendarCells)(range), [range]);
96
+ const dots = (0, _react.useMemo)(() => (0, _calendarCells.buildDots)(range, markedDates), [range, markedDates]);
97
+ const lefts = (0, _react.useMemo)(() => (0, _calendarCells.cellLefts)(layout.width), [layout.width]);
98
+ const a11yLabels = (0, _react.useMemo)(() => screenReader && dayAccessibilityLabel ? range.ymdByIndex.map(ymd => dayAccessibilityLabel(ymd)) : undefined, [dayAccessibilityLabel, range, screenReader]);
99
+ const [initialPage] = (0, _react.useState)(() => (0, _calendarCells.pageOfIndex)(pages, (0, _dateKey.clampIndex)(range, (0, _dateKey.dayIndexOf)(range, dateRef.current))));
100
+ const progress = (0, _reactNativeReanimated.useSharedValue)(initialPosition === 'open' ? 1 : 0);
101
+ const visiblePage = (0, _reactNativeReanimated.useSharedValue)(initialPage);
102
+ const travel = (0, _reactNativeReanimated.useSharedValue)((0, _geometry.calendarHeights)(pages.weeksByPage[initialPage] ?? 5).travel);
103
+ const pagesSV = (0, _reactNativeReanimated.useSharedValue)(pages);
104
+ const writtenPages = (0, _react.useRef)(pages);
105
+ (0, _react.useLayoutEffect)(() => {
106
+ if (writtenPages.current === pages) return;
107
+ writtenPages.current = pages;
108
+ pagesSV.value = pages;
109
+ }, [pages, pagesSV]);
110
+ const retarget = (0, _motion.kitDuration)(_tokens.ANIMATION.base, reduceMotion);
111
+ (0, _reactNativeReanimated.useAnimatedReaction)(() => visiblePage.value, (page, prev) => {
112
+ if (prev === null || page === prev) return;
113
+ const next = (0, _geometry.calendarHeights)(pagesSV.value.weeksByPage[page] ?? 5).travel;
114
+ // Open: glide the body to the new month's bottom edge. Closed: record it for the next open.
115
+ travel.value = progress.value > 0 ? (0, _reactNativeReanimated.withTiming)(next, {
116
+ duration: retarget,
117
+ easing: _motion.KIT_EASING
118
+ }) : next;
119
+ });
120
+
121
+ // Through a ref: the gesture's worklets capture `handleToggled`, so it never changes identity.
122
+ const onToggledRef = (0, _react.useRef)(onCalendarToggled);
123
+ (0, _react.useLayoutEffect)(() => {
124
+ onToggledRef.current = onCalendarToggled;
125
+ });
126
+ const handleToggled = (0, _react.useCallback)(open => {
127
+ setIsOpen(open);
128
+ onToggledRef.current?.(open);
129
+ }, []);
130
+ const {
131
+ pan,
132
+ snapTo,
133
+ lastReported
134
+ } = (0, _useExpandGesture.useExpandGesture)({
135
+ progress,
136
+ travel,
137
+ enabled: !disablePan && !screenReader,
138
+ openThreshold,
139
+ closeThreshold,
140
+ reduceMotion,
141
+ initialOpen: initialPosition === 'open',
142
+ onToggled: handleToggled
143
+ });
144
+ const toggle = (0, _react.useCallback)(() => snapTo(), [snapTo]);
145
+
146
+ // Not foldable into the gesture's `initialOpen`/`enabled`: the flag resolves after
147
+ // mount, and `enabled` is also false for `disablePan`, which must not open.
148
+ (0, _react.useEffect)(() => {
149
+ if (screenReader) snapTo(1);
150
+ }, [screenReader, snapTo]);
151
+ (0, _reactNativeReanimated.useAnimatedReaction)(() => listDragSeq.value, (seq, prev) => {
152
+ // Only a CHANGE of the counter is a drag; its first reading is the mount.
153
+ if (prev === null || seq === prev || !closeOnListScroll || screenReader) return;
154
+ if (progress.value > 0) (0, _useExpandGesture.snap)(progress, lastReported, 0, reduceMotion, handleToggled);
155
+ });
156
+ (0, _react.useImperativeHandle)(ref, () => ({
157
+ toggleCalendarPosition: screenReader ? () => true : toggle
158
+ }), [screenReader, toggle]);
159
+ const handleDayPress = (0, _react.useCallback)(idx => {
160
+ if ((0, _dateKey.clampIndex)(range, idx) !== idx) return;
161
+ setDate((0, _dateKey.ymdAt)(range, idx), 'dayPress');
162
+ // Same tick as the date: no race between the agenda's scroll and the collapse.
163
+ if (closeOnDayPress && !screenReader && progress.value > 0) snapTo(0);
164
+ }, [closeOnDayPress, progress, range, screenReader, setDate, snapTo]);
165
+ const monthStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
166
+ const p = progress.value;
167
+ if (p === 0) return CLOSED_MONTH_STYLE;
168
+ const {
169
+ gridStartByPage,
170
+ weeksByPage
171
+ } = pagesSV.value;
172
+ const page = visiblePage.value;
173
+ const row = (0, _worklets.clampNum)(Math.floor((dayIndex.value - (gridStartByPage[page] ?? 0)) / 7), 0, (weeksByPage[page] ?? _geometry.MAX_WEEKS) - 1);
174
+ return {
175
+ opacity: p,
176
+ transform: [{
177
+ translateY: -(1 - p) * row * _geometry.WEEK_ROW_HEIGHT
178
+ }]
179
+ };
180
+ });
181
+ const weekStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
182
+ opacity: 1 - progress.value
183
+ }));
184
+ const knobStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
185
+ transform: [{
186
+ translateY: CLOSED_H - _geometry.KNOB_CONTAINER_HEIGHT + progress.value * travel.value
187
+ }]
188
+ }));
189
+ const bodyStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
190
+ transform: [{
191
+ translateY: progress.value * travel.value
192
+ }]
193
+ }));
194
+ const onLayout = (0, _react.useCallback)(e => {
195
+ const {
196
+ width,
197
+ height
198
+ } = e.nativeEvent.layout;
199
+ setLayout(prev => Math.abs(prev.width - width) < 0.5 && Math.abs(prev.height - height) < 0.5 ? prev : {
200
+ width,
201
+ height
202
+ });
203
+ }, []);
204
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
205
+ style: [styles.region, style],
206
+ onLayout: onLayout,
207
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector, {
208
+ gesture: pan,
209
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
210
+ collapsable: false,
211
+ style: styles.calendar,
212
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_MonthPager.MonthPager, {
213
+ width: layout.width,
214
+ lefts: lefts,
215
+ pages: pages,
216
+ pagesSV: pagesSV,
217
+ labels: labels,
218
+ a11yLabels: a11yLabels,
219
+ dots: dots,
220
+ selectedIndex: (0, _dateKey.dayIndexOf)(range, date),
221
+ initialPage: initialPage,
222
+ visiblePage: visiblePage,
223
+ onDayPress: handleDayPress,
224
+ animatedStyle: monthStyle,
225
+ isOpen: isOpen,
226
+ screenReader: screenReader
227
+ }), screenReader ? null : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
228
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_WeekStrip.WeekStrip, {
229
+ width: layout.width,
230
+ lefts: lefts,
231
+ labels: labels,
232
+ ordinals: ordinalByIndex,
233
+ monthShortLabels: monthShortLabels,
234
+ dots: dots,
235
+ onDayPress: handleDayPress,
236
+ animatedStyle: weekStyle,
237
+ interactive: !isOpen
238
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Knob.Knob, {
239
+ animatedStyle: knobStyle,
240
+ onPress: toggle,
241
+ accessibilityLabel: knobAccessibilityLabel
242
+ })]
243
+ })]
244
+ })
245
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
246
+ style: [styles.body, {
247
+ height: Math.max(0, layout.height - CLOSED_H)
248
+ }, bodyStyle],
249
+ children: children
250
+ })]
251
+ });
252
+ };
253
+ const ExpandableCalendar = exports.ExpandableCalendar = Object.assign(/*#__PURE__*/(0, _react.memo)(ExpandableCalendarInner), {
254
+ positions: POSITIONS
255
+ });
256
+ const makeStyles = ({
257
+ colors
258
+ }) => _reactNative.StyleSheet.create({
259
+ region: {
260
+ flex: 1,
261
+ overflow: 'hidden',
262
+ backgroundColor: colors.surface
263
+ },
264
+ calendar: {
265
+ position: 'absolute',
266
+ top: 0,
267
+ left: 0,
268
+ right: 0,
269
+ height: CALENDAR_H,
270
+ backgroundColor: colors.surface
271
+ },
272
+ body: {
273
+ position: 'absolute',
274
+ top: CLOSED_H,
275
+ left: 0,
276
+ right: 0,
277
+ backgroundColor: colors.surface
278
+ }
279
+ });
280
+ //# sourceMappingURL=ExpandableCalendar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_index","require","_tokens","_react","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_interopRequireWildcard","_CalendarContext","_dateKey","_motion","_worklets","_calendarCells","_geometry","_Knob","_MonthPager","_useExpandGesture","_WeekStrip","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","POSITIONS","CLOSED","OPEN","closed","CLOSED_H","full","CALENDAR_H","calendarHeights","MAX_WEEKS","CLOSED_MONTH_STYLE","opacity","ExpandableCalendarInner","initialPosition","onCalendarToggled","style","closeOnDayPress","closeOnListScroll","markedDates","disablePan","openThreshold","closeThreshold","knobAccessibilityLabel","dayAccessibilityLabel","monthShortLabels","children","ref","styles","useKitStyles","makeStyles","range","store","dateRef","setDate","reduceMotion","useCalendarContext","date","useCalendarDate","screenReader","useScreenReaderEnabled","dayIndex","listDragSeq","layout","setLayout","useState","width","Dimensions","height","isOpen","setIsOpen","labels","ordinalByIndex","pages","useMemo","buildCalendarCells","dots","buildDots","lefts","cellLefts","a11yLabels","ymdByIndex","map","ymd","undefined","initialPage","pageOfIndex","clampIndex","dayIndexOf","current","progress","useSharedValue","visiblePage","travel","weeksByPage","pagesSV","writtenPages","useRef","useLayoutEffect","value","retarget","kitDuration","ANIMATION","base","useAnimatedReaction","page","prev","next","withTiming","duration","easing","KIT_EASING","onToggledRef","handleToggled","useCallback","open","pan","snapTo","lastReported","useExpandGesture","enabled","initialOpen","onToggled","toggle","useEffect","seq","snap","useImperativeHandle","toggleCalendarPosition","handleDayPress","idx","ymdAt","monthStyle","useAnimatedStyle","p","gridStartByPage","row","clampNum","Math","floor","transform","translateY","WEEK_ROW_HEIGHT","weekStyle","knobStyle","KNOB_CONTAINER_HEIGHT","bodyStyle","onLayout","nativeEvent","abs","jsxs","View","region","jsx","GestureDetector","gesture","collapsable","calendar","MonthPager","selectedIndex","onDayPress","animatedStyle","Fragment","WeekStrip","ordinals","interactive","Knob","onPress","accessibilityLabel","body","max","ExpandableCalendar","exports","assign","memo","positions","colors","StyleSheet","create","flex","overflow","backgroundColor","surface","position","top","left","right"],"sourceRoot":"../../../src","sources":["expandable/ExpandableCalendar.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Knob = void 0;
7
+ var _index = require("../theme/index.js");
8
+ var _tokens = require("../theme/tokens.js");
9
+ var _react = require("react");
10
+ var _reactNative = require("react-native");
11
+ var _reactNativeReanimated = _interopRequireDefault(require("react-native-reanimated"));
12
+ var _geometry = require("./geometry.js");
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ /**
16
+ * The drag band under the calendar. A tap toggles; a drag anywhere on the
17
+ * calendar (not just here) opens and closes — the band is the affordance, not
18
+ * the only hit area.
19
+ *
20
+ * A `Pressable`, not a `Gesture.Tap` raced against the pan. The tap belongs to
21
+ * the knob alone; racing a tap on the whole detector would make every day-cell
22
+ * tap also toggle the calendar.
23
+ */
24
+
25
+ const KnobInner = ({
26
+ animatedStyle,
27
+ onPress,
28
+ accessibilityLabel
29
+ }) => {
30
+ const styles = (0, _index.useKitStyles)(makeStyles);
31
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
32
+ style: [styles.container, animatedStyle],
33
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
34
+ style: styles.hit,
35
+ onPress: onPress,
36
+ accessibilityRole: "button",
37
+ accessibilityLabel: accessibilityLabel,
38
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
39
+ style: styles.knob
40
+ })
41
+ })
42
+ });
43
+ };
44
+ const Knob = exports.Knob = /*#__PURE__*/(0, _react.memo)(KnobInner);
45
+ Knob.displayName = 'Knob';
46
+ const makeStyles = ({
47
+ colors
48
+ }) => _reactNative.StyleSheet.create({
49
+ container: {
50
+ position: 'absolute',
51
+ top: 0,
52
+ left: 0,
53
+ right: 0,
54
+ height: _geometry.KNOB_CONTAINER_HEIGHT,
55
+ backgroundColor: colors.surface
56
+ },
57
+ hit: {
58
+ flex: 1,
59
+ alignItems: 'center',
60
+ justifyContent: 'center'
61
+ },
62
+ knob: {
63
+ width: _geometry.KNOB_WIDTH,
64
+ height: _geometry.KNOB_HEIGHT,
65
+ // A pill is the one shape `full` exists for — the one shape `full` exists for.
66
+ borderRadius: _tokens.RADIUS.full,
67
+ // The library's default `expandableKnobColor` is #e8ecf0 — a slate grey,
68
+ // which reads as a tinted surface. `border` is the nearest true-neutral.
69
+ backgroundColor: colors.border
70
+ }
71
+ });
72
+ //# sourceMappingURL=Knob.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_index","require","_tokens","_react","_reactNative","_reactNativeReanimated","_interopRequireDefault","_geometry","_jsxRuntime","e","__esModule","default","KnobInner","animatedStyle","onPress","accessibilityLabel","styles","useKitStyles","makeStyles","jsx","View","style","container","children","Pressable","hit","accessibilityRole","knob","Knob","exports","memo","displayName","colors","StyleSheet","create","position","top","left","right","height","KNOB_CONTAINER_HEIGHT","backgroundColor","surface","flex","alignItems","justifyContent","width","KNOB_WIDTH","KNOB_HEIGHT","borderRadius","RADIUS","full","border"],"sourceRoot":"../../../src","sources":["expandable/Knob.tsx"],"mappings":";;;;;;AAUA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,sBAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AAA4E,IAAAO,WAAA,GAAAP,OAAA;AAAA,SAAAK,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAf5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAeA,MAAMG,SAAS,GAAGA,CAAC;EAAEC,aAAa;EAAEC,OAAO;EAAEC;AAA0B,CAAC,KAAK;EAC3E,MAAMC,MAAM,GAAG,IAAAC,mBAAY,EAACC,UAAU,CAAC;EACvC,oBACE,IAAAV,WAAA,CAAAW,GAAA,EAACd,sBAAA,CAAAM,OAAQ,CAACS,IAAI;IAACC,KAAK,EAAE,CAACL,MAAM,CAACM,SAAS,EAAET,aAAa,CAAE;IAAAU,QAAA,eACtD,IAAAf,WAAA,CAAAW,GAAA,EAACf,YAAA,CAAAoB,SAAS;MACRH,KAAK,EAAEL,MAAM,CAACS,GAAI;MAClBX,OAAO,EAAEA,OAAQ;MACjBY,iBAAiB,EAAC,QAAQ;MAC1BX,kBAAkB,EAAEA,kBAAmB;MAAAQ,QAAA,eAEvC,IAAAf,WAAA,CAAAW,GAAA,EAACf,YAAA,CAAAgB,IAAI;QAACC,KAAK,EAAEL,MAAM,CAACW;MAAK,CAAE;IAAC,CACnB;EAAC,CACC,CAAC;AAEpB,CAAC;AAEM,MAAMC,IAAI,GAAAC,OAAA,CAAAD,IAAA,gBAAG,IAAAE,WAAI,EAAClB,SAAS,CAAC;AACnCgB,IAAI,CAACG,WAAW,GAAG,MAAM;AAEzB,MAAMb,UAAU,GAAGA,CAAC;EAAEc;AAAqB,CAAC,KAC1CC,uBAAU,CAACC,MAAM,CAAC;EAChBZ,SAAS,EAAE;IACTa,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAEC,+BAAqB;IAC7BC,eAAe,EAAET,MAAM,CAACU;EAC1B,CAAC;EACDjB,GAAG,EAAE;IACHkB,IAAI,EAAE,CAAC;IACPC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDlB,IAAI,EAAE;IACJmB,KAAK,EAAEC,oBAAU;IACjBR,MAAM,EAAES,qBAAW;IACnB;IACAC,YAAY,EAAEC,cAAM,CAACC,IAAI;IACzB;IACA;IACAV,eAAe,EAAET,MAAM,CAACoB;EAC1B;AACF,CAAC,CAAC","ignoreList":[]}