react-native-roster 0.0.0 → 0.0.1

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 (362) hide show
  1. package/NOTICE.md +29 -0
  2. package/README.md +378 -2
  3. package/dist/src/adapters/rrule/cache.d.ts +15 -0
  4. package/dist/src/adapters/rrule/cache.d.ts.map +1 -0
  5. package/dist/src/adapters/rrule/cache.js +53 -0
  6. package/dist/src/adapters/rrule/cache.js.map +1 -0
  7. package/dist/src/adapters/rrule/envelope.d.ts +3 -0
  8. package/dist/src/adapters/rrule/envelope.d.ts.map +1 -0
  9. package/dist/src/adapters/rrule/envelope.js +9 -0
  10. package/dist/src/adapters/rrule/envelope.js.map +1 -0
  11. package/dist/src/adapters/rrule/expand.d.ts +4 -0
  12. package/dist/src/adapters/rrule/expand.d.ts.map +1 -0
  13. package/dist/src/adapters/rrule/expand.js +92 -0
  14. package/dist/src/adapters/rrule/expand.js.map +1 -0
  15. package/dist/src/adapters/rrule/hash.d.ts +3 -0
  16. package/dist/src/adapters/rrule/hash.d.ts.map +1 -0
  17. package/dist/src/adapters/rrule/hash.js +15 -0
  18. package/dist/src/adapters/rrule/hash.js.map +1 -0
  19. package/dist/src/adapters/rrule/index.d.ts +5 -0
  20. package/dist/src/adapters/rrule/index.d.ts.map +1 -0
  21. package/dist/src/adapters/rrule/index.js +12 -0
  22. package/dist/src/adapters/rrule/index.js.map +1 -0
  23. package/dist/src/adapters/rrule/net.d.ts +6 -0
  24. package/dist/src/adapters/rrule/net.d.ts.map +1 -0
  25. package/dist/src/adapters/rrule/net.js +31 -0
  26. package/dist/src/adapters/rrule/net.js.map +1 -0
  27. package/dist/src/adapters/rrule/occurrences.d.ts +6 -0
  28. package/dist/src/adapters/rrule/occurrences.d.ts.map +1 -0
  29. package/dist/src/adapters/rrule/occurrences.js +252 -0
  30. package/dist/src/adapters/rrule/occurrences.js.map +1 -0
  31. package/dist/src/adapters/rrule/types.d.ts +62 -0
  32. package/dist/src/adapters/rrule/types.d.ts.map +1 -0
  33. package/dist/src/adapters/rrule/types.js +3 -0
  34. package/dist/src/adapters/rrule/types.js.map +1 -0
  35. package/dist/src/adapters/rrule/validate.d.ts +6 -0
  36. package/dist/src/adapters/rrule/validate.d.ts.map +1 -0
  37. package/dist/src/adapters/rrule/validate.js +64 -0
  38. package/dist/src/adapters/rrule/validate.js.map +1 -0
  39. package/dist/src/components/layers/layers.types.d.ts +15 -0
  40. package/dist/src/components/layers/layers.types.d.ts.map +1 -0
  41. package/dist/src/components/layers/layers.types.js +3 -0
  42. package/dist/src/components/layers/layers.types.js.map +1 -0
  43. package/dist/src/components/layers/parts/gap.d.ts +3 -0
  44. package/dist/src/components/layers/parts/gap.d.ts.map +1 -0
  45. package/dist/src/components/layers/parts/gap.js +7 -0
  46. package/dist/src/components/layers/parts/gap.js.map +1 -0
  47. package/dist/src/components/layers/parts/interval.d.ts +3 -0
  48. package/dist/src/components/layers/parts/interval.d.ts.map +1 -0
  49. package/dist/src/components/layers/parts/interval.js +22 -0
  50. package/dist/src/components/layers/parts/interval.js.map +1 -0
  51. package/dist/src/components/layers/utils/styles.d.ts +7 -0
  52. package/dist/src/components/layers/utils/styles.d.ts.map +1 -0
  53. package/dist/src/components/layers/utils/styles.js +24 -0
  54. package/dist/src/components/layers/utils/styles.js.map +1 -0
  55. package/dist/src/components/primitives/press-point.d.ts +3 -0
  56. package/dist/src/components/primitives/press-point.d.ts.map +1 -0
  57. package/dist/src/components/primitives/press-point.js +7 -0
  58. package/dist/src/components/primitives/press-point.js.map +1 -0
  59. package/dist/src/components/primitives/press-point.types.d.ts +14 -0
  60. package/dist/src/components/primitives/press-point.types.d.ts.map +1 -0
  61. package/dist/src/components/primitives/press-point.types.js +3 -0
  62. package/dist/src/components/primitives/press-point.types.js.map +1 -0
  63. package/dist/src/components/primitives/press-point.web.d.ts +3 -0
  64. package/dist/src/components/primitives/press-point.web.d.ts.map +1 -0
  65. package/dist/src/components/primitives/press-point.web.js +17 -0
  66. package/dist/src/components/primitives/press-point.web.js.map +1 -0
  67. package/dist/src/components/primitives/region-style.d.ts +9 -0
  68. package/dist/src/components/primitives/region-style.d.ts.map +1 -0
  69. package/dist/src/components/primitives/region-style.js +20 -0
  70. package/dist/src/components/primitives/region-style.js.map +1 -0
  71. package/dist/src/components/roster/index.d.ts +3 -0
  72. package/dist/src/components/roster/index.d.ts.map +1 -0
  73. package/dist/src/components/roster/index.js +56 -0
  74. package/dist/src/components/roster/index.js.map +1 -0
  75. package/dist/src/components/roster/lanes/interval-hover.d.ts +3 -0
  76. package/dist/src/components/roster/lanes/interval-hover.d.ts.map +1 -0
  77. package/dist/src/components/roster/lanes/interval-hover.js +7 -0
  78. package/dist/src/components/roster/lanes/interval-hover.js.map +1 -0
  79. package/dist/src/components/roster/lanes/interval-hover.types.d.ts +15 -0
  80. package/dist/src/components/roster/lanes/interval-hover.types.d.ts.map +1 -0
  81. package/dist/src/components/roster/lanes/interval-hover.types.js +3 -0
  82. package/dist/src/components/roster/lanes/interval-hover.types.js.map +1 -0
  83. package/dist/src/components/roster/lanes/interval-hover.web.d.ts +3 -0
  84. package/dist/src/components/roster/lanes/interval-hover.web.d.ts.map +1 -0
  85. package/dist/src/components/roster/lanes/interval-hover.web.js +20 -0
  86. package/dist/src/components/roster/lanes/interval-hover.web.js.map +1 -0
  87. package/dist/src/components/roster/lanes/lane.d.ts +10 -0
  88. package/dist/src/components/roster/lanes/lane.d.ts.map +1 -0
  89. package/dist/src/components/roster/lanes/lane.js +37 -0
  90. package/dist/src/components/roster/lanes/lane.js.map +1 -0
  91. package/dist/src/components/roster/lanes/parts/incomplete.d.ts +8 -0
  92. package/dist/src/components/roster/lanes/parts/incomplete.d.ts.map +1 -0
  93. package/dist/src/components/roster/lanes/parts/incomplete.js +30 -0
  94. package/dist/src/components/roster/lanes/parts/incomplete.js.map +1 -0
  95. package/dist/src/components/roster/lanes/parts/lane-label.d.ts +3 -0
  96. package/dist/src/components/roster/lanes/parts/lane-label.d.ts.map +1 -0
  97. package/dist/src/components/roster/lanes/parts/lane-label.js +18 -0
  98. package/dist/src/components/roster/lanes/parts/lane-label.js.map +1 -0
  99. package/dist/src/components/roster/layout.d.ts +17 -0
  100. package/dist/src/components/roster/layout.d.ts.map +1 -0
  101. package/dist/src/components/roster/layout.js +24 -0
  102. package/dist/src/components/roster/layout.js.map +1 -0
  103. package/dist/src/components/roster/parts/body.d.ts +7 -0
  104. package/dist/src/components/roster/parts/body.d.ts.map +1 -0
  105. package/dist/src/components/roster/parts/body.js +29 -0
  106. package/dist/src/components/roster/parts/body.js.map +1 -0
  107. package/dist/src/components/roster/parts/corner.d.ts +2 -0
  108. package/dist/src/components/roster/parts/corner.d.ts.map +1 -0
  109. package/dist/src/components/roster/parts/corner.js +7 -0
  110. package/dist/src/components/roster/parts/corner.js.map +1 -0
  111. package/dist/src/components/roster/parts/empty.d.ts +2 -0
  112. package/dist/src/components/roster/parts/empty.d.ts.map +1 -0
  113. package/dist/src/components/roster/parts/empty.js +9 -0
  114. package/dist/src/components/roster/parts/empty.js.map +1 -0
  115. package/dist/src/components/roster/parts/grid.d.ts +3 -0
  116. package/dist/src/components/roster/parts/grid.d.ts.map +1 -0
  117. package/dist/src/components/roster/parts/grid.js +16 -0
  118. package/dist/src/components/roster/parts/grid.js.map +1 -0
  119. package/dist/src/components/roster/parts/header-cell.d.ts +5 -0
  120. package/dist/src/components/roster/parts/header-cell.d.ts.map +1 -0
  121. package/dist/src/components/roster/parts/header-cell.js +9 -0
  122. package/dist/src/components/roster/parts/header-cell.js.map +1 -0
  123. package/dist/src/components/roster/parts/header.d.ts +3 -0
  124. package/dist/src/components/roster/parts/header.d.ts.map +1 -0
  125. package/dist/src/components/roster/parts/header.js +13 -0
  126. package/dist/src/components/roster/parts/header.js.map +1 -0
  127. package/dist/src/components/roster/parts/lane-label-column.d.ts +3 -0
  128. package/dist/src/components/roster/parts/lane-label-column.d.ts.map +1 -0
  129. package/dist/src/components/roster/parts/lane-label-column.js +18 -0
  130. package/dist/src/components/roster/parts/lane-label-column.js.map +1 -0
  131. package/dist/src/components/roster/roster.types.d.ts +146 -0
  132. package/dist/src/components/roster/roster.types.d.ts.map +1 -0
  133. package/dist/src/components/roster/roster.types.js +3 -0
  134. package/dist/src/components/roster/roster.types.js.map +1 -0
  135. package/dist/src/components/roster/use-roster.d.ts +3 -0
  136. package/dist/src/components/roster/use-roster.d.ts.map +1 -0
  137. package/dist/src/components/roster/use-roster.js +106 -0
  138. package/dist/src/components/roster/use-roster.js.map +1 -0
  139. package/dist/src/components/roster/utils/body-content-key.d.ts +3 -0
  140. package/dist/src/components/roster/utils/body-content-key.d.ts.map +1 -0
  141. package/dist/src/components/roster/utils/body-content-key.js +29 -0
  142. package/dist/src/components/roster/utils/body-content-key.js.map +1 -0
  143. package/dist/src/components/roster/utils/ticks.d.ts +4 -0
  144. package/dist/src/components/roster/utils/ticks.d.ts.map +1 -0
  145. package/dist/src/components/roster/utils/ticks.js +60 -0
  146. package/dist/src/components/roster/utils/ticks.js.map +1 -0
  147. package/dist/src/components/schedule/days/day.d.ts +20 -0
  148. package/dist/src/components/schedule/days/day.d.ts.map +1 -0
  149. package/dist/src/components/schedule/days/day.js +26 -0
  150. package/dist/src/components/schedule/days/day.js.map +1 -0
  151. package/dist/src/components/schedule/days/header-layout.d.ts +9 -0
  152. package/dist/src/components/schedule/days/header-layout.d.ts.map +1 -0
  153. package/dist/src/components/schedule/days/header-layout.js +9 -0
  154. package/dist/src/components/schedule/days/header-layout.js.map +1 -0
  155. package/dist/src/components/schedule/days/layout.d.ts +18 -0
  156. package/dist/src/components/schedule/days/layout.d.ts.map +1 -0
  157. package/dist/src/components/schedule/days/layout.js +9 -0
  158. package/dist/src/components/schedule/days/layout.js.map +1 -0
  159. package/dist/src/components/schedule/days/parts/column.d.ts +3 -0
  160. package/dist/src/components/schedule/days/parts/column.d.ts.map +1 -0
  161. package/dist/src/components/schedule/days/parts/column.js +33 -0
  162. package/dist/src/components/schedule/days/parts/column.js.map +1 -0
  163. package/dist/src/components/schedule/days/parts/day-header.d.ts +5 -0
  164. package/dist/src/components/schedule/days/parts/day-header.d.ts.map +1 -0
  165. package/dist/src/components/schedule/days/parts/day-header.js +10 -0
  166. package/dist/src/components/schedule/days/parts/day-header.js.map +1 -0
  167. package/dist/src/components/schedule/days/parts/grid.d.ts +3 -0
  168. package/dist/src/components/schedule/days/parts/grid.d.ts.map +1 -0
  169. package/dist/src/components/schedule/days/parts/grid.js +14 -0
  170. package/dist/src/components/schedule/days/parts/grid.js.map +1 -0
  171. package/dist/src/components/schedule/days/parts/now-line.d.ts +5 -0
  172. package/dist/src/components/schedule/days/parts/now-line.d.ts.map +1 -0
  173. package/dist/src/components/schedule/days/parts/now-line.js +9 -0
  174. package/dist/src/components/schedule/days/parts/now-line.js.map +1 -0
  175. package/dist/src/components/schedule/days/parts/skipped-date.d.ts +4 -0
  176. package/dist/src/components/schedule/days/parts/skipped-date.d.ts.map +1 -0
  177. package/dist/src/components/schedule/days/parts/skipped-date.js +17 -0
  178. package/dist/src/components/schedule/days/parts/skipped-date.js.map +1 -0
  179. package/dist/src/components/schedule/days/parts/transition.d.ts +3 -0
  180. package/dist/src/components/schedule/days/parts/transition.d.ts.map +1 -0
  181. package/dist/src/components/schedule/days/parts/transition.js +42 -0
  182. package/dist/src/components/schedule/days/parts/transition.js.map +1 -0
  183. package/dist/src/components/schedule/index.d.ts +3 -0
  184. package/dist/src/components/schedule/index.d.ts.map +1 -0
  185. package/dist/src/components/schedule/index.js +45 -0
  186. package/dist/src/components/schedule/index.js.map +1 -0
  187. package/dist/src/components/schedule/layout.d.ts +15 -0
  188. package/dist/src/components/schedule/layout.d.ts.map +1 -0
  189. package/dist/src/components/schedule/layout.js +10 -0
  190. package/dist/src/components/schedule/layout.js.map +1 -0
  191. package/dist/src/components/schedule/parts/gutter.d.ts +3 -0
  192. package/dist/src/components/schedule/parts/gutter.d.ts.map +1 -0
  193. package/dist/src/components/schedule/parts/gutter.js +9 -0
  194. package/dist/src/components/schedule/parts/gutter.js.map +1 -0
  195. package/dist/src/components/schedule/parts/incomplete.d.ts +6 -0
  196. package/dist/src/components/schedule/parts/incomplete.d.ts.map +1 -0
  197. package/dist/src/components/schedule/parts/incomplete.js +9 -0
  198. package/dist/src/components/schedule/parts/incomplete.js.map +1 -0
  199. package/dist/src/components/schedule/schedule.types.d.ts +109 -0
  200. package/dist/src/components/schedule/schedule.types.d.ts.map +1 -0
  201. package/dist/src/components/schedule/schedule.types.js +3 -0
  202. package/dist/src/components/schedule/schedule.types.js.map +1 -0
  203. package/dist/src/components/schedule/use-schedule-viewport.d.ts +7 -0
  204. package/dist/src/components/schedule/use-schedule-viewport.d.ts.map +1 -0
  205. package/dist/src/components/schedule/use-schedule-viewport.js +15 -0
  206. package/dist/src/components/schedule/use-schedule-viewport.js.map +1 -0
  207. package/dist/src/components/schedule/use-schedule.d.ts +3 -0
  208. package/dist/src/components/schedule/use-schedule.d.ts.map +1 -0
  209. package/dist/src/components/schedule/use-schedule.js +71 -0
  210. package/dist/src/components/schedule/use-schedule.js.map +1 -0
  211. package/dist/src/components/schedule/utils/days.d.ts +17 -0
  212. package/dist/src/components/schedule/utils/days.d.ts.map +1 -0
  213. package/dist/src/components/schedule/utils/days.js +49 -0
  214. package/dist/src/components/schedule/utils/days.js.map +1 -0
  215. package/dist/src/core/axis.d.ts +18 -0
  216. package/dist/src/core/axis.d.ts.map +1 -0
  217. package/dist/src/core/axis.js +58 -0
  218. package/dist/src/core/axis.js.map +1 -0
  219. package/dist/src/core/cache.d.ts +29 -0
  220. package/dist/src/core/cache.d.ts.map +1 -0
  221. package/dist/src/core/cache.js +33 -0
  222. package/dist/src/core/cache.js.map +1 -0
  223. package/dist/src/core/columns.d.ts +3 -0
  224. package/dist/src/core/columns.d.ts.map +1 -0
  225. package/dist/src/core/columns.js +45 -0
  226. package/dist/src/core/columns.js.map +1 -0
  227. package/dist/src/core/coverage.d.ts +3 -0
  228. package/dist/src/core/coverage.d.ts.map +1 -0
  229. package/dist/src/core/coverage.js +60 -0
  230. package/dist/src/core/coverage.js.map +1 -0
  231. package/dist/src/core/flag.d.ts +3 -0
  232. package/dist/src/core/flag.d.ts.map +1 -0
  233. package/dist/src/core/flag.js +17 -0
  234. package/dist/src/core/flag.js.map +1 -0
  235. package/dist/src/core/hash.d.ts +5 -0
  236. package/dist/src/core/hash.d.ts.map +1 -0
  237. package/dist/src/core/hash.js +29 -0
  238. package/dist/src/core/hash.js.map +1 -0
  239. package/dist/src/core/hit-test.d.ts +6 -0
  240. package/dist/src/core/hit-test.d.ts.map +1 -0
  241. package/dist/src/core/hit-test.js +23 -0
  242. package/dist/src/core/hit-test.js.map +1 -0
  243. package/dist/src/core/index.d.ts +12 -0
  244. package/dist/src/core/index.d.ts.map +1 -0
  245. package/dist/src/core/index.js +30 -0
  246. package/dist/src/core/index.js.map +1 -0
  247. package/dist/src/core/layout.d.ts +3 -0
  248. package/dist/src/core/layout.d.ts.map +1 -0
  249. package/dist/src/core/layout.js +96 -0
  250. package/dist/src/core/layout.js.map +1 -0
  251. package/dist/src/core/order.d.ts +7 -0
  252. package/dist/src/core/order.d.ts.map +1 -0
  253. package/dist/src/core/order.js +12 -0
  254. package/dist/src/core/order.js.map +1 -0
  255. package/dist/src/core/scale.d.ts +9 -0
  256. package/dist/src/core/scale.d.ts.map +1 -0
  257. package/dist/src/core/scale.js +41 -0
  258. package/dist/src/core/scale.js.map +1 -0
  259. package/dist/src/core/snap.d.ts +10 -0
  260. package/dist/src/core/snap.d.ts.map +1 -0
  261. package/dist/src/core/snap.js +43 -0
  262. package/dist/src/core/snap.js.map +1 -0
  263. package/dist/src/core/spans.d.ts +3 -0
  264. package/dist/src/core/spans.d.ts.map +1 -0
  265. package/dist/src/core/spans.js +60 -0
  266. package/dist/src/core/spans.js.map +1 -0
  267. package/dist/src/core/types.d.ts +104 -0
  268. package/dist/src/core/types.d.ts.map +1 -0
  269. package/dist/src/core/types.js +3 -0
  270. package/dist/src/core/types.js.map +1 -0
  271. package/dist/src/core/zone.d.ts +10 -0
  272. package/dist/src/core/zone.d.ts.map +1 -0
  273. package/dist/src/core/zone.js +103 -0
  274. package/dist/src/core/zone.js.map +1 -0
  275. package/dist/src/index.d.ts +27 -0
  276. package/dist/src/index.d.ts.map +1 -0
  277. package/dist/src/index.js +63 -0
  278. package/dist/src/index.js.map +1 -0
  279. package/dist/src/nativewind/index.d.ts +61 -0
  280. package/dist/src/nativewind/index.d.ts.map +1 -0
  281. package/dist/src/nativewind/index.js +24 -0
  282. package/dist/src/nativewind/index.js.map +1 -0
  283. package/llms.txt +481 -0
  284. package/package.json +154 -8
  285. package/src/adapters/rrule/README.md +41 -0
  286. package/src/adapters/rrule/cache.ts +50 -0
  287. package/src/adapters/rrule/envelope.ts +7 -0
  288. package/src/adapters/rrule/expand.ts +105 -0
  289. package/src/adapters/rrule/hash.ts +13 -0
  290. package/src/adapters/rrule/index.ts +11 -0
  291. package/src/adapters/rrule/net.ts +30 -0
  292. package/src/adapters/rrule/occurrences.ts +288 -0
  293. package/src/adapters/rrule/types.ts +52 -0
  294. package/src/adapters/rrule/validate.ts +78 -0
  295. package/src/components/layers/README.md +11 -0
  296. package/src/components/layers/layers.types.ts +6 -0
  297. package/src/components/layers/parts/gap.tsx +5 -0
  298. package/src/components/layers/parts/interval.tsx +24 -0
  299. package/src/components/layers/utils/styles.ts +24 -0
  300. package/src/components/primitives/README.md +12 -0
  301. package/src/components/primitives/press-point.tsx +5 -0
  302. package/src/components/primitives/press-point.types.ts +5 -0
  303. package/src/components/primitives/press-point.web.tsx +19 -0
  304. package/src/components/primitives/region-style.ts +21 -0
  305. package/src/components/roster/README.md +18 -0
  306. package/src/components/roster/index.tsx +90 -0
  307. package/src/components/roster/lanes/interval-hover.tsx +5 -0
  308. package/src/components/roster/lanes/interval-hover.types.ts +11 -0
  309. package/src/components/roster/lanes/interval-hover.web.tsx +19 -0
  310. package/src/components/roster/lanes/lane.tsx +88 -0
  311. package/src/components/roster/lanes/parts/incomplete.tsx +44 -0
  312. package/src/components/roster/lanes/parts/lane-label.tsx +41 -0
  313. package/src/components/roster/layout.tsx +68 -0
  314. package/src/components/roster/parts/body.tsx +91 -0
  315. package/src/components/roster/parts/corner.tsx +3 -0
  316. package/src/components/roster/parts/empty.tsx +5 -0
  317. package/src/components/roster/parts/grid.tsx +26 -0
  318. package/src/components/roster/parts/header-cell.tsx +10 -0
  319. package/src/components/roster/parts/header.tsx +18 -0
  320. package/src/components/roster/parts/lane-label-column.tsx +31 -0
  321. package/src/components/roster/roster.types.ts +155 -0
  322. package/src/components/roster/use-roster.ts +133 -0
  323. package/src/components/roster/utils/body-content-key.ts +46 -0
  324. package/src/components/roster/utils/ticks.ts +62 -0
  325. package/src/components/schedule/README.md +18 -0
  326. package/src/components/schedule/days/day.tsx +76 -0
  327. package/src/components/schedule/days/header-layout.tsx +12 -0
  328. package/src/components/schedule/days/layout.tsx +38 -0
  329. package/src/components/schedule/days/parts/column.tsx +59 -0
  330. package/src/components/schedule/days/parts/day-header.tsx +18 -0
  331. package/src/components/schedule/days/parts/grid.tsx +21 -0
  332. package/src/components/schedule/days/parts/now-line.tsx +11 -0
  333. package/src/components/schedule/days/parts/skipped-date.tsx +22 -0
  334. package/src/components/schedule/days/parts/transition.tsx +70 -0
  335. package/src/components/schedule/index.tsx +109 -0
  336. package/src/components/schedule/layout.tsx +42 -0
  337. package/src/components/schedule/parts/gutter.tsx +16 -0
  338. package/src/components/schedule/parts/incomplete.tsx +13 -0
  339. package/src/components/schedule/schedule.types.ts +103 -0
  340. package/src/components/schedule/use-schedule-viewport.ts +13 -0
  341. package/src/components/schedule/use-schedule.ts +75 -0
  342. package/src/components/schedule/utils/days.ts +54 -0
  343. package/src/core/README.md +25 -0
  344. package/src/core/axis.ts +58 -0
  345. package/src/core/cache.ts +38 -0
  346. package/src/core/columns.ts +49 -0
  347. package/src/core/coverage.ts +56 -0
  348. package/src/core/flag.ts +14 -0
  349. package/src/core/hash.ts +28 -0
  350. package/src/core/hit-test.ts +27 -0
  351. package/src/core/index.ts +34 -0
  352. package/src/core/layout.ts +101 -0
  353. package/src/core/order.ts +18 -0
  354. package/src/core/scale.ts +45 -0
  355. package/src/core/snap.ts +52 -0
  356. package/src/core/spans.ts +58 -0
  357. package/src/core/types.ts +92 -0
  358. package/src/core/zone.ts +100 -0
  359. package/src/index.ts +49 -0
  360. package/src/nativewind/README.md +14 -0
  361. package/src/nativewind/index.ts +30 -0
  362. package/index.js +0 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash.js","sourceRoot":"","sources":["../../../../src/adapters/rrule/hash.ts"],"names":[],"mappings":";;;AAAA,0CAAgD;AAGhD,wEAAwE;AACxE,mFAAmF;AACnF,iBAAwB,KAA8B;IACpD,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACnC,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACnB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;QACtC,OAAO,IAAA,oBAAa,EAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,IAAA,oBAAa,EAAC,IAAI,CAAC,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { clearExpandCache, expandStats, resetExpandStats } from './cache';
