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