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