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,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The month pager's horizontal paging over the kit's index space. The week strip
|
|
3
|
+
* shared it until it became a vertical tape (2026-09-11).
|
|
4
|
+
*
|
|
5
|
+
* A programmatic move pages to its day instantly; moves stamped with the pager's
|
|
6
|
+
* own `origin` are ignored. A doctor's swipe commits at momentum end, and only
|
|
7
|
+
* when it left its start page.
|
|
8
|
+
*/
|
|
9
|
+
import type Animated from 'react-native-reanimated';
|
|
10
|
+
import { type AnimatedRef, type SharedValue } from 'react-native-reanimated';
|
|
11
|
+
import type { MoveOrigin } from '../types';
|
|
12
|
+
/** The pager reads only drag begin and momentum end; the scroll events between are waste. */
|
|
13
|
+
export declare const PAGER_SCROLL_THROTTLE = 100;
|
|
14
|
+
export type HorizontalPagerParams = {
|
|
15
|
+
width: number;
|
|
16
|
+
initialPage: number;
|
|
17
|
+
origin: MoveOrigin;
|
|
18
|
+
/** Worklet, identity-stable: the page that shows day index `idx`. */
|
|
19
|
+
pageOf: (idx: number) => number;
|
|
20
|
+
/** The page shown or headed to, when the caller needs to read it; the hook owns one otherwise. */
|
|
21
|
+
page?: SharedValue<number>;
|
|
22
|
+
/** JS, identity-stable: the doctor's own swipe settled on a different page. */
|
|
23
|
+
onSettled: (page: number) => void;
|
|
24
|
+
};
|
|
25
|
+
export declare const useHorizontalPager: ({ width, initialPage, origin, pageOf, page: callerPage, onSettled, }: HorizontalPagerParams) => {
|
|
26
|
+
ref: AnimatedRef<Animated.ScrollView>;
|
|
27
|
+
onScroll: import("react-native-reanimated").ScrollHandlerProcessed<Record<string, unknown>>;
|
|
28
|
+
onLayout: () => void;
|
|
29
|
+
contentOffset: {
|
|
30
|
+
x: number;
|
|
31
|
+
y: number;
|
|
32
|
+
};
|
|
33
|
+
widthSV: SharedValue<number>;
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=useHorizontalPager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useHorizontalPager.d.ts","sourceRoot":"","sources":["../../../../src/expandable/useHorizontalPager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAML,KAAK,WAAW,EAChB,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,6FAA6F;AAC7F,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC;IACnB,qEAAqE;IACrE,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IAChC,kGAAkG;IAClG,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,+EAA+E;IAC/E,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,CAAC;AAeF,eAAO,MAAM,kBAAkB,GAAI,sEAOhC,qBAAqB;;;;;;;;;CAwDvB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* react-native-agenda-kit — the one barrel.
|
|
3
|
+
*
|
|
4
|
+
* Three surfaces (`ExpandableCalendar`, `AgendaList`, `TimelineList`) sharing
|
|
5
|
+
* one date owner (`CalendarProvider`) and one integer index space. The kit
|
|
6
|
+
* fetches nothing, knows no domain type, and reads only its own theme:
|
|
7
|
+
* everything domain-shaped arrives as a render prop or a primitive.
|
|
8
|
+
*
|
|
9
|
+
* Every scroll handler depends on the worklets babel plugin (shipped inside
|
|
10
|
+
* `babel-preset-expo`, or added manually via `react-native-worklets/plugin`);
|
|
11
|
+
* `core/worklets.ts` asserts it in DEV.
|
|
12
|
+
*/
|
|
13
|
+
export { AgendaList } from './agenda/AgendaList';
|
|
14
|
+
export { CalendarProvider, type CalendarProviderProps } from './core/CalendarProvider';
|
|
15
|
+
export { ExpandableCalendar } from './expandable/ExpandableCalendar';
|
|
16
|
+
export { TimelineList } from './timeline/TimelineDay';
|
|
17
|
+
export { KitText } from './core/KitText';
|
|
18
|
+
export { buildRange, clampIndex, dayIndexOf, todayIndexOf, ymdAt } from './core/dateKey';
|
|
19
|
+
export { useCalendarDate } from './core/CalendarContext';
|
|
20
|
+
export { epochDayOfYmd, todayEpochDay, ymdOfEpochDay } from './core/civil';
|
|
21
|
+
export { AgendaKitThemeProvider, darkTheme, lightTheme, resolveTheme, useKitTheme, type AgendaKitColors, type AgendaKitFonts, type AgendaKitTheme, type AgendaKitThemeProviderProps, type PartialAgendaKitTheme, } from './theme';
|
|
22
|
+
/** Static metrics the kit lays out with. Read them; they are not themeable. */
|
|
23
|
+
export { ANIMATION, EASING, FONT_SIZE, RADIUS, SPACING } from './theme/tokens';
|
|
24
|
+
export { UpdateSources } from './types';
|
|
25
|
+
export type { AgendaListProps, AgendaListRef, AgendaSection, AvailableHours, CalendarMove, CalendarPosition, CalendarRange, DateString, ExpandableCalendarProps, ExpandableCalendarRef, MarkedDates, MoveOrigin, PackedTimelineEvent, TimelineEvent, TimelineInnerProps, TimelineListProps, UpdateSource, } from './types';
|
|
26
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAGzC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACzF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG3E,OAAO,EACL,sBAAsB,EACtB,SAAS,EACT,UAAU,EACV,YAAY,EACZ,WAAW,EACX,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,2BAA2B,EAChC,KAAK,qBAAqB,GAC3B,MAAM,SAAS,CAAC;AACjB,+EAA+E;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAG/E,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,YAAY,EACV,eAAe,EACf,aAAa,EACb,aAAa,EACb,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,uBAAuB,EACvB,qBAAqB,EACrB,WAAW,EACX,UAAU,EACV,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,GACb,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"module"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Theme plumbing. Two exports matter to a consumer: `AgendaKitThemeProvider`
|
|
3
|
+
* and `useKitTheme`. Everything else is how the kit builds stylesheets.
|
|
4
|
+
*
|
|
5
|
+
* A theme is optional — with no provider above it the kit renders `lightTheme`,
|
|
6
|
+
* so a consumer can drop `<ExpandableCalendar />` in and see something correct
|
|
7
|
+
* before deciding on colours.
|
|
8
|
+
*/
|
|
9
|
+
import { type ReactNode } from 'react';
|
|
10
|
+
import { type AgendaKitTheme, type PartialAgendaKitTheme } from './theme';
|
|
11
|
+
export type AgendaKitThemeProviderProps = {
|
|
12
|
+
/** A full theme, or a partial one layered over `lightTheme` / `darkTheme`. */
|
|
13
|
+
theme?: AgendaKitTheme | PartialAgendaKitTheme;
|
|
14
|
+
/** Which built-in to layer a partial theme over. Ignored for a full theme. */
|
|
15
|
+
base?: AgendaKitTheme;
|
|
16
|
+
children: ReactNode;
|
|
17
|
+
};
|
|
18
|
+
export declare const AgendaKitThemeProvider: ({ theme, base, children, }: AgendaKitThemeProviderProps) => import("react").JSX.Element;
|
|
19
|
+
export declare const useKitTheme: () => AgendaKitTheme;
|
|
20
|
+
export type KitStyleArgs = {
|
|
21
|
+
colors: AgendaKitTheme['colors'];
|
|
22
|
+
fonts: AgendaKitTheme['fonts'];
|
|
23
|
+
dark: boolean;
|
|
24
|
+
};
|
|
25
|
+
export type KitStyleFactory<T> = (args: KitStyleArgs) => T;
|
|
26
|
+
export declare function useKitStyles<T>(factory: KitStyleFactory<T>): T;
|
|
27
|
+
//# sourceMappingURL=ThemeProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemeProvider.d.ts","sourceRoot":"","sources":["../../../../src/theme/ThemeProvider.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAsC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC3E,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC3B,MAAM,SAAS,CAAC;AAIjB,MAAM,MAAM,2BAA2B,GAAG;IACxC,8EAA8E;IAC9E,KAAK,CAAC,EAAE,cAAc,GAAG,qBAAqB,CAAC;IAC/C,8EAA8E;IAC9E,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,4BAIpC,2BAA2B,gCAS7B,CAAC;AAEF,eAAO,MAAM,WAAW,QAAO,cAA0C,CAAC;AAE1E,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IACjC,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,KAAK,CAAC,CAAC;AAmB3D,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAe9D"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { AgendaKitThemeProvider, useKitStyles, useKitTheme, type AgendaKitThemeProviderProps, type KitStyleArgs, type KitStyleFactory, } from './ThemeProvider';
|
|
2
|
+
export { darkTheme, lightTheme, resolveTheme, type AgendaKitColors, type AgendaKitFonts, type AgendaKitTheme, type PartialAgendaKitTheme, } from './theme';
|
|
3
|
+
export { ANIMATION, EASING, FONT_SIZE, RADIUS, SPACING } from './tokens';
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/theme/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,WAAW,EACX,KAAK,2BAA2B,EAChC,KAAK,YAAY,EACjB,KAAK,eAAe,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,SAAS,EACT,UAAU,EACV,YAAY,EACZ,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,qBAAqB,GAC3B,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The kit's entire visual surface: eleven colours and three font families.
|
|
3
|
+
*
|
|
4
|
+
* It is deliberately flat and deliberately small. Every name says what the
|
|
5
|
+
* value PAINTS, not where it came from in some design system — so a consumer
|
|
6
|
+
* can map their own tokens onto it in one object literal and know nothing was
|
|
7
|
+
* missed. If a colour is not in this list, the kit does not draw it.
|
|
8
|
+
*/
|
|
9
|
+
export type AgendaKitColors = {
|
|
10
|
+
/** Ground under the calendar, the agenda rows and the timeline. */
|
|
11
|
+
surface: string;
|
|
12
|
+
/** Recessed band behind the week strip, one step darker than `surface`. */
|
|
13
|
+
canvas: string;
|
|
14
|
+
/** Hairlines: hour lines, the grid, row and block borders. */
|
|
15
|
+
border: string;
|
|
16
|
+
/** Accent INK — today's number, dots, the Today pill's label, the refresh spinner. */
|
|
17
|
+
accent: string;
|
|
18
|
+
/** Accent FILL — the selected-day pill. The one place accent is a background. */
|
|
19
|
+
accentFill: string;
|
|
20
|
+
/** Text and icons that sit ON `accentFill`. */
|
|
21
|
+
onAccentFill: string;
|
|
22
|
+
/** Default event-block fill (a tint of the accent). */
|
|
23
|
+
accentSoft: string;
|
|
24
|
+
/** Available-hours wash behind the timeline (the faintest accent tint). */
|
|
25
|
+
accentSubtle: string;
|
|
26
|
+
/** Primary text: day numbers, event titles. */
|
|
27
|
+
text: string;
|
|
28
|
+
/** Metadata: hour labels, disabled days, weekday initials. */
|
|
29
|
+
textMuted: string;
|
|
30
|
+
/** The now line and its cap. The only non-accent hue the kit draws. */
|
|
31
|
+
nowIndicator: string;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Font families by weight. `undefined` means the platform default — the kit
|
|
35
|
+
* ships no fonts and never assumes one is loaded.
|
|
36
|
+
*/
|
|
37
|
+
export type AgendaKitFonts = {
|
|
38
|
+
regular?: string;
|
|
39
|
+
medium?: string;
|
|
40
|
+
semiBold?: string;
|
|
41
|
+
};
|
|
42
|
+
export type AgendaKitTheme = {
|
|
43
|
+
colors: AgendaKitColors;
|
|
44
|
+
fonts: AgendaKitFonts;
|
|
45
|
+
dark: boolean;
|
|
46
|
+
};
|
|
47
|
+
export type PartialAgendaKitTheme = {
|
|
48
|
+
colors?: Partial<AgendaKitColors>;
|
|
49
|
+
fonts?: Partial<AgendaKitFonts>;
|
|
50
|
+
dark?: boolean;
|
|
51
|
+
};
|
|
52
|
+
/** True-neutral greys (R=G=B) so the accent carries all the colour. */
|
|
53
|
+
export declare const lightTheme: AgendaKitTheme;
|
|
54
|
+
/**
|
|
55
|
+
* `text` is #CCCCCC, not white: a bold stroke at 14:1 on a dark surface blooms
|
|
56
|
+
* optically and reads as glowing. The accent FILL does not lift (white on the
|
|
57
|
+
* lighter #818CF8 is only 2.99:1) — only the INK does.
|
|
58
|
+
*/
|
|
59
|
+
export declare const darkTheme: AgendaKitTheme;
|
|
60
|
+
/** Shallow-merges each group. Called once per distinct input, in the provider. */
|
|
61
|
+
export declare const resolveTheme: (base: AgendaKitTheme, overrides?: PartialAgendaKitTheme) => AgendaKitTheme;
|
|
62
|
+
//# sourceMappingURL=theme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../../src/theme/theme.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,eAAe,GAAG;IAC5B,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,MAAM,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,sFAAsF;IACtF,MAAM,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,UAAU,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,YAAY,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,YAAY,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,EAAE,cAAc,CAAC;IACtB,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,uEAAuE;AACvE,eAAO,MAAM,UAAU,EAAE,cAgBxB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,cAgBvB,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,YAAY,GACvB,MAAM,cAAc,EACpB,YAAY,qBAAqB,KAChC,cAOF,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Static metrics. NOT themeable, on purpose.
|
|
3
|
+
*
|
|
4
|
+
* Row heights, week-strip geometry and the packer all read these at module
|
|
5
|
+
* scope — `expandable/geometry.ts` computes line heights from `FONT_SIZE`
|
|
6
|
+
* before any React tree exists. A themeable font size would mean measuring at
|
|
7
|
+
* runtime, which is exactly what this kit refuses to do (declared heights are
|
|
8
|
+
* why a fling never shifts the list).
|
|
9
|
+
*
|
|
10
|
+
* Motion is here for the same reason: `KIT_EASING` is captured by worklets at
|
|
11
|
+
* module scope, so it cannot depend on a React context.
|
|
12
|
+
*
|
|
13
|
+
* Colours and font FAMILIES are themeable — see `theme.ts`.
|
|
14
|
+
*/
|
|
15
|
+
export declare const SPACING: {
|
|
16
|
+
readonly 0: 0;
|
|
17
|
+
readonly 1: 4;
|
|
18
|
+
readonly 2: 8;
|
|
19
|
+
readonly 3: 12;
|
|
20
|
+
readonly 4: 16;
|
|
21
|
+
readonly 5: 20;
|
|
22
|
+
readonly 6: 24;
|
|
23
|
+
readonly 8: 32;
|
|
24
|
+
};
|
|
25
|
+
export declare const FONT_SIZE: {
|
|
26
|
+
readonly xxs: 11;
|
|
27
|
+
readonly xs: 12;
|
|
28
|
+
readonly sm: 14;
|
|
29
|
+
readonly base: 16;
|
|
30
|
+
};
|
|
31
|
+
export declare const RADIUS: {
|
|
32
|
+
readonly none: 0;
|
|
33
|
+
readonly card: 8;
|
|
34
|
+
readonly inner: 6;
|
|
35
|
+
readonly full: 9999;
|
|
36
|
+
};
|
|
37
|
+
/** Milliseconds. Short on purpose: a calendar that animates slowly feels broken. */
|
|
38
|
+
export declare const ANIMATION: {
|
|
39
|
+
readonly fast: 80;
|
|
40
|
+
readonly base: 120;
|
|
41
|
+
readonly slow: 180;
|
|
42
|
+
};
|
|
43
|
+
export declare const EASING: {
|
|
44
|
+
readonly bezier: [number, number, number, number];
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=tokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../../src/theme/tokens.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,OAAO;;;;;;;;;CASV,CAAC;AAEX,eAAO,MAAM,SAAS;;;;;CAKZ,CAAC;AAEX,eAAO,MAAM,MAAM;;;;;CAKT,CAAC;AAEX,oFAAoF;AACpF,eAAO,MAAM,SAAS;;;;CAIZ,CAAC;AAEX,eAAO,MAAM,MAAM;qBACS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;CAClD,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One day as two absolute layers, so the pager can slot the shared hour lines between them:
|
|
3
|
+
* `DayBands` (availability) under the lines, `DayEvents` (packed blocks, then the now-line) above.
|
|
4
|
+
* Packing is memoised on the day's own event array: mounting a neighbour packs one day.
|
|
5
|
+
*/
|
|
6
|
+
import { type ReactElement } from 'react';
|
|
7
|
+
import type { SharedValue } from 'react-native-reanimated';
|
|
8
|
+
import type { AvailableHours, PackedTimelineEvent, TimelineEvent } from '../types';
|
|
9
|
+
type BandsProps = {
|
|
10
|
+
left: number;
|
|
11
|
+
width: number;
|
|
12
|
+
availableHours: AvailableHours | undefined;
|
|
13
|
+
color: string;
|
|
14
|
+
hourHeight: number;
|
|
15
|
+
};
|
|
16
|
+
export declare const DayBands: import("react").MemoExoticComponent<({ left, width, availableHours, color, hourHeight }: BandsProps) => import("react").JSX.Element | null>;
|
|
17
|
+
type EventsProps<E extends TimelineEvent> = {
|
|
18
|
+
left: number;
|
|
19
|
+
width: number;
|
|
20
|
+
events: E[] | undefined;
|
|
21
|
+
hourHeight: number;
|
|
22
|
+
overlapEventsSpacing: number;
|
|
23
|
+
rightEdgeSpacing: number;
|
|
24
|
+
renderEvent?: (event: PackedTimelineEvent<E>) => ReactElement | null;
|
|
25
|
+
onEventPress?: (event: PackedTimelineEvent<E>) => void;
|
|
26
|
+
/** Only on today's column while the indicator is on; stable, so a minute tick renders nothing. */
|
|
27
|
+
nowMinutes?: SharedValue<number>;
|
|
28
|
+
};
|
|
29
|
+
declare const DayEventsInner: <E extends TimelineEvent>({ left, width, events, hourHeight, overlapEventsSpacing, rightEdgeSpacing, renderEvent, onEventPress, nowMinutes, }: EventsProps<E>) => import("react").JSX.Element | null;
|
|
30
|
+
export declare const DayEvents: typeof DayEventsInner;
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=DayColumn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DayColumn.d.ts","sourceRoot":"","sources":["../../../../src/timeline/DayColumn.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAEzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAMnF,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,cAAc,GAAG,SAAS,CAAC;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAeF,eAAO,MAAM,QAAQ,2FAbsD,UAAU,wCAa1C,CAAC;AAG5C,KAAK,WAAW,CAAC,CAAC,SAAS,aAAa,IAAI;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,YAAY,GAAG,IAAI,CAAC;IACrE,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACvD,kGAAkG;IAClG,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAClC,CAAC;AAEF,QAAA,MAAM,cAAc,GAAI,CAAC,SAAS,aAAa,EAAE,qHAU9C,WAAW,CAAC,CAAC,CAAC,uCAchB,CAAC;AAEF,eAAO,MAAM,SAAS,EAA2B,OAAO,cAAc,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Day columns, paged horizontally across the SELECTABLE days (the range is padded to whole weeks;
|
|
3
|
+
* a swipe must not land on padding). Column `i` sits at `(i − minIndex) · width`; only the centre
|
|
4
|
+
* and its neighbours are mounted. Content stacking is the library's: bands → lines → events.
|
|
5
|
+
*
|
|
6
|
+
* The doctor's swipe commits at MOMENTUM END as `origin: 'timeline'`, which this pager ignores.
|
|
7
|
+
* Any other move animates to a mounted neighbour, or mounts the destination first (keeping the
|
|
8
|
+
* current columns), jumps once it exists, and releases the old columns on the first scroll there.
|
|
9
|
+
*
|
|
10
|
+
* `contentOffset` is read once: the native ScrollView re-applies it whenever its value changes, so
|
|
11
|
+
* a width-derived offset per render would throw the pager back to the day it opened on.
|
|
12
|
+
*/
|
|
13
|
+
import { type ReactElement } from 'react';
|
|
14
|
+
import type { AvailableHours, DateString, PackedTimelineEvent, TimelineEvent } from '../types';
|
|
15
|
+
type Props<E extends TimelineEvent> = {
|
|
16
|
+
left: number;
|
|
17
|
+
width: number;
|
|
18
|
+
height: number;
|
|
19
|
+
events: Record<DateString, E[]>;
|
|
20
|
+
availableHoursFor: (ymd: DateString) => AvailableHours | undefined;
|
|
21
|
+
bandColor: string;
|
|
22
|
+
hourHeight: number;
|
|
23
|
+
overlapEventsSpacing: number;
|
|
24
|
+
rightEdgeSpacing: number;
|
|
25
|
+
renderEvent?: (event: PackedTimelineEvent<E>) => ReactElement | null;
|
|
26
|
+
onEventPress?: (event: PackedTimelineEvent<E>) => void;
|
|
27
|
+
showNowIndicator: boolean;
|
|
28
|
+
};
|
|
29
|
+
declare const DayPagerInner: <E extends TimelineEvent>({ left, width, height, events, availableHoursFor, bandColor, hourHeight, overlapEventsSpacing, rightEdgeSpacing, renderEvent, onEventPress, showNowIndicator, }: Props<E>) => import("react").JSX.Element;
|
|
30
|
+
export declare const DayPager: typeof DayPagerInner;
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=DayPager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DayPager.d.ts","sourceRoot":"","sources":["../../../../src/timeline/DayPager.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAQL,KAAK,YAAY,EAClB,MAAM,OAAO,CAAC;AAYf,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAe/F,KAAK,KAAK,CAAC,CAAC,SAAS,aAAa,IAAI;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;IAChC,iBAAiB,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,cAAc,GAAG,SAAS,CAAC;IACnE,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,YAAY,GAAG,IAAI,CAAC;IACrE,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACvD,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,QAAA,MAAM,aAAa,GAAI,CAAC,SAAS,aAAa,EAAE,iKAa7C,KAAK,CAAC,CAAC,CAAC,gCAmNV,CAAC;AAEF,eAAO,MAAM,QAAQ,EAA0B,OAAO,aAAa,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One packed event: the library's `EventBlock` container (absolute, `minHeight: 25`, padding 4/5,
|
|
3
|
+
* 0.9 opacity when pressed) around the caller's `renderEvent`. The fill is the event's own colour,
|
|
4
|
+
* else the soft accent token; the hairline ring gives a pastel block an edge on the dark palette
|
|
5
|
+
*.
|
|
6
|
+
*/
|
|
7
|
+
import { type ReactElement } from 'react';
|
|
8
|
+
import type { PackedTimelineEvent, TimelineEvent } from '../types';
|
|
9
|
+
type Props<E extends TimelineEvent> = {
|
|
10
|
+
event: PackedTimelineEvent<E>;
|
|
11
|
+
renderEvent?: (event: PackedTimelineEvent<E>) => ReactElement | null;
|
|
12
|
+
onPress?: (event: PackedTimelineEvent<E>) => void;
|
|
13
|
+
};
|
|
14
|
+
declare const EventBlockInner: <E extends TimelineEvent>({ event, renderEvent, onPress }: Props<E>) => import("react").JSX.Element;
|
|
15
|
+
export declare const EventBlock: typeof EventBlockInner;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=EventBlock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventBlock.d.ts","sourceRoot":"","sources":["../../../../src/timeline/EventBlock.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAA8B,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAGtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGnE,KAAK,KAAK,CAAC,CAAC,SAAS,aAAa,IAAI;IACpC,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC9B,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,YAAY,GAAG,IAAI,CAAC;IACrE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;CACnD,CAAC;AAEF,QAAA,MAAM,eAAe,GAAI,CAAC,SAAS,aAAa,EAAE,iCAAiC,KAAK,CAAC,CAAC,CAAC,gCA6B1F,CAAC;AAEF,eAAO,MAAM,UAAU,EAA4B,OAAO,eAAe,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** The half-hour and hour lines: ONE layer across the pager's whole content, between bands and events. */
|
|
2
|
+
export declare const ColumnLines: import("react").MemoExoticComponent<({ hourHeight }: {
|
|
3
|
+
hourHeight: number;
|
|
4
|
+
}) => import("react").JSX.Element>;
|
|
5
|
+
//# sourceMappingURL=GridLines.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GridLines.d.ts","sourceRoot":"","sources":["../../../../src/timeline/GridLines.tsx"],"names":[],"mappings":"AAAA,0GAA0G;AAuB1G,eAAO,MAAM,WAAW,uDAjBkB;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,iCAiBf,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The time gutter: hour labels, the gutter's edge, and each line's 16 px stub into the gutter
|
|
3
|
+
* (`TimelineHours.js` starts lines at `timelineLeftInset − 16`). The stubs stay here because the
|
|
4
|
+
* pager starts at `GUTTER` and clips, so its shared line layer cannot reach into the gutter.
|
|
5
|
+
*/
|
|
6
|
+
type Props = {
|
|
7
|
+
hourHeight: number;
|
|
8
|
+
format24h: boolean;
|
|
9
|
+
};
|
|
10
|
+
export declare const HourGrid: import("react").MemoExoticComponent<({ hourHeight, format24h }: Props) => import("react").JSX.Element>;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=HourGrid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HourGrid.d.ts","sourceRoot":"","sources":["../../../../src/timeline/HourGrid.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAuBH,KAAK,KAAK,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC;AAgCxD,eAAO,MAAM,QAAQ,kEA9B6B,KAAK,iCA8BZ,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The now-line. The minute lives in a SharedValue re-read just past each minute boundary (a bare
|
|
3
|
+
* 60 s interval started mid-minute runs late for the life of the screen) and on foreground; the
|
|
4
|
+
* line and knob move through animated styles, so a tick is zero React commits. No spring: a line
|
|
5
|
+
* that overshoots claims a time that is not now. The pager clips at the gutter, so `NowKnob` draws
|
|
6
|
+
* the whole dot above it at rest and hides mid-swipe — a worklet-driven knob trails by a frame.
|
|
7
|
+
*/
|
|
8
|
+
import { type SharedValue } from 'react-native-reanimated';
|
|
9
|
+
/** Minutes since local midnight, shared by the line and the knob. Disabled means no timer. */
|
|
10
|
+
export declare const useNowMinutesSV: (enabled: boolean) => SharedValue<number>;
|
|
11
|
+
type Props = {
|
|
12
|
+
hourHeight: number;
|
|
13
|
+
minutes: SharedValue<number>;
|
|
14
|
+
};
|
|
15
|
+
export declare const NowIndicator: import("react").MemoExoticComponent<({ hourHeight, minutes }: Props) => import("react").JSX.Element>;
|
|
16
|
+
type KnobProps = {
|
|
17
|
+
/** The pager's left edge in the timeline content — where today's column starts at rest. */
|
|
18
|
+
left: number;
|
|
19
|
+
hourHeight: number;
|
|
20
|
+
minutes: SharedValue<number>;
|
|
21
|
+
/** Today's page, and the live pager position it is compared against. */
|
|
22
|
+
page: number;
|
|
23
|
+
pageWidth: SharedValue<number>;
|
|
24
|
+
scrollX: SharedValue<number>;
|
|
25
|
+
};
|
|
26
|
+
export declare const NowKnob: import("react").MemoExoticComponent<({ left, hourHeight, minutes, page, pageWidth, scrollX }: KnobProps) => import("react").JSX.Element>;
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=NowIndicator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NowIndicator.d.ts","sourceRoot":"","sources":["../../../../src/timeline/NowIndicator.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAiB,EAGf,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AASjC,8FAA8F;AAC9F,eAAO,MAAM,eAAe,GAAI,SAAS,OAAO,KAAG,WAAW,CAAC,MAAM,CAyBpE,CAAC;AAEF,KAAK,KAAK,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CAAE,CAAC;AAalE,eAAO,MAAM,YAAY,gEAX2B,KAAK,iCAWN,CAAC;AAGpD,KAAK,SAAS,GAAG;IACf,2FAA2F;IAC3F,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC9B,CAAC;AAoBF,eAAO,MAAM,OAAO,gGAlB2D,SAAS,iCAkB/C,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The day view: ONE vertical ScrollView holding the time gutter and the day pager, so every day
|
|
3
|
+
* shares the vertical offset by construction. The start offset is a mount-time `contentOffset`;
|
|
4
|
+
* the caller mounts this conditionally, so every open recomputes it.
|
|
5
|
+
*
|
|
6
|
+
* The width is seeded from the window so the FIRST commit already holds the day columns (waiting
|
|
7
|
+
* for `onLayout` painted an empty grid first); `onLayout` corrects it when not full-width.
|
|
8
|
+
*
|
|
9
|
+
* `timelineProps.availableHours` replaces the library's inverted `unavailableHours` and also takes
|
|
10
|
+
* a per-date map, so a neighbouring day's bands are right mid-swipe.
|
|
11
|
+
*/
|
|
12
|
+
import type { TimelineEvent, TimelineListProps } from '../types';
|
|
13
|
+
export declare const TimelineList: <E extends TimelineEvent>({ events, timelineProps, showNowIndicator, scrollToNow, scrollToFirst, initialTime, }: TimelineListProps<E>) => import("react").JSX.Element;
|
|
14
|
+
//# sourceMappingURL=TimelineDay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimelineDay.d.ts","sourceRoot":"","sources":["../../../../src/timeline/TimelineDay.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAQH,OAAO,KAAK,EAAc,aAAa,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAM7E,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,aAAa,EAAE,uFAOnD,iBAAiB,CAAC,CAAC,CAAC,gCA2EtB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Overlap packing for one day column — `react-native-calendars`' `Packer.js`, in minutes, so
|
|
3
|
+
* blocks land where react-native-calendars put them. Sort by start then end; a new overlap group starts
|
|
4
|
+
* at or after the latest end seen; first-fit into columns; each event gets `1/n` of the width,
|
|
5
|
+
* widened across later columns it does not collide with.
|
|
6
|
+
*
|
|
7
|
+
* Deliberate edge differences: a missing `end` is start + 60; an `end` at or before `start` is
|
|
8
|
+
* start + 15 (the library drew a negative height); collisions use an end of at least start + 15,
|
|
9
|
+
* so two zero-length events at one minute get their own columns.
|
|
10
|
+
*
|
|
11
|
+
* Invariant the span pass relies on: a column's events are sorted and pairwise disjoint, so the
|
|
12
|
+
* last event placed in a column is the only one that can still overlap a later-starting event.
|
|
13
|
+
* `lib/overlap-detection.ts` cannot execute (gap-6) — do not swap it in.
|
|
14
|
+
*/
|
|
15
|
+
import type { PackedTimelineEvent, TimelineEvent } from '../types';
|
|
16
|
+
type PackOptions = {
|
|
17
|
+
/** Width of the day column, px. */
|
|
18
|
+
colW: number;
|
|
19
|
+
hourHeight: number;
|
|
20
|
+
overlapEventsSpacing?: number;
|
|
21
|
+
rightEdgeSpacing?: number;
|
|
22
|
+
};
|
|
23
|
+
export declare const packEvents: <E extends TimelineEvent>(events: E[] | undefined, { colW, hourHeight, overlapEventsSpacing, rightEdgeSpacing }: PackOptions) => PackedTimelineEvent<E>[];
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=packEvents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packEvents.d.ts","sourceRoot":"","sources":["../../../../src/timeline/packEvents.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAgBnE,KAAK,WAAW,GAAG;IACjB,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,aAAa,EAChD,QAAQ,CAAC,EAAE,GAAG,SAAS,EACvB,8DAAsE,WAAW,KAChF,mBAAmB,CAAC,CAAC,CAAC,EA2ExB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** px per hour. The live event card's layout branches (<25 / <50 / <70) assume it. */
|
|
2
|
+
export declare const HOUR_HEIGHT = 100;
|
|
3
|
+
export declare const GUTTER = 72;
|
|
4
|
+
/** Hour lines start this far inside the gutter (`timelineLeftInset - 16`). */
|
|
5
|
+
export declare const LINE_GUTTER_OVERHANG = 16;
|
|
6
|
+
/** Labels sit 6 px above their line, centred in the 56 px label box. */
|
|
7
|
+
export declare const LABEL_OFFSET_Y = -6;
|
|
8
|
+
export declare const LABEL_PADDING_LEFT = 12;
|
|
9
|
+
/** `contentStyle.height: calendarHeight + 10`. */
|
|
10
|
+
export declare const CONTENT_BOTTOM_PAD = 10;
|
|
11
|
+
export declare const EVENT_MIN_HEIGHT = 25;
|
|
12
|
+
export declare const NOW_KNOB = 7;
|
|
13
|
+
export declare const gridHeight: (hourHeight: number) => number;
|
|
14
|
+
//# sourceMappingURL=timelineGeometry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timelineGeometry.d.ts","sourceRoot":"","sources":["../../../../src/timeline/timelineGeometry.ts"],"names":[],"mappings":"AAGA,sFAAsF;AACtF,eAAO,MAAM,WAAW,MAAM,CAAC;AAE/B,eAAO,MAAM,MAAM,KAAK,CAAC;AAEzB,8EAA8E;AAC9E,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,wEAAwE;AACxE,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC,kDAAkD;AAClD,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC,eAAO,MAAM,QAAQ,IAAI,CAAC;AAE1B,eAAO,MAAM,UAAU,GAAI,YAAY,MAAM,KAAG,MAAyB,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/** Pure time ↔ pixel arithmetic for the timeline, in minutes of the day — never a `Date`. */
|
|
2
|
+
import type { AvailableHours } from '../types';
|
|
3
|
+
export declare const DAY_MINUTES: number;
|
|
4
|
+
/** Minute of the day from `'YYYY-MM-DD HH:mm:ss'` (HH at 11–12, mm at 14–15); 0 when unreadable. */
|
|
5
|
+
export declare const minutesOf: (dateTime: string | undefined) => number;
|
|
6
|
+
/**
|
|
7
|
+
* Library precedence (`timeline-list`): today → `scrollToNow` only; other days → `scrollToFirst`
|
|
8
|
+
* (when the day has events) over `initialTime`. One hour above the target, as `Timeline.js` does.
|
|
9
|
+
*/
|
|
10
|
+
export declare const initialScrollY: ({ isToday, scrollToNow, scrollToFirst, initialTime, firstEventTop, hourHeight, now, }: {
|
|
11
|
+
isToday: boolean;
|
|
12
|
+
scrollToNow?: boolean;
|
|
13
|
+
scrollToFirst?: boolean;
|
|
14
|
+
initialTime?: {
|
|
15
|
+
hour: number;
|
|
16
|
+
minutes: number;
|
|
17
|
+
} | string;
|
|
18
|
+
/** Top of the earliest packed event on the day, or undefined when empty. */
|
|
19
|
+
firstEventTop?: number;
|
|
20
|
+
hourHeight: number;
|
|
21
|
+
now?: Date;
|
|
22
|
+
}) => number;
|
|
23
|
+
export type Band = {
|
|
24
|
+
top: number;
|
|
25
|
+
height: number;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Availability windows → pixel bands. Invalid windows are dropped silently: they are backend
|
|
29
|
+
* data, and the library's `console.error` raised a red box in debug builds.
|
|
30
|
+
*/
|
|
31
|
+
export declare const buildBands: (windows: AvailableHours | undefined, hourHeight: number) => Band[];
|
|
32
|
+
//# sourceMappingURL=timelineMath.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timelineMath.d.ts","sourceRoot":"","sources":["../../../../src/timeline/timelineMath.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAE7F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,eAAO,MAAM,WAAW,QAAU,CAAC;AAOnC,oGAAoG;AACpG,eAAO,MAAM,SAAS,GAAI,UAAU,MAAM,GAAG,SAAS,KAAG,MAQxD,CAAC;AAcF;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,uFAQ5B;IACD,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC;IACzD,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ,KAAG,MAWH,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnD;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,SAAS,cAAc,GAAG,SAAS,EAAE,YAAY,MAAM,KAAG,IAAI,EAWxF,CAAC"}
|