From 79d4d4b2feabb4d161711c2fda4cbf60e557572f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20Uma=C3=B1a?= <111238493+edumana@users.noreply.github.com> Date: Thu, 14 Nov 2024 22:47:04 -0500 Subject: [PATCH 01/12] clears state and sets state on items change --- example/src/mocks/AgendaItem.d.ts | 6 + example/src/mocks/AgendaItem.js | 68 + example/src/mocks/agendaItems.d.ts | 19 + example/src/mocks/agendaItems.js | 127 + example/src/mocks/theme.d.ts | 34 + example/src/mocks/theme.js | 40 + example/src/mocks/timelineEvents.d.ts | 3 + example/src/mocks/timelineEvents.js | 118 + example/src/screens/agendaScreen.d.ts | 16 + example/src/screens/agendaScreen.js | 90 + example/src/screens/calendarListScreen.d.ts | 6 + example/src/screens/calendarListScreen.js | 90 + example/src/screens/calendarScreen.d.ts | 3 + example/src/screens/calendarScreen.js | 433 + .../src/screens/expandableCalendarScreen.d.ts | 6 + .../src/screens/expandableCalendarScreen.js | 64 + .../src/screens/newCalendarListScreen.d.ts | 3 + example/src/screens/newCalendarListScreen.js | 65 + .../src/screens/timelineCalendarScreen.d.ts | 22 + example/src/screens/timelineCalendarScreen.js | 105 + example/src/testIDs.d.ts | 36 + example/src/testIDs.js | 27 + pnpm-lock.yaml | 9952 +++++++++++++++++ src/Profiler.d.ts | 22 + src/Profiler.js | 51 + src/agenda/index.d.ts | 365 + src/agenda/index.js | 342 + src/agenda/platform-style.d.ts | 5 + src/agenda/platform-style.ios.d.ts | 23 + src/agenda/platform-style.ios.js | 24 + src/agenda/platform-style.js | 24 + src/agenda/reservation-list/index.d.ts | 103 + src/agenda/reservation-list/index.js | 191 + src/agenda/reservation-list/index.tsx | 22 +- src/agenda/reservation-list/reservation.d.ts | 35 + src/agenda/reservation-list/reservation.js | 88 + src/agenda/reservation-list/style.d.ts | 2 + src/agenda/reservation-list/style.js | 40 + src/agenda/style.d.ts | 2 + src/agenda/style.js | 54 + src/calendar-list/driver.d.ts | 27 + src/calendar-list/driver.js | 67 + src/calendar-list/index.d.ts | 29 + src/calendar-list/index.js | 224 + src/calendar-list/item.d.ts | 15 + src/calendar-list/item.js | 60 + src/calendar-list/new.d.ts | 21 + src/calendar-list/new.js | 148 + src/calendar-list/style.d.ts | 2 + src/calendar-list/style.js | 36 + src/calendar/day/basic/index.d.ts | 32 + src/calendar/day/basic/index.js | 113 + src/calendar/day/basic/style.d.ts | 2 + src/calendar/day/basic/style.js | 71 + src/calendar/day/dot/index.d.ts | 13 + src/calendar/day/dot/index.js | 27 + src/calendar/day/dot/style.d.ts | 2 + src/calendar/day/dot/style.js | 33 + src/calendar/day/index.d.ts | 11 + src/calendar/day/index.js | 65 + src/calendar/day/marking/index.d.ts | 54 + src/calendar/day/marking/index.js | 74 + src/calendar/day/marking/style.d.ts | 2 + src/calendar/day/marking/style.js | 29 + src/calendar/day/period/index.d.ts | 27 + src/calendar/day/period/index.js | 146 + src/calendar/day/period/style.d.ts | 2 + src/calendar/day/period/style.js | 64 + src/calendar/header/index.d.ts | 54 + src/calendar/header/index.js | 145 + src/calendar/header/style.d.ts | 2 + src/calendar/header/style.js | 70 + src/calendar/index.d.ts | 62 + src/calendar/index.js | 188 + src/calendar/style.d.ts | 2 + src/calendar/style.js | 28 + src/commons/WeekDaysNames.d.ts | 8 + src/commons/WeekDaysNames.js | 10 + src/commons/constants.d.ts | 10 + src/commons/constants.js | 17 + src/componentUpdater.d.ts | 576 + src/componentUpdater.js | 154 + src/dateutils.d.ts | 23 + src/dateutils.js | 176 + src/day-state-manager.d.ts | 2 + src/day-state-manager.js | 22 + src/expandableCalendar/AgendaListsCommon.d.ts | 43 + src/expandableCalendar/AgendaListsCommon.js | 11 + src/expandableCalendar/Context/Provider.d.ts | 37 + src/expandableCalendar/Context/Provider.js | 66 + src/expandableCalendar/Context/index.d.ts | 13 + src/expandableCalendar/Context/index.js | 4 + .../Context/todayButton.d.ts | 17 + src/expandableCalendar/Context/todayButton.js | 103 + .../WeekCalendar/driver.d.ts | 20 + src/expandableCalendar/WeekCalendar/driver.js | 41 + .../WeekCalendar/index.d.ts | 17 + src/expandableCalendar/WeekCalendar/index.js | 202 + src/expandableCalendar/WeekCalendar/new.d.ts | 8 + src/expandableCalendar/WeekCalendar/new.js | 92 + .../__test__/expandableCalendarTestKit.d.ts | 11 + .../__test__/expandableCalendarTestKit.js | 24 + .../__test__/index.spec.d.ts | 1 + src/expandableCalendar/__test__/index.spec.js | 275 + src/expandableCalendar/agendaList.d.ts | 21 + src/expandableCalendar/agendaList.js | 188 + .../asCalendarConsumer.d.ts | 3 + src/expandableCalendar/asCalendarConsumer.js | 19 + src/expandableCalendar/commons.d.ts | 10 + src/expandableCalendar/commons.js | 11 + src/expandableCalendar/driver.d.ts | 37 + src/expandableCalendar/driver.js | 90 + src/expandableCalendar/index.d.ts | 55 + src/expandableCalendar/index.js | 424 + .../infiniteAgendaList.d.ts | 21 + src/expandableCalendar/infiniteAgendaList.js | 195 + src/expandableCalendar/style.d.ts | 191 + src/expandableCalendar/style.js | 170 + src/expandableCalendar/week.d.ts | 8 + src/expandableCalendar/week.js | 65 + src/hooks.d.ts | 6 + src/hooks.js | 33 + src/index.d.ts | 25 + src/index.js | 15 + src/infinite-list/index.d.ts | 25 + src/infinite-list/index.js | 100 + src/interface.d.ts | 11 + src/interface.js | 55 + src/momentResolver.d.ts | 1 + src/momentResolver.js | 13 + src/services/index.d.ts | 7 + src/services/index.js | 29 + src/style.d.ts | 44 + src/style.js | 51 + src/timeline-list/index.d.ts | 43 + src/timeline-list/index.js | 93 + src/timeline-list/useTimelinePages.d.ts | 23 + src/timeline-list/useTimelinePages.js | 58 + src/timeline/EventBlock.d.ts | 30 + src/timeline/EventBlock.js | 38 + src/timeline/NowIndicator.d.ts | 11 + src/timeline/NowIndicator.js | 16 + src/timeline/Packer.d.ts | 24 + src/timeline/Packer.js | 119 + src/timeline/Timeline.d.ts | 109 + src/timeline/Timeline.js | 99 + src/timeline/TimelineHours.d.ts | 27 + src/timeline/TimelineHours.js | 77 + src/timeline/helpers/presenter.d.ts | 8 + src/timeline/helpers/presenter.js | 25 + src/timeline/style.d.ts | 179 + src/timeline/style.js | 112 + src/timeline/useTimelineOffset.d.ts | 14 + src/timeline/useTimelineOffset.js | 30 + src/types.d.ts | 112 + src/types.js | 1 + src/velocityTracker.d.ts | 9 + src/velocityTracker.js | 31 + 158 files changed, 19854 insertions(+), 13 deletions(-) create mode 100644 example/src/mocks/AgendaItem.d.ts create mode 100644 example/src/mocks/AgendaItem.js create mode 100644 example/src/mocks/agendaItems.d.ts create mode 100644 example/src/mocks/agendaItems.js create mode 100644 example/src/mocks/theme.d.ts create mode 100644 example/src/mocks/theme.js create mode 100644 example/src/mocks/timelineEvents.d.ts create mode 100644 example/src/mocks/timelineEvents.js create mode 100644 example/src/screens/agendaScreen.d.ts create mode 100644 example/src/screens/agendaScreen.js create mode 100644 example/src/screens/calendarListScreen.d.ts create mode 100644 example/src/screens/calendarListScreen.js create mode 100644 example/src/screens/calendarScreen.d.ts create mode 100644 example/src/screens/calendarScreen.js create mode 100644 example/src/screens/expandableCalendarScreen.d.ts create mode 100644 example/src/screens/expandableCalendarScreen.js create mode 100644 example/src/screens/newCalendarListScreen.d.ts create mode 100644 example/src/screens/newCalendarListScreen.js create mode 100644 example/src/screens/timelineCalendarScreen.d.ts create mode 100644 example/src/screens/timelineCalendarScreen.js create mode 100644 example/src/testIDs.d.ts create mode 100644 example/src/testIDs.js create mode 100644 pnpm-lock.yaml create mode 100644 src/Profiler.d.ts create mode 100644 src/Profiler.js create mode 100644 src/agenda/index.d.ts create mode 100644 src/agenda/index.js create mode 100644 src/agenda/platform-style.d.ts create mode 100644 src/agenda/platform-style.ios.d.ts create mode 100644 src/agenda/platform-style.ios.js create mode 100644 src/agenda/platform-style.js create mode 100644 src/agenda/reservation-list/index.d.ts create mode 100644 src/agenda/reservation-list/index.js create mode 100644 src/agenda/reservation-list/reservation.d.ts create mode 100644 src/agenda/reservation-list/reservation.js create mode 100644 src/agenda/reservation-list/style.d.ts create mode 100644 src/agenda/reservation-list/style.js create mode 100644 src/agenda/style.d.ts create mode 100644 src/agenda/style.js create mode 100644 src/calendar-list/driver.d.ts create mode 100644 src/calendar-list/driver.js create mode 100644 src/calendar-list/index.d.ts create mode 100644 src/calendar-list/index.js create mode 100644 src/calendar-list/item.d.ts create mode 100644 src/calendar-list/item.js create mode 100644 src/calendar-list/new.d.ts create mode 100644 src/calendar-list/new.js create mode 100644 src/calendar-list/style.d.ts create mode 100644 src/calendar-list/style.js create mode 100644 src/calendar/day/basic/index.d.ts create mode 100644 src/calendar/day/basic/index.js create mode 100644 src/calendar/day/basic/style.d.ts create mode 100644 src/calendar/day/basic/style.js create mode 100644 src/calendar/day/dot/index.d.ts create mode 100644 src/calendar/day/dot/index.js create mode 100644 src/calendar/day/dot/style.d.ts create mode 100644 src/calendar/day/dot/style.js create mode 100644 src/calendar/day/index.d.ts create mode 100644 src/calendar/day/index.js create mode 100644 src/calendar/day/marking/index.d.ts create mode 100644 src/calendar/day/marking/index.js create mode 100644 src/calendar/day/marking/style.d.ts create mode 100644 src/calendar/day/marking/style.js create mode 100644 src/calendar/day/period/index.d.ts create mode 100644 src/calendar/day/period/index.js create mode 100644 src/calendar/day/period/style.d.ts create mode 100644 src/calendar/day/period/style.js create mode 100644 src/calendar/header/index.d.ts create mode 100644 src/calendar/header/index.js create mode 100644 src/calendar/header/style.d.ts create mode 100644 src/calendar/header/style.js create mode 100644 src/calendar/index.d.ts create mode 100644 src/calendar/index.js create mode 100644 src/calendar/style.d.ts create mode 100644 src/calendar/style.js create mode 100644 src/commons/WeekDaysNames.d.ts create mode 100644 src/commons/WeekDaysNames.js create mode 100644 src/commons/constants.d.ts create mode 100644 src/commons/constants.js create mode 100644 src/componentUpdater.d.ts create mode 100644 src/componentUpdater.js create mode 100644 src/dateutils.d.ts create mode 100644 src/dateutils.js create mode 100644 src/day-state-manager.d.ts create mode 100644 src/day-state-manager.js create mode 100644 src/expandableCalendar/AgendaListsCommon.d.ts create mode 100644 src/expandableCalendar/AgendaListsCommon.js create mode 100644 src/expandableCalendar/Context/Provider.d.ts create mode 100644 src/expandableCalendar/Context/Provider.js create mode 100644 src/expandableCalendar/Context/index.d.ts create mode 100644 src/expandableCalendar/Context/index.js create mode 100644 src/expandableCalendar/Context/todayButton.d.ts create mode 100644 src/expandableCalendar/Context/todayButton.js create mode 100644 src/expandableCalendar/WeekCalendar/driver.d.ts create mode 100644 src/expandableCalendar/WeekCalendar/driver.js create mode 100644 src/expandableCalendar/WeekCalendar/index.d.ts create mode 100644 src/expandableCalendar/WeekCalendar/index.js create mode 100644 src/expandableCalendar/WeekCalendar/new.d.ts create mode 100644 src/expandableCalendar/WeekCalendar/new.js create mode 100644 src/expandableCalendar/__test__/expandableCalendarTestKit.d.ts create mode 100644 src/expandableCalendar/__test__/expandableCalendarTestKit.js create mode 100644 src/expandableCalendar/__test__/index.spec.d.ts create mode 100644 src/expandableCalendar/__test__/index.spec.js create mode 100644 src/expandableCalendar/agendaList.d.ts create mode 100644 src/expandableCalendar/agendaList.js create mode 100644 src/expandableCalendar/asCalendarConsumer.d.ts create mode 100644 src/expandableCalendar/asCalendarConsumer.js create mode 100644 src/expandableCalendar/commons.d.ts create mode 100644 src/expandableCalendar/commons.js create mode 100644 src/expandableCalendar/driver.d.ts create mode 100644 src/expandableCalendar/driver.js create mode 100644 src/expandableCalendar/index.d.ts create mode 100644 src/expandableCalendar/index.js create mode 100644 src/expandableCalendar/infiniteAgendaList.d.ts create mode 100644 src/expandableCalendar/infiniteAgendaList.js create mode 100644 src/expandableCalendar/style.d.ts create mode 100644 src/expandableCalendar/style.js create mode 100644 src/expandableCalendar/week.d.ts create mode 100644 src/expandableCalendar/week.js create mode 100644 src/hooks.d.ts create mode 100644 src/hooks.js create mode 100644 src/index.d.ts create mode 100644 src/index.js create mode 100644 src/infinite-list/index.d.ts create mode 100644 src/infinite-list/index.js create mode 100644 src/interface.d.ts create mode 100644 src/interface.js create mode 100644 src/momentResolver.d.ts create mode 100644 src/momentResolver.js create mode 100644 src/services/index.d.ts create mode 100644 src/services/index.js create mode 100644 src/style.d.ts create mode 100644 src/style.js create mode 100644 src/timeline-list/index.d.ts create mode 100644 src/timeline-list/index.js create mode 100644 src/timeline-list/useTimelinePages.d.ts create mode 100644 src/timeline-list/useTimelinePages.js create mode 100644 src/timeline/EventBlock.d.ts create mode 100644 src/timeline/EventBlock.js create mode 100644 src/timeline/NowIndicator.d.ts create mode 100644 src/timeline/NowIndicator.js create mode 100644 src/timeline/Packer.d.ts create mode 100644 src/timeline/Packer.js create mode 100644 src/timeline/Timeline.d.ts create mode 100644 src/timeline/Timeline.js create mode 100644 src/timeline/TimelineHours.d.ts create mode 100644 src/timeline/TimelineHours.js create mode 100644 src/timeline/helpers/presenter.d.ts create mode 100644 src/timeline/helpers/presenter.js create mode 100644 src/timeline/style.d.ts create mode 100644 src/timeline/style.js create mode 100644 src/timeline/useTimelineOffset.d.ts create mode 100644 src/timeline/useTimelineOffset.js create mode 100644 src/types.d.ts create mode 100644 src/types.js create mode 100644 src/velocityTracker.d.ts create mode 100644 src/velocityTracker.js diff --git a/example/src/mocks/AgendaItem.d.ts b/example/src/mocks/AgendaItem.d.ts new file mode 100644 index 0000000000..f9dd904cce --- /dev/null +++ b/example/src/mocks/AgendaItem.d.ts @@ -0,0 +1,6 @@ +import React from 'react'; +interface ItemProps { + item: any; +} +declare const _default: React.MemoExoticComponent<(props: ItemProps) => React.JSX.Element>; +export default _default; diff --git a/example/src/mocks/AgendaItem.js b/example/src/mocks/AgendaItem.js new file mode 100644 index 0000000000..da9ca4d742 --- /dev/null +++ b/example/src/mocks/AgendaItem.js @@ -0,0 +1,68 @@ +import isEmpty from 'lodash/isEmpty'; +import React, { useCallback } from 'react'; +import { StyleSheet, Alert, View, Text, TouchableOpacity, Button } from 'react-native'; +import testIDs from '../testIDs'; +const AgendaItem = (props) => { + const { item } = props; + const buttonPressed = useCallback(() => { + Alert.alert('Show me more'); + }, []); + const itemPressed = useCallback(() => { + Alert.alert(item.title); + }, []); + if (isEmpty(item)) { + return ( + No Events Planned Today + ); + } + return ( + + {item.hour} + {item.duration} + + {item.title} + +