2
+ export { envelopeFor } from './envelope';
3
+ export { expandRuleSet } from './expand';
4
+ export type { ExpandOptions, ExpandResult, ExpandStats, RosterDate, RosterRule, RuleSet, } from './types';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapters/rrule/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,YAAY,EACV,aAAa,EACb,YAAY,EACZ,WAAW,EACX,UAAU,EACV,UAAU,EACV,OAAO,GACR,MAAM,SAAS,CAAC"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.expandRuleSet = exports.envelopeFor = exports.resetExpandStats = exports.expandStats = exports.clearExpandCache = void 0;
4
+ var cache_1 = require("./cache");
5
+ Object.defineProperty(exports, "clearExpandCache", { enumerable: true, get: function () { return cache_1.clearExpandCache; } });
6
+ Object.defineProperty(exports, "expandStats", { enumerable: true, get: function () { return cache_1.expandStats; } });
7
+ Object.defineProperty(exports, "resetExpandStats", { enumerable: true, get: function () { return cache_1.resetExpandStats; } });
8
+ var envelope_1 = require("./envelope");
9
+ Object.defineProperty(exports, "envelopeFor", { enumerable: true, get: function () { return envelope_1.envelopeFor; } });
10
+ var expand_1 = require("./expand");
11
+ Object.defineProperty(exports, "expandRuleSet", { enumerable: true, get: function () { return expand_1.expandRuleSet; } });
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/adapters/rrule/index.ts"],"names":[],"mappings":";;;AAAA,iCAA0E;AAAjE,yGAAA,gBAAgB,OAAA;AAAE,oGAAA,WAAW,OAAA;AAAE,yGAAA,gBAAgB,OAAA;AACxD,uCAAyC;AAAhC,uGAAA,WAAW,OAAA;AACpB,mCAAyC;AAAhC,uGAAA,aAAa,OAAA"}
@@ -0,0 +1,6 @@
1
+ import type { Gap, Interval, Window } from '../../core';
2
+ export declare function net(includes: Interval[], excludes: Interval[], window: Window): {
3
+ intervals: Interval[];
4
+ gaps: Gap[];
5
+ };
6
+ //# sourceMappingURL=net.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"net.d.ts","sourceRoot":"","sources":["../../../../src/adapters/rrule/net.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAGxD,wBAAgB,GAAG,CACjB,QAAQ,EAAE,QAAQ,EAAE,EACpB,QAAQ,EAAE,QAAQ,EAAE,EACpB,MAAM,EAAE,MAAM,GACb;IAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IAAC,IAAI,EAAE,GAAG,EAAE,CAAA;CAAE,CAsBxC"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.net = net;
4
+ const spans_1 = require("../../core/spans");
5
+ function net(includes, excludes, window) {
6
+ const covered = (0, spans_1.sourceSpans)(includes, window);
7
+ const removed = (0, spans_1.sourceSpans)(excludes, window);
8
+ const intervals = [];
9
+ const gaps = [];
10
+ let first = 0;
11
+ for (const include of covered) {
12
+ let start = include.start;
13
+ while (first < removed.length && removed[first].end <= start)
14
+ first++;
15
+ for (let i = first; i < removed.length; i++) {
16
+ const exclude = removed[i];
17
+ if (exclude.start >= include.end)
18
+ break;
19
+ if (start < exclude.start)
20
+ intervals.push({ start, end: exclude.start, sources: include.sources });
21
+ const end = Math.min(include.end, exclude.end);
22
+ gaps.push({ start: Math.max(start, exclude.start), end, sources: exclude.sources });
23
+ start = end;
24
+ }
25
+ if (start < include.end)
26
+ intervals.push({ start, end: include.end, sources: include.sources });
27
+ }
28
+ // Include source changes cannot split an otherwise identical removed span.
29
+ return { intervals, gaps: (0, spans_1.sourceSpans)(gaps, window) };
30
+ }
31
+ //# sourceMappingURL=net.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"net.js","sourceRoot":"","sources":["../../../../src/adapters/rrule/net.ts"],"names":[],"mappings":";;;AACA,4CAA+C;AAE/C,aACE,QAAoB,EACpB,QAAoB,EACpB,MAAc;IAEd,MAAM,OAAO,GAAG,IAAA,mBAAW,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,IAAA,mBAAW,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAe,EAAE,CAAC;IACjC,MAAM,IAAI,GAAU,EAAE,CAAC;IACvB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;QAC9B,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC1B,OAAO,KAAK,GAAG,OAAO,CAAC,MAAM,IAAK,OAAO,CAAC,KAAK,CAAS,CAAC,GAAG,IAAI,KAAK;YAAE,KAAK,EAAE,CAAC;QAC/E,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAQ,CAAC;YAClC,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG;gBAAE,MAAM;YACxC,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK;gBACvB,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;YAC/C,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YACpF,KAAK,GAAG,GAAG,CAAC;QACd,CAAC;QACD,IAAI,KAAK,GAAG,OAAO,CAAC,GAAG;YAAE,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACjG,CAAC;IACD,2EAA2E;IAC3E,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAA,mBAAW,EAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;AACxD,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { Window } from '../../core';
2
+ import type { Occurrences } from './cache';
3
+ import type { RosterDate, RosterRule } from './types';
4
+ export declare function enumerate(input: RosterRule | RosterDate, envelope: Window, cap: number, advanceAnchor?: boolean): Occurrences;
5
+ export declare function validateDates(input: RosterRule | RosterDate): void;
6
+ //# sourceMappingURL=occurrences.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"occurrences.d.ts","sourceRoot":"","sources":["../../../../src/adapters/rrule/occurrences.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAW,MAAM,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAYtD,wBAAgB,SAAS,CACvB,KAAK,EAAE,UAAU,GAAG,UAAU,EAC9B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EAEX,aAAa,UAAO,GACnB,WAAW,CA2Kb;AAGD,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI,CAQlE"}
@@ -0,0 +1,252 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.enumerate = enumerate;
4
+ exports.validateDates = validateDates;
5
+ // 1.6.0 is an ES module package with a CommonJS build under its require condition
6
+ // and declarations resolved under import. Keep its actual types while selecting
7
+ // the require export for our CJS build and Metro source entry.
8
+ const { allowedWeekdays, RRuleTemporal } = require('rrule-temporal');
9
+ // Both engines must use the same polyfill export; mixed import/require copies
10
+ // fail the recurrence engine's ZonedDateTime instanceof check.
11
+ const { Temporal } = require('@js-temporal/polyfill');
12
+ function enumerate(input, envelope, cap,
13
+ // Internal reference path for testing against original-anchor enumeration.
14
+ advanceAnchor = true) {
15
+ const result = { spans: [], capped: false };
16
+ const admit = (date) => {
17
+ const span = hoursFor(date, input);
18
+ if (span.start >= envelope.end || span.end <= envelope.start || span.start >= span.end)
19
+ return true;
20
+ if (result.spans.length === cap) {
21
+ result.capped = true;
22
+ return false;
23
+ }
24
+ result.spans.push(span);
25
+ return true;
26
+ };
27
+ if ('date' in input) {
28
+ admit(Temporal.PlainDate.from(input.date));
29
+ return result;
30
+ }
31
+ const original = dateTime(input.dtstart, input.timezone);
32
+ const originalWall = plain(original);
33
+ // A cross-date rollback can leave the end on the preceding wall date.
34
+ // Include the following date completely; envelope clipping discards extra candidates.
35
+ const upper = Temporal.Instant.fromEpochMilliseconds(envelope.end)
36
+ .toZonedDateTimeISO(input.timezone)
37
+ .add({ days: 2 })
38
+ .startOfDay();
39
+ const until = input.until === undefined
40
+ ? upper.toPlainDateTime()
41
+ : dateTime(input.until, input.timezone, true);
42
+ const untilDate = input.until !== undefined && /^\d{4}-\d{2}-\d{2}$/.test(input.until)
43
+ ? Temporal.PlainDate.from(input.until)
44
+ : undefined;
45
+ if (!untilDate &&
46
+ (until instanceof Temporal.ZonedDateTime
47
+ ? Temporal.ZonedDateTime.compare(until, anchorFor(original.toPlainDate(), original, input.timezone)) < 0
48
+ : Temporal.PlainDateTime.compare(until, originalWall) < 0))
49
+ return result;
50
+ const anchorWallTime = original.toPlainTime();
51
+ // Iterate wall dates in UTC so zone skips cannot normalize a candidate date.
52
+ // The callback applies the original date cutoff or the exact datetime UNTIL.
53
+ const untilDateEnd = (untilDate ?? until.toPlainDate())
54
+ // An instant after a midnight rollback can have the preceding local date.
55
+ // Keep the later wall date available for the callback's exact-instant filter.
56
+ .add({ days: until instanceof Temporal.ZonedDateTime ? 1 : 0 })
57
+ .toPlainDateTime('23:59:59.999')
58
+ .toZonedDateTime('UTC');
59
+ const upperDate = upper.toPlainDateTime().toZonedDateTime('UTC');
60
+ // Only midnight anchors with interval 1 and no COUNT may skip periods.
61
+ const anchor = advanceAnchor &&
62
+ (input.interval === undefined || input.interval === 1) &&
63
+ input.count === undefined &&
64
+ anchorWallTime.equals('00:00')
65
+ ? advance(originalWall, envelope, input)
66
+ : originalWall;
67
+ const positional = !!input.bysetpos?.length;
68
+ const unit = periodUnit(input);
69
+ const firstPeriod = periodStart(anchor.toPlainDate(), input);
70
+ const bound = Temporal.ZonedDateTime.compare(untilDateEnd, upperDate) < 0 ? untilDateEnd : upperDate;
71
+ const lastPeriod = periodStart(bound.toPlainDate(), input);
72
+ if (Temporal.PlainDate.compare(firstPeriod, lastPeriod) > 0)
73
+ return result;
74
+ // 1.5.2 tests UNTIL only while visiting candidates in its monthly loop.
75
+ // Every supported loop advances at least one authored period per iteration.
76
+ // Exhaustion after the final query period is complete, even with no candidates.
77
+ const maxIterations = Math.floor(firstPeriod.until(lastPeriod, { largestUnit: unit })[unit] / (input.interval ?? 1)) +
78
+ 1;
79
+ const engine = new RRuleTemporal({
80
+ freq: input.frequency,
81
+ dtstart: firstPeriod.toPlainDateTime(anchorWallTime).toZonedDateTime('UTC'),
82
+ // Positions must see the entire final period before UNTIL and envelope admission.
83
+ until: positional
84
+ ? lastPeriod
85
+ .add({ [unit]: 1 })
86
+ .toZonedDateTime('UTC')
87
+ .subtract({ milliseconds: 1 })
88
+ : bound,
89
+ interval: input.interval,
90
+ wkst: allowedWeekdays[input.wkst ?? 0],
91
+ byDay: input.frequency !== 'DAILY' && input.byweekday?.length
92
+ ? input.byweekday.map((day) => allowedWeekdays[day])
93
+ : input.frequency === 'WEEKLY' && !input.bymonthday?.length
94
+ ? [allowedWeekdays[(original.dayOfWeek - 1)]]
95
+ : undefined,
96
+ byMonth: input.bymonth,
97
+ // Explicitly preserve the implicit monthly day; 1.5.2's fallback otherwise
98
+ // constrains a 31st through February and drifts subsequent months.
99
+ byMonthDay: input.bymonthday?.length
100
+ ? input.bymonthday
101
+ : input.frequency === 'MONTHLY' && !input.byweekday?.length
102
+ ? [original.day]
103
+ : undefined,
104
+ tzid: 'UTC',
105
+ includeDtstart: false,
106
+ maxIterations,
107
+ });
108
+ // Version 1.5.2 can replay the iterator when applying its final count filter.
109
+ // Admit each local date once so replay cannot consume COUNT or the cap twice.
110
+ const visited = new Set();
111
+ let admitted = 0;
112
+ const visit = (date) => {
113
+ if (result.capped || admitted === input.count)
114
+ return false;
115
+ if (Temporal.PlainDate.compare(date, original.toPlainDate()) < 0)
116
+ return true;
117
+ const key = date.toString();
118
+ if (visited.has(key))
119
+ return true;
120
+ visited.add(key);
121
+ if (untilDate) {
122
+ if (Temporal.PlainDate.compare(date, untilDate) > 0)
123
+ return true;
124
+ }
125
+ else if (until instanceof Temporal.ZonedDateTime
126
+ ? Temporal.ZonedDateTime.compare(anchorFor(date, original, input.timezone), until) > 0
127
+ : Temporal.PlainDateTime.compare(date.toPlainDateTime(anchorWallTime), until) > 0)
128
+ return true;
129
+ if (!date.toZonedDateTime(input.timezone).toPlainDate().equals(date))
130
+ return true;
131
+ // Lifetime COUNT includes existing dates before the envelope, but never skipped dates.
132
+ admitted++;
133
+ return admit(date);
134
+ };
135
+ let candidateCount = 0;
136
+ let period = '';
137
+ let candidates = [];
138
+ const flush = () => {
139
+ const selected = candidates.filter((_, index) => input.bysetpos?.some((position) => position > 0 ? index === position - 1 : index === candidates.length + position));
140
+ candidates = [];
141
+ return selected.every(visit);
142
+ };
143
+ try {
144
+ engine.all((occurrence, index) => {
145
+ const date = occurrence.toPlainDate();
146
+ // Replayed callback indices restart at zero. They must not enlarge a
147
+ // buffered period, especially when the whole query has only one candidate.
148
+ if (positional && index < candidateCount)
149
+ return false;
150
+ candidateCount++;
151
+ // DAILY BYDAY re-anchors the engine; filter the authored sequence here.
152
+ if (input.frequency === 'DAILY' &&
153
+ input.byweekday?.length &&
154
+ !input.byweekday.includes((date.dayOfWeek - 1)))
155
+ return true;
156
+ if (!positional)
157
+ return visit(date);
158
+ const key = periodStart(date, input).toString();
159
+ if (key !== period) {
160
+ if (!flush())
161
+ return false;
162
+ period = key;
163
+ }
164
+ candidates.push(date);
165
+ return true;
166
+ });
167
+ }
168
+ catch (error) {
169
+ if (!(error instanceof Error) ||
170
+ error.message !== `Maximum iterations (${maxIterations}) exceeded in all()`)
171
+ throw error;
172
+ }
173
+ flush();
174
+ return result;
175
+ }
176
+ // Validate temporal fields even when the display window has no elapsed time.
177
+ function validateDates(input) {
178
+ if ('date' in input) {
179
+ Temporal.PlainDate.from(input.date).toZonedDateTime(input.timezone);
180
+ return;
181
+ }
182
+ plain(dateTime(input.dtstart, input.timezone)).toZonedDateTime(input.timezone);
183
+ if (input.until !== undefined)
184
+ plain(dateTime(input.until, input.timezone, true)).toZonedDateTime(input.timezone);
185
+ }
186
+ function hoursFor(date, input) {
187
+ const midnight = date.toPlainDateTime();
188
+ const dayStart = date.toZonedDateTime(input.timezone);
189
+ if (!dayStart.toPlainDate().equals(date)) {
190
+ return { start: dayStart.epochMilliseconds, end: dayStart.epochMilliseconds };
191
+ }
192
+ const wholeDay = input.hourstart === undefined && input.hourend === undefined;
193
+ // Whole-day bounds resolve PlainDates to first instants. Explicit hours use
194
+ // compatible wall time, choosing the earlier repeat and advancing skips.
195
+ const at = (hour) => {
196
+ const wall = midnight.add({ milliseconds: Math.round(hour * 3_600_000) });
197
+ return (wholeDay ? wall.toPlainDate() : wall).toZonedDateTime(input.timezone).epochMilliseconds;
198
+ };
199
+ return { start: at(input.hourstart ?? 0), end: at(input.hourend ?? 24) };
200
+ }
201
+ function dateTime(value, timezone, endOfDate = false) {
202
+ if (/^\d{4}-\d{2}-\d{2}$/.test(value)) {
203
+ const date = Temporal.PlainDate.from(value);
204
+ return date.toPlainDateTime(endOfDate ? '23:59:59.999' : '00:00');
205
+ }
206
+ if (/(?:Z|[+-]\d{2}:?\d{2})(?:\[[^\]]*\])?$/i.test(value)) {
207
+ return Temporal.Instant.from(value).toZonedDateTimeISO(timezone);
208
+ }
209
+ return Temporal.PlainDateTime.from(value);
210
+ }
211
+ function plain(value) {
212
+ return value instanceof Temporal.ZonedDateTime ? value.toPlainDateTime() : value;
213
+ }
214
+ // Keep the original wall time and back up one period so WKST/BYDAY cannot lose
215
+ // an earlier candidate. A monthly jump must never constrain the 31st to the 28th.
216
+ function advance(original, envelope, input) {
217
+ // Include the local date crossing the left edge, regardless of anchor wall time.
218
+ const lower = Temporal.Instant.fromEpochMilliseconds(envelope.start)
219
+ .toZonedDateTimeISO(input.timezone)
220
+ .startOfDay();
221
+ const unit = input.frequency === 'MONTHLY' ? 'months' : input.frequency === 'WEEKLY' ? 'weeks' : 'days';
222
+ const originalDate = original.toPlainDate();
223
+ const interval = input.interval ?? 1;
224
+ const distance = originalDate.until(lower.toPlainDate(), { largestUnit: unit })[unit];
225
+ let steps = Math.max(0, Math.floor(distance / interval) - 1);
226
+ while (steps > 0) {
227
+ const candidate = originalDate.add({ [unit]: steps * interval });
228
+ if ((unit !== 'weeks' || candidate.dayOfWeek === originalDate.dayOfWeek) &&
229
+ (unit !== 'months' || candidate.day === originalDate.day) &&
230
+ candidate.toZonedDateTime(input.timezone).toPlainDate().equals(candidate))
231
+ return candidate.toPlainDateTime(original.toPlainTime());
232
+ steps--;
233
+ }
234
+ return original;
235
+ }
236
+ // Prefer the original offset in repeated time; otherwise resolve skips compatibly.
237
+ function anchorFor(date, original, timezone) {
238
+ return original instanceof Temporal.ZonedDateTime
239
+ ? original.with({ year: date.year, month: date.month, day: date.day }, { offset: 'prefer' })
240
+ : date.toPlainDateTime(original.toPlainTime()).toZonedDateTime(timezone);
241
+ }
242
+ function periodUnit(input) {
243
+ return input.frequency === 'MONTHLY' ? 'months' : input.frequency === 'WEEKLY' ? 'weeks' : 'days';
244
+ }
245
+ function periodStart(date, input) {
246
+ if (input.frequency === 'MONTHLY')
247
+ return date.with({ day: 1 });
248
+ if (input.frequency === 'WEEKLY')
249
+ return date.subtract({ days: (date.dayOfWeek - 1 - (input.wkst ?? 0) + 7) % 7 });
250
+ return date;
251
+ }
252
+ //# sourceMappingURL=occurrences.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"occurrences.js","sourceRoot":"","sources":["../../../../src/adapters/rrule/occurrences.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import type { Gap, Interval, Weekday, Window } from '../../core';
2
+ export type RosterRule = {
3
+ id: string;
4
+ kind: 'include' | 'exclude';
5
+ frequency: 'DAILY' | 'WEEKLY' | 'MONTHLY';
6
+ dtstart: string;
7
+ until?: string;
8
+ count?: number;
9
+ interval?: number;
10
+ wkst?: Weekday;
11
+ byweekday?: Weekday[];
12
+ bymonth?: number[];
13
+ bymonthday?: number[];
14
+ bysetpos?: number[];
15
+ /** Local hours in timezone, end-exclusive; 24 means next local midnight. */
16
+ hourstart: number;
17
+ hourend: number;
18
+ timezone: string;
19
+ };
20
+ export type RosterDate = {
21
+ id: string;
22
+ kind: 'include' | 'exclude';
23
+ date: string;
24
+ timezone: string;
25
+ note?: string;
26
+ /** Both hours present for a partial day, or both absent for the whole day. */
27
+ hourstart?: number;
28
+ hourend?: number;
29
+ };
30
+ export type RuleSet = {
31
+ rules: RosterRule[];
32
+ dates: RosterDate[];
33
+ };
34
+ export type ExpandOptions = {
35
+ cache?: {
36
+ maxEntries?: number;
37
+ maxEnvelopes?: number;
38
+ };
39
+ caps?: {
40
+ perRuleOccurrences?: number;
41
+ totalOccurrences?: number;
42
+ };
43
+ };
44
+ export type ExpandStats = {
45
+ rules: number;
46
+ dates: number;
47
+ expanded: number;
48
+ cacheHits: number;
49
+ cacheMisses: number;
50
+ };
51
+ export type ExpandResult = {
52
+ intervals: Interval[];
53
+ gaps: Gap[];
54
+ envelope: Window;
55
+ complete: boolean;
56
+ truncated: Array<{
57
+ id: string;
58
+ droppedAtLeast: number;
59
+ }>;
60
+ stats: ExpandStats;
61
+ };
62
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/adapters/rrule/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEjE,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,GAAG,SAAS,CAAC;IAC5B,SAAS,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,4EAA4E;IAC5E,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,GAAG,SAAS,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IAAC,KAAK,EAAE,UAAU,EAAE,CAAA;CAAE,CAAC;AACnE,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,IAAI,CAAC,EAAE;QAAE,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACnE,CAAC;AACF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AACF,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzD,KAAK,EAAE,WAAW,CAAC;CACpB,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/adapters/rrule/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import type { Window } from '../../core';
2
+ import type { RosterDate, RosterRule } from './types';
3
+ export declare function validateWindow(window: Window): void;
4
+ export declare function nonnegativeInteger(value: number, name: string): number;
5
+ export declare function validateInput(input: RosterRule | RosterDate): void;
6
+ //# sourceMappingURL=validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../../src/adapters/rrule/validate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEtD,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAQnD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAItE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI,CA0ClE"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateWindow = validateWindow;
4
+ exports.nonnegativeInteger = nonnegativeInteger;
5
+ exports.validateInput = validateInput;
6
+ function validateWindow(window) {
7
+ if (!Number.isSafeInteger(window.start) ||
8
+ !Number.isSafeInteger(window.end) ||
9
+ window.start > window.end) {
10
+ throw new RangeError('window must have integer epoch milliseconds with start <= end');
11
+ }
12
+ }
13
+ function nonnegativeInteger(value, name) {
14
+ if (!Number.isSafeInteger(value) || value < 0)
15
+ throw new RangeError(`${name} must be a nonnegative integer`);
16
+ return value;
17
+ }
18
+ function validateInput(input) {
19
+ if (!input.id || !['include', 'exclude'].includes(input.kind)) {
20
+ throw new RangeError('Each rule or date needs an id and an include or exclude kind');
21
+ }
22
+ // Bound date strings before any regex sees them; a full offset-and-zone
23
+ // form is under 50 characters, and unbounded input would scan quadratically.
24
+ for (const name of ['dtstart', 'until', 'date']) {
25
+ const value = name in input ? input[name] : undefined;
26
+ if (value !== undefined && (typeof value !== 'string' || value.length > 64))
27
+ throw new RangeError(`${input.id}: ${name} must be a string of at most 64 characters`);
28
+ }
29
+ const { hourstart, hourend } = input;
30
+ if ((hourstart === undefined) !== (hourend === undefined)) {
31
+ throw new RangeError(`${input.id}: hourstart and hourend must both be present or both absent`);
32
+ }
33
+ if ('frequency' in input) {
34
+ if (!['DAILY', 'WEEKLY', 'MONTHLY'].includes(input.frequency))
35
+ throw new RangeError('Unsupported frequency');
36
+ if (hourstart === undefined)
37
+ throw new RangeError('Rules require hourstart and hourend');
38
+ for (const name of ['count', 'interval']) {
39
+ const value = input[name];
40
+ if (value !== undefined && (!Number.isSafeInteger(value) || value <= 0))
41
+ throw new RangeError(`${name} must be a positive integer`);
42
+ }
43
+ validateNumbers(input.wkst === undefined ? undefined : [input.wkst], 'wkst', 0, 6);
44
+ validateNumbers(input.byweekday, 'byweekday', 0, 6);
45
+ validateNumbers(input.bymonth, 'bymonth', 1, 12);
46
+ validateNumbers(input.bymonthday, 'bymonthday', -31, 31, true);
47
+ validateNumbers(input.bysetpos, 'bysetpos', -366, 366, true);
48
+ }
49
+ if (hourstart !== undefined &&
50
+ hourend !== undefined &&
51
+ (!Number.isFinite(hourstart) ||
52
+ !Number.isFinite(hourend) ||
53
+ hourstart < 0 ||
54
+ hourstart >= hourend ||
55
+ hourend > 24)) {
56
+ throw new RangeError(`${input.id}: hours must satisfy 0 <= hourstart < hourend <= 24`);
57
+ }
58
+ }
59
+ function validateNumbers(values, name, min, max, nonzero = false) {
60
+ if (values?.some((value) => !Number.isInteger(value) || value < min || value > max || (nonzero && value === 0))) {
61
+ throw new RangeError(`Invalid ${name}`);
62
+ }
63
+ }
64
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../../src/adapters/rrule/validate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { Lane, Layer, Rect } from '../../core';
2
+ /** One covered span of a layer, positioned by the projection; `highlighted` follows the active source. */
3
+ export type IntervalInput = {
4
+ rect: Rect;
5
+ layer: Layer;
6
+ lane: Lane;
7
+ highlighted: boolean;
8
+ };
9
+ /** One removed span of a layer, positioned by the projection. */
10
+ export type GapInput = {
11
+ rect: Rect;
12
+ layer: Layer;
13
+ lane: Lane;
14
+ };
15
+ //# sourceMappingURL=layers.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layers.types.d.ts","sourceRoot":"","sources":["../../../../src/components/layers/layers.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEpD,0GAA0G;AAC1G,MAAM,MAAM,aAAa,GAAG;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,CAAC;AAC3F,iEAAiE;AACjE,MAAM,MAAM,QAAQ,GAAG;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=layers.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layers.types.js","sourceRoot":"","sources":["../../../../src/components/layers/layers.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import type { GapInput } from '../layers.types';
2
+ export declare function RosterGap(_input: GapInput): null;
3
+ //# sourceMappingURL=gap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gap.d.ts","sourceRoot":"","sources":["../../../../../src/components/layers/parts/gap.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,wBAAgB,SAAS,CAAC,MAAM,EAAE,QAAQ,QAEzC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RosterGap = RosterGap;
4
+ function RosterGap(_input) {
5
+ return null;
6
+ }
7
+ //# sourceMappingURL=gap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gap.js","sourceRoot":"","sources":["../../../../../src/components/layers/parts/gap.tsx"],"names":[],"mappings":";;;AAEA,mBAA0B,MAAgB;IACxC,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { IntervalInput } from '../layers.types';
2
+ export declare function RosterInterval({ rect, layer, highlighted }: IntervalInput): import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=interval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interval.d.ts","sourceRoot":"","sources":["../../../../../src/components/layers/parts/interval.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD,wBAAgB,cAAc,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,aAAa,2CAmBzE"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RosterInterval = RosterInterval;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_native_1 = require("react-native");
6
+ const styles_1 = require("../utils/styles");
7
+ function RosterInterval({ rect, layer, highlighted }) {
8
+ const styles = (0, styles_1.stylesFor)(layer);
9
+ const fill = highlighted ? styles.highlighted : styles.normal;
10
+ return ((0, jsx_runtime_1.jsx)(react_native_1.View, { pointerEvents: "none", style: [
11
+ fill,
12
+ {
13
+ position: 'absolute',
14
+ left: rect.x,
15
+ top: rect.y,
16
+ width: rect.width,
17
+ height: rect.height,
18
+ zIndex: rect.z,
19
+ },
20
+ ] }));
21
+ }
22
+ //# sourceMappingURL=interval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interval.js","sourceRoot":"","sources":["../../../../../src/components/layers/parts/interval.tsx"],"names":[],"mappings":";;;;AAAA,+CAAoC;AAEpC,4CAA4C;AAE5C,wBAA+B,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAiB;IACxE,MAAM,MAAM,GAAG,IAAA,kBAAS,EAAC,KAAK,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IAC9D,OAAO,CACL,uBAAC,mBAAI,IACH,aAAa,EAAC,MAAM,EACpB,KAAK,EAAE;YACL,IAAI;YACJ;gBACE,QAAQ,EAAE,UAAU;gBACpB,IAAI,EAAE,IAAI,CAAC,CAAC;gBACZ,GAAG,EAAE,IAAI,CAAC,CAAC;gBACX,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,CAAC;aACf;SACF,GACD,CACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { ViewStyle } from 'react-native';
2
+ import type { Layer } from '../../../core';
3
+ export declare function stylesFor(layer: Layer): {
4
+ normal: ViewStyle;
5
+ highlighted: ViewStyle;
6
+ };
7
+ //# sourceMappingURL=styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/layers/utils/styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAK3C,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,WAAW,EAAE,SAAS,CAAA;CAAE,CAiBrF"}