From b5c9467522aacabc5b6efaafaab30413cba2262d Mon Sep 17 00:00:00 2001 From: prabhuignoto Date: Mon, 20 Nov 2023 11:50:32 +0530 Subject: [PATCH 1/6] chore: upgrade packages --- coverage/clover.xml | 5633 +++++++++++++- .../components/GlobalContext.tsx.html | 526 ++ .../components/common/styles/index.html | 116 + .../components/common/styles/index.ts.html | 142 + .../components/common/test/index.html | 116 + .../components/common/test/index.tsx.html | 334 + .../components/common/themes/index.html | 116 + .../components/common/themes/index.ts.html | 208 + .../lcov-report/components/effects/index.html | 131 + .../components/effects/useMatchMedia.ts.html | 223 + .../effects}/useNewScrollPosition.ts.html | 20 +- .../components/icons/chev-left.tsx.html | 145 + .../components/icons/chev-right.tsx.html | 145 + .../components/icons/chevs-left.tsx.html | 148 + .../components/icons/chevs-right.tsx.html | 148 + .../components/icons/close.tsx.html | 151 + .../lcov-report/components/icons/index.html | 326 + .../components/icons/index.tsx.html | 112 + .../components/icons/maximize.tsx.html | 136 + .../components/icons/menu.tsx.html | 151 + .../components/icons/minimize.tsx.html | 133 + .../components/icons/minus.tsx.html | 133 + .../components/icons/moon.tsx.html | 133 + .../components/icons/plus.tsx.html | 133 + .../components/icons/replay-icon.tsx.html | 142 + .../components/icons/stop.tsx.html | 136 + .../lcov-report/components/icons/sun.tsx.html | 139 + coverage/lcov-report/components/index.html | 116 + .../timeline-elements/memoized/index.html | 116 + .../timeline-elements/memoized/index.tsx.html | 607 ++ .../card-animations.styles.ts.html | 220 + .../content-footer.tsx.html | 439 ++ .../content-header.tsx.html | 244 + .../details-text.tsx.html | 325 + .../timeline-card-content/index.html | 206 + .../text-or-content.tsx.html | 289 + .../timeline-card-content.styles.ts.html | 1249 ++++ .../timeline-card-content.tsx.html | 1453 ++++ .../timeline-card-media/index.html | 146 + .../timeline-card-media-buttons.tsx.html | 229 + .../timeline-card-media.styles.ts.html | 799 ++ .../timeline-card-media.tsx.html | 1315 ++++ .../timeline-card/index.html | 131 + .../timeline-horizontal-card.styles.ts.html | 535 ++ .../timeline-horizontal-card.tsx.html | 670 ++ .../timeline-control/index.html | 131 + .../timeline-control.styles.ts.html | 340 + .../timeline-control.tsx.html | 730 ++ .../timeline-item-title/index.html | 131 + .../timeline-card-title.styles.ts.html | 157 + .../timeline-card-title.tsx.html | 232 + .../timeline-outline/index.html | 146 + .../timeline-outline-item-list.tsx.html | 232 + .../timeline-outline.styles.ts.html | 580 ++ .../timeline-outline.tsx.html | 415 ++ .../components/timeline-horizontal/index.html | 131 + .../timeline-horizontal.styles.ts.html | 190 + .../timeline-horizontal.tsx.html | 388 + .../components/timeline-vertical/index.html | 176 + .../timeline-vertical/timeline-point.tsx.html | 499 ++ .../timeline-vertical-item.tsx.html | 790 ++ .../timeline-vertical-shape.styles.ts.html | 238 + .../timeline-vertical.styles.ts.html | 514 ++ .../timeline-vertical.tsx.html | 460 ++ .../components/timeline/index.html | 131 + .../timeline/timeline.style.ts.html | 532 ++ .../components/timeline/timeline.tsx.html | 1507 ++++ coverage/lcov-report/index.html | 270 +- coverage/lcov-report/utils/index.html | 116 + coverage/lcov-report/utils/index.ts.html | 286 + coverage/lcov.info | 6479 +++++++++++++++++ package.json | 54 +- pnpm-lock.yaml | 1873 ++--- .../content-footer.test.tsx.snap | 4 +- .../content-header.test.tsx.snap | 6 +- .../timeline-card-media.test.tsx.snap | 22 +- .../timeline-horizontal-card.test.tsx.snap | 10 +- .../timeline-control.test.tsx.snap | 26 +- .../timeline-card-title.test.tsx.snap | 2 +- .../timeline-point.test.tsx.snap | 6 +- .../timeline-vertical-item.test.tsx.snap | 30 +- 81 files changed, 35786 insertions(+), 1113 deletions(-) create mode 100644 coverage/lcov-report/components/GlobalContext.tsx.html create mode 100644 coverage/lcov-report/components/common/styles/index.html create mode 100644 coverage/lcov-report/components/common/styles/index.ts.html create mode 100644 coverage/lcov-report/components/common/test/index.html create mode 100644 coverage/lcov-report/components/common/test/index.tsx.html create mode 100644 coverage/lcov-report/components/common/themes/index.html create mode 100644 coverage/lcov-report/components/common/themes/index.ts.html create mode 100644 coverage/lcov-report/components/effects/index.html create mode 100644 coverage/lcov-report/components/effects/useMatchMedia.ts.html rename coverage/lcov-report/{ => components/effects}/useNewScrollPosition.ts.html (95%) create mode 100644 coverage/lcov-report/components/icons/chev-left.tsx.html create mode 100644 coverage/lcov-report/components/icons/chev-right.tsx.html create mode 100644 coverage/lcov-report/components/icons/chevs-left.tsx.html create mode 100644 coverage/lcov-report/components/icons/chevs-right.tsx.html create mode 100644 coverage/lcov-report/components/icons/close.tsx.html create mode 100644 coverage/lcov-report/components/icons/index.html create mode 100644 coverage/lcov-report/components/icons/index.tsx.html create mode 100644 coverage/lcov-report/components/icons/maximize.tsx.html create mode 100644 coverage/lcov-report/components/icons/menu.tsx.html create mode 100644 coverage/lcov-report/components/icons/minimize.tsx.html create mode 100644 coverage/lcov-report/components/icons/minus.tsx.html create mode 100644 coverage/lcov-report/components/icons/moon.tsx.html create mode 100644 coverage/lcov-report/components/icons/plus.tsx.html create mode 100644 coverage/lcov-report/components/icons/replay-icon.tsx.html create mode 100644 coverage/lcov-report/components/icons/stop.tsx.html create mode 100644 coverage/lcov-report/components/icons/sun.tsx.html create mode 100644 coverage/lcov-report/components/index.html create mode 100644 coverage/lcov-report/components/timeline-elements/memoized/index.html create mode 100644 coverage/lcov-report/components/timeline-elements/memoized/index.tsx.html create mode 100644 coverage/lcov-report/components/timeline-elements/timeline-card-content/card-animations.styles.ts.html create mode 100644 coverage/lcov-report/components/timeline-elements/timeline-card-content/content-footer.tsx.html create mode 100644 coverage/lcov-report/components/timeline-elements/timeline-card-content/content-header.tsx.html create mode 100644 coverage/lcov-report/components/timeline-elements/timeline-card-content/details-text.tsx.html create mode 100644 coverage/lcov-report/components/timeline-elements/timeline-card-content/index.html create mode 100644 coverage/lcov-report/components/timeline-elements/timeline-card-content/text-or-content.tsx.html create mode 100644 coverage/lcov-report/components/timeline-elements/timeline-card-content/timeline-card-content.styles.ts.html create mode 100644 coverage/lcov-report/components/timeline-elements/timeline-card-content/timeline-card-content.tsx.html create mode 100644 coverage/lcov-report/components/timeline-elements/timeline-card-media/index.html create mode 100644 coverage/lcov-report/components/timeline-elements/timeline-card-media/timeline-card-media-buttons.tsx.html create mode 100644 coverage/lcov-report/components/timeline-elements/timeline-card-media/timeline-card-media.styles.ts.html create mode 100644 coverage/lcov-report/components/timeline-elements/timeline-card-media/timeline-card-media.tsx.html create mode 100644 coverage/lcov-report/components/timeline-elements/timeline-card/index.html create mode 100644 coverage/lcov-report/components/timeline-elements/timeline-card/timeline-horizontal-card.styles.ts.html create mode 100644 coverage/lcov-report/components/timeline-elements/timeline-card/timeline-horizontal-card.tsx.html create mode 100644 coverage/lcov-report/components/timeline-elements/timeline-control/index.html create mode 100644 coverage/lcov-report/components/timeline-elements/timeline-control/timeline-control.styles.ts.html create mode 100644 coverage/lcov-report/components/timeline-elements/timeline-control/timeline-control.tsx.html create mode 100644 coverage/lcov-report/components/timeline-elements/timeline-item-title/index.html create mode 100644 coverage/lcov-report/components/timeline-elements/timeline-item-title/timeline-card-title.styles.ts.html create mode 100644 coverage/lcov-report/components/timeline-elements/timeline-item-title/timeline-card-title.tsx.html create mode 100644 coverage/lcov-report/components/timeline-elements/timeline-outline/index.html create mode 100644 coverage/lcov-report/components/timeline-elements/timeline-outline/timeline-outline-item-list.tsx.html create mode 100644 coverage/lcov-report/components/timeline-elements/timeline-outline/timeline-outline.styles.ts.html create mode 100644 coverage/lcov-report/components/timeline-elements/timeline-outline/timeline-outline.tsx.html create mode 100644 coverage/lcov-report/components/timeline-horizontal/index.html create mode 100644 coverage/lcov-report/components/timeline-horizontal/timeline-horizontal.styles.ts.html create mode 100644 coverage/lcov-report/components/timeline-horizontal/timeline-horizontal.tsx.html create mode 100644 coverage/lcov-report/components/timeline-vertical/index.html create mode 100644 coverage/lcov-report/components/timeline-vertical/timeline-point.tsx.html create mode 100644 coverage/lcov-report/components/timeline-vertical/timeline-vertical-item.tsx.html create mode 100644 coverage/lcov-report/components/timeline-vertical/timeline-vertical-shape.styles.ts.html create mode 100644 coverage/lcov-report/components/timeline-vertical/timeline-vertical.styles.ts.html create mode 100644 coverage/lcov-report/components/timeline-vertical/timeline-vertical.tsx.html create mode 100644 coverage/lcov-report/components/timeline/index.html create mode 100644 coverage/lcov-report/components/timeline/timeline.style.ts.html create mode 100644 coverage/lcov-report/components/timeline/timeline.tsx.html create mode 100644 coverage/lcov-report/utils/index.html create mode 100644 coverage/lcov-report/utils/index.ts.html diff --git a/coverage/clover.xml b/coverage/clover.xml index beb2964b..7ee4596f 100644 --- a/coverage/clover.xml +++ b/coverage/clover.xml @@ -1,97 +1,5542 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/coverage/lcov-report/components/GlobalContext.tsx.html b/coverage/lcov-report/components/GlobalContext.tsx.html new file mode 100644 index 00000000..73a23554 --- /dev/null +++ b/coverage/lcov-report/components/GlobalContext.tsx.html @@ -0,0 +1,526 @@ + + + + + + Code coverage report for components/GlobalContext.tsx + + + + + + + + + +
+
+

All files / components GlobalContext.tsx

+
+ +
+ 19.72% + Statements + 29/147 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 19.72% + Lines + 29/147 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +1481x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +1x +1x +1x + 
/* eslint-disable react/prop-types */
+import { TimelineProps as PropsModel } from '@models/TimelineModel';
+import {
+  getDefaultButtonTexts,
+  getDefaultClassNames,
+  getDefaultThemeOrDark,
+  getSlideShowType,
+} from '@utils/index';
+import {
+  createContext,
+  FunctionComponent,
+  useCallback,
+  useMemo,
+  useState,
+} from 'react';
+ 
+const GlobalContext = createContext<
+  PropsModel & { toggleDarkMode?: () => void }
+>({});
+ 
+type ContextProps = PropsModel & {
+  toggleDarkMode?: () => void;
+};
+ 
+const GlobalContextProvider: FunctionComponent<Partial<PropsModel>> = (
+  props,
+) => {
+  const {
+    cardHeight = 200,
+    cardLess = false,
+    flipLayout,
+    items = [],
+    theme,
+    buttonTexts,
+    classNames,
+    mode = 'VERTICAL_ALTERNATING',
+    fontSizes,
+    textOverlay,
+    darkMode,
+    slideShow,
+    onThemeChange,
+    mediaSettings,
+    mediaHeight = 200,
+    contentDetailsHeight = 10,
+  } = props;
+
+  const [isDarkMode, setIsDarkMode] = useState(darkMode);
+
+  const newCardHeight = useMemo(
+    () => Math.max(contentDetailsHeight || 0 + mediaHeight || 0, cardHeight),
+    [],
+  );
+
+  const newContentDetailsHeight = useMemo(() => {
+    const detailsHeightApprox = Math.round(newCardHeight * 0.75);
+    return contentDetailsHeight > newCardHeight
+      ? Math.min(contentDetailsHeight, detailsHeightApprox)
+      : Math.max(contentDetailsHeight, detailsHeightApprox);
+  }, [newCardHeight]);
+
+  const toggleDarkMode = useCallback(() => {
+    setIsDarkMode(!isDarkMode);
+    onThemeChange?.();
+  }, [isDarkMode]);
+
+  const defaultProps = useMemo(
+    () =>
+      Object.assign<ContextProps, ContextProps, ContextProps>(
+        {},
+        {
+          borderLessCards: false,
+          cardHeight: newCardHeight,
+          cardLess: false,
+          disableAutoScrollOnClick: false,
+          disableClickOnCircle: false,
+          disableTimelinePoint: false,
+          enableBreakPoint: true,
+          enableDarkToggle: false,
+          focusActiveItemOnLoad: false,
+          lineWidth: 3,
+          mediaHeight: 200,
+          nestedCardHeight: 150,
+          scrollable: {
+            scrollbar: false,
+          },
+          showAllCardsHorizontal: false,
+          showProgressOnSlideshow: slideShow,
+          slideItemDuration: 2000,
+          slideShowType: getSlideShowType(mode),
+          textOverlay: false,
+          timelinePointDimension: 16,
+          timelinePointShape: 'circle',
+          titleDateFormat: 'MMM DD, YYYY',
+          uniqueId: 'react-chrono',
+          useReadMore: true,
+          verticalBreakPoint: 1028,
+        },
+        {
+          ...props,
+          activeItemIndex: flipLayout ? items?.length - 1 : 0,
+          buttonTexts: {
+            ...getDefaultButtonTexts(),
+            ...buttonTexts,
+          },
+          cardHeight: cardLess ? cardHeight || 80 : cardHeight,
+          classNames: {
+            ...getDefaultClassNames(),
+            ...classNames,
+          },
+          contentDetailsHeight: newContentDetailsHeight,
+          darkMode: isDarkMode,
+          fontSizes: {
+            cardSubtitle: '0.85rem',
+            cardText: '1rem',
+            cardTitle: '1rem',
+            title: '1rem',
+            ...fontSizes,
+          },
+          mediaSettings: {
+            align: mode === 'VERTICAL' && !textOverlay ? 'left' : 'center',
+            imageFit: 'cover',
+            ...mediaSettings,
+          },
+          theme: {
+            ...getDefaultThemeOrDark(isDarkMode),
+            ...theme,
+          },
+          toggleDarkMode,
+        },
+      ),
+    [newContentDetailsHeight, newCardHeight, isDarkMode, toggleDarkMode],
+  );
+
+  const { children } = props;
+
+  return (
+    <GlobalContext.Provider
+      value={{ ...defaultProps, darkMode: isDarkMode, toggleDarkMode }}
+    >
+      {children}
+    </GlobalContext.Provider>
+  );
+};
+ 
+export default GlobalContextProvider;
+ 
+export { GlobalContext };
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/common/styles/index.html b/coverage/lcov-report/components/common/styles/index.html new file mode 100644 index 00000000..be82426e --- /dev/null +++ b/coverage/lcov-report/components/common/styles/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for components/common/styles + + + + + + + + + +
+
+

All files components/common/styles

+
+ +
+ 100% + Statements + 19/19 +
+ + +
+ 100% + Branches + 3/3 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 19/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.ts +
+
100%19/19100%3/3100%2/2100%19/19
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/common/styles/index.ts.html b/coverage/lcov-report/components/common/styles/index.ts.html new file mode 100644 index 00000000..65394623 --- /dev/null +++ b/coverage/lcov-report/components/common/styles/index.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for components/common/styles/index.ts + + + + + + + + + +
+
+

All files / components/common/styles index.ts

+
+ +
+ 100% + Statements + 19/19 +
+ + +
+ 100% + Branches + 3/3 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 19/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x + 
import { css } from 'styled-components';
+ 
+export const ScrollBar = css`
+  scrollbar-color: ${(p) => p.theme?.primary} default;
+  scrollbar-width: thin;
+ 
+  &::-webkit-scrollbar {
+    width: 0.3em;
+  }
+ 
+  &::-webkit-scrollbar-track {
+    box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.2);
+  }
+ 
+  &::-webkit-scrollbar-thumb {
+    background-color: ${(p) => p.theme?.primary};
+    outline: 1px solid ${(p) => p.theme?.primary};
+  }
+`;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/common/test/index.html b/coverage/lcov-report/components/common/test/index.html new file mode 100644 index 00000000..8524118d --- /dev/null +++ b/coverage/lcov-report/components/common/test/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for components/common/test + + + + + + + + + +
+
+

All files components/common/test

+
+ +
+ 100% + Statements + 83/83 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 14.28% + Functions + 1/7 +
+ + +
+ 100% + Lines + 83/83 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.tsx +
+
100%83/83100%1/114.28%1/7100%83/83
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/common/test/index.tsx.html b/coverage/lcov-report/components/common/test/index.tsx.html new file mode 100644 index 00000000..85f820bd --- /dev/null +++ b/coverage/lcov-report/components/common/test/index.tsx.html @@ -0,0 +1,334 @@ + + + + + + Code coverage report for components/common/test/index.tsx + + + + + + + + + +
+
+

All files / components/common/test index.tsx

+
+ +
+ 100% + Statements + 83/83 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 14.28% + Functions + 1/7 +
+ + +
+ 100% + Lines + 83/83 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +841x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +41x +41x +41x +41x +41x +41x +41x +41x + 
import { TimelineProps } from '@models/TimelineModel';
+import { render, RenderResult } from '@testing-library/react';
+import { ReactElement } from 'react';
+import { GlobalContext } from '../../GlobalContext';
+ 
+export const providerProps: TimelineProps = {
+  buttonTexts: {
+    dark: 'dark',
+    first: 'first',
+    last: 'last',
+    light: 'light',
+    next: 'next',
+    play: 'start slideshow',
+    previous: 'previous',
+    stop: 'stop slideshow',
+  },
+  classNames: {
+    card: 'card',
+    cardMedia: 'card-media',
+    cardSubTitle: 'card-subtitle',
+    cardText: 'card-text',
+    cardTitle: 'card-title',
+    controls: 'controls',
+    title: 'title',
+  },
+  darkMode: false,
+  enableDarkToggle: true,
+  fontSizes: {
+    cardSubtitle: '0.85rem',
+    cardText: '1rem',
+    cardTitle: '1.25rem',
+    title: '1.5rem',
+  },
+  mediaHeight: 200,
+  mode: 'VERTICAL_ALTERNATING',
+  scrollable: {
+    scrollbar: false,
+  },
+  showAllCardsHorizontal: false,
+  showProgressOnSlideshow: false,
+  slideItemDuration: 2000,
+  slideShowType: 'reveal',
+  textOverlay: false,
+  theme: {
+    cardBgColor: '#fff',
+    cardDetailsBackGround: '#ffffff',
+    cardDetailsColor: '#000',
+    cardSubtitleColor: '#000',
+    cardTitleColor: '#000',
+    detailsColor: '#000',
+    primary: '#0f52ba',
+    secondary: '#ffdf00',
+    titleColor: '#0f52ba',
+    titleColorActive: '#0f52ba',
+  },
+  timelinePointDimension: 16,
+  timelinePointShape: 'circle',
+  titleDateFormat: 'MMM DD, YYYY',
+  useReadMore: true,
+};
+ 
+export const commonProps = {
+  disableLeft: false,
+  disableRight: false,
+  onFirst: () => {},
+  onLast: () => {},
+  onNext: () => {},
+  onPrevious: () => {},
+  onReplay: () => {},
+  onToggleDarkMode: () => {},
+  slideShowEnabled: false,
+  slideShowRunning: false,
+};
+ 
+export const customRender = (
+  ui: ReactElement,
+  { providerProps, ...renderOptions }: any,
+): RenderResult => {
+  return render(
+    <GlobalContext.Provider value={providerProps}>{ui}</GlobalContext.Provider>,
+    renderOptions,
+  );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/common/themes/index.html b/coverage/lcov-report/components/common/themes/index.html new file mode 100644 index 00000000..ba57ef0c --- /dev/null +++ b/coverage/lcov-report/components/common/themes/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for components/common/themes + + + + + + + + + +
+
+

All files components/common/themes

+
+ +
+ 100% + Statements + 41/41 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 41/41 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.ts +
+
100%41/41100%0/0100%0/0100%41/41
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/common/themes/index.ts.html b/coverage/lcov-report/components/common/themes/index.ts.html new file mode 100644 index 00000000..99d1d626 --- /dev/null +++ b/coverage/lcov-report/components/common/themes/index.ts.html @@ -0,0 +1,208 @@ + + + + + + Code coverage report for components/common/themes/index.ts + + + + + + + + + +
+
+

All files / components/common/themes index.ts

+
+ +
+ 100% + Statements + 41/41 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 41/41 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +421x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x + 
import { Theme } from '@models/Theme';
+ 
+export const defaultTheme: Theme = {
+  cardBgColor: '#ffffff',
+  cardDetailsBackGround: '#ffffff',
+  cardDetailsColor: '#000',
+  cardMediaBgColor: '#f5f5f5',
+  cardSubtitleColor: '#000',
+  cardTitleColor: '#007FFF',
+  detailsColor: '#000',
+  iconBackgroundColor: '#007FFF',
+  nestedCardBgColor: '#f5f5f5',
+  nestedCardDetailsBackGround: '#f5f5f5',
+  nestedCardDetailsColor: '#000',
+  nestedCardSubtitleColor: '#000',
+  nestedCardTitleColor: '#000',
+  primary: '#007FFF',
+  secondary: '#ffdf00',
+  titleColor: '#007FFF',
+  titleColorActive: '#007FFF',
+};
+ 
+export const darkTheme: Theme = {
+  cardBgColor: '#191919',
+  cardDetailsBackGround: '#191919',
+  cardDetailsColor: '#ffff0f',
+  cardMediaBgColor: '#2f2f2f',
+  cardSubtitleColor: '#ffffff',
+  cardTitleColor: '#007FFF',
+  detailsColor: '#ffffff',
+  iconBackgroundColor: '#007FFF',
+  nestedCardBgColor: '#333333',
+  nestedCardDetailsBackGround: '#333333',
+  nestedCardDetailsColor: '#ffffff',
+  nestedCardSubtitleColor: '#ffffff',
+  nestedCardTitleColor: '#ffffff',
+  primary: '#007FFF',
+  secondary: '#ffdf00',
+  titleColor: '#007FFF',
+  titleColorActive: '#007FFF',
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/effects/index.html b/coverage/lcov-report/components/effects/index.html new file mode 100644 index 00000000..802a333f --- /dev/null +++ b/coverage/lcov-report/components/effects/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for components/effects + + + + + + + + + +
+
+

All files components/effects

+
+ +
+ 98.5% + Statements + 132/134 +
+ + +
+ 93.93% + Branches + 31/33 +
+ + +
+ 66.66% + Functions + 2/3 +
+ + +
+ 98.5% + Lines + 132/134 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
useMatchMedia.ts +
+
95.65%44/4690%9/1050%1/295.65%44/46
useNewScrollPosition.ts +
+
100%88/8895.65%22/23100%1/1100%88/88
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/effects/useMatchMedia.ts.html b/coverage/lcov-report/components/effects/useMatchMedia.ts.html new file mode 100644 index 00000000..35c7e995 --- /dev/null +++ b/coverage/lcov-report/components/effects/useMatchMedia.ts.html @@ -0,0 +1,223 @@ + + + + + + Code coverage report for components/effects/useMatchMedia.ts + + + + + + + + + +
+
+

All files / components/effects useMatchMedia.ts

+
+ +
+ 95.65% + Statements + 44/46 +
+ + +
+ 90% + Branches + 9/10 +
+ + +
+ 50% + Functions + 1/2 +
+ + +
+ 95.65% + Lines + 44/46 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +471x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +4x +4x +4x +4x +4x +4x +4x +3x +1x +1x +2x +2x +2x +2x +2x +3x +1x +1x +2x +2x +2x +2x +2x +2x +4x +4x +4x +4x +  +  +4x +4x +4x +4x + 
/**
+ * The useMatchMedia hook takes a media query string, a callback function, and an enabled boolean.
+ * It returns a boolean indicating if the media query matches the current viewport and executes the callback if it does.
+ *
+ * @param {string} query - The media query string to match against.
+ * @param {() => void} [cb] - Optional callback function to be executed if the media query matches.
+ * @param {boolean} [enabled=true] - Whether the hook is enabled or not.
+ * @returns {boolean} - Whether the media query matches the current viewport.
+ */
+import { useEffect, useState } from 'react';
+ 
+export const useMatchMedia = (
+  query: string,
+  cb?: () => void,
+  enabled = true,
+) => {
+  const [matches, setMatches] = useState<boolean>(false);
+ 
+  useEffect(() => {
+    if (!enabled) {
+      return;
+    }
+ 
+    const media = window.matchMedia(query);
+    const listener = () => setMatches(media.matches);
+ 
+    // Check initial match and update state if necessary
+    if (media.matches !== matches) {
+      setMatches(media.matches);
+    }
+ 
+    media.addEventListener('change', listener);
+ 
+    return () => {
+      media.removeEventListener('change', listener);
+    };
+  }, [query, enabled]);
+ 
+  useEffect(() => {
+    if (matches && cb) {
+      cb();
+    }
+  }, [matches, cb]);
+ 
+  return matches;
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/useNewScrollPosition.ts.html b/coverage/lcov-report/components/effects/useNewScrollPosition.ts.html similarity index 95% rename from coverage/lcov-report/useNewScrollPosition.ts.html rename to coverage/lcov-report/components/effects/useNewScrollPosition.ts.html index a72f226b..b6406d1f 100644 --- a/coverage/lcov-report/useNewScrollPosition.ts.html +++ b/coverage/lcov-report/components/effects/useNewScrollPosition.ts.html @@ -3,15 +3,15 @@ - Code coverage report for useNewScrollPosition.ts + Code coverage report for components/effects/useNewScrollPosition.ts - - - + + + @@ -19,7 +19,7 @@
-

All files useNewScrollPosition.ts

+

All files / components/effects useNewScrollPosition.ts

@@ -334,16 +334,16 @@

All files useNewScrollPosition.ts

- + - - + + \ No newline at end of file diff --git a/coverage/lcov-report/components/icons/chev-left.tsx.html b/coverage/lcov-report/components/icons/chev-left.tsx.html new file mode 100644 index 00000000..1775de6d --- /dev/null +++ b/coverage/lcov-report/components/icons/chev-left.tsx.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for components/icons/chev-left.tsx + + + + + + + + + +
+
+

All files / components/icons chev-left.tsx

+
+ +
+ 100% + Statements + 20/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 20/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +1x +1x +1x + 
import React from 'react';
+ 
+const ChevronLeft: React.FunctionComponent = () => (
+  <svg
+    xmlns="http://www.w3.org/2000/svg"
+    width="24"
+    height="24"
+    viewBox="0 0 24 24"
+    fill="none"
+    stroke="currentColor"
+    strokeWidth="2"
+    strokeLinecap="round"
+    strokeLinejoin="round"
+    className="feather feather-chevron-left"
+  >
+    <polyline points="15 18 9 12 15 6"></polyline>
+  </svg>
+);
+ 
+export default ChevronLeft;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/icons/chev-right.tsx.html b/coverage/lcov-report/components/icons/chev-right.tsx.html new file mode 100644 index 00000000..d09dd387 --- /dev/null +++ b/coverage/lcov-report/components/icons/chev-right.tsx.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for components/icons/chev-right.tsx + + + + + + + + + +
+
+

All files / components/icons chev-right.tsx

+
+ +
+ 100% + Statements + 20/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 20/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +1x +1x +1x + 
import React from 'react';
+ 
+const ChevronRightIcon: React.FunctionComponent = () => (
+  <svg
+    xmlns="http://www.w3.org/2000/svg"
+    width="24"
+    height="24"
+    viewBox="0 0 24 24"
+    fill="none"
+    stroke="currentColor"
+    strokeWidth="2"
+    strokeLinecap="round"
+    strokeLinejoin="round"
+    className="feather feather-chevron-right"
+  >
+    <polyline points="9 18 15 12 9 6"></polyline>
+  </svg>
+);
+ 
+export default ChevronRightIcon;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/icons/chevs-left.tsx.html b/coverage/lcov-report/components/icons/chevs-left.tsx.html new file mode 100644 index 00000000..95445c66 --- /dev/null +++ b/coverage/lcov-report/components/icons/chevs-left.tsx.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for components/icons/chevs-left.tsx + + + + + + + + + +
+
+

All files / components/icons chevs-left.tsx

+
+ +
+ 100% + Statements + 21/21 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 21/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +221x +1x +1x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +1x +1x +1x + 
import React from 'react';
+ 
+const ChevronLeft: React.FunctionComponent = () => (
+  <svg
+    xmlns="http://www.w3.org/2000/svg"
+    width="24"
+    height="24"
+    viewBox="0 0 24 24"
+    fill="none"
+    stroke="currentColor"
+    strokeWidth="2"
+    strokeLinecap="round"
+    strokeLinejoin="round"
+    className="feather feather-chevrons-left"
+  >
+    <polyline points="11 17 6 12 11 7"></polyline>
+    <polyline points="18 17 13 12 18 7"></polyline>
+  </svg>
+);
+ 
+export default ChevronLeft;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/icons/chevs-right.tsx.html b/coverage/lcov-report/components/icons/chevs-right.tsx.html new file mode 100644 index 00000000..47d62122 --- /dev/null +++ b/coverage/lcov-report/components/icons/chevs-right.tsx.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for components/icons/chevs-right.tsx + + + + + + + + + +
+
+

All files / components/icons chevs-right.tsx

+
+ +
+ 100% + Statements + 21/21 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 21/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +221x +1x +1x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +1x +1x +1x + 
import React from 'react';
+ 
+const ChevronRightIcon: React.FunctionComponent = () => (
+  <svg
+    xmlns="http://www.w3.org/2000/svg"
+    width="24"
+    height="24"
+    viewBox="0 0 24 24"
+    fill="none"
+    stroke="currentColor"
+    strokeWidth="2"
+    strokeLinecap="round"
+    strokeLinejoin="round"
+    className="feather feather-chevrons-right"
+  >
+    <polyline points="13 17 18 12 13 7"></polyline>
+    <polyline points="6 17 11 12 6 7"></polyline>
+  </svg>
+);
+ 
+export default ChevronRightIcon;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/icons/close.tsx.html b/coverage/lcov-report/components/icons/close.tsx.html new file mode 100644 index 00000000..ef629073 --- /dev/null +++ b/coverage/lcov-report/components/icons/close.tsx.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for components/icons/close.tsx + + + + + + + + + +
+
+

All files / components/icons close.tsx

+
+ +
+ 100% + Statements + 22/22 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 22/22 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +1x +1x + 
import * as React from "react"
+ 
+function SvgComponent() {
+  return (
+    <svg
+      xmlns="http://www.w3.org/2000/svg"
+      width={24}
+      height={24}
+      viewBox="0 0 24 24"
+      fill="none"
+      stroke="currentColor"
+      strokeWidth={2}
+      strokeLinecap="round"
+      strokeLinejoin="round"
+      className="prefix__feather prefix__feather-x"
+    >
+      <path d="M18 6L6 18M6 6l12 12" />
+    </svg>
+  )
+}
+ 
+export default SvgComponent
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/icons/index.html b/coverage/lcov-report/components/icons/index.html new file mode 100644 index 00000000..2585177d --- /dev/null +++ b/coverage/lcov-report/components/icons/index.html @@ -0,0 +1,326 @@ + + + + + + Code coverage report for components/icons + + + + + + + + + +
+
+

All files components/icons

+
+ +
+ 82.59% + Statements + 223/270 +
+ + +
+ 100% + Branches + 10/10 +
+ + +
+ 71.42% + Functions + 10/14 +
+ + +
+ 82.59% + Lines + 223/270 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
chev-left.tsx +
+
100%20/20100%1/1100%1/1100%20/20
chev-right.tsx +
+
100%20/20100%1/1100%1/1100%20/20
chevs-left.tsx +
+
100%21/21100%1/1100%1/1100%21/21
chevs-right.tsx +
+
100%21/21100%1/1100%1/1100%21/21
close.tsx +
+
100%22/22100%1/1100%1/1100%22/22
index.tsx +
+
100%9/9100%0/0100%0/0100%9/9
maximize.tsx +
+
100%17/17100%1/1100%1/1100%17/17
menu.tsx +
+
100%22/22100%1/1100%1/1100%22/22
minimize.tsx +
+
31.25%5/16100%0/00%0/131.25%5/16
minus.tsx +
+
100%16/16100%1/1100%1/1100%16/16
moon.tsx +
+
100%16/16100%1/1100%1/1100%16/16
plus.tsx +
+
31.25%5/16100%0/00%0/131.25%5/16
replay-icon.tsx +
+
100%19/19100%1/1100%1/1100%19/19
stop.tsx +
+
29.41%5/17100%0/00%0/129.41%5/17
sun.tsx +
+
27.77%5/18100%0/00%0/127.77%5/18
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/icons/index.tsx.html b/coverage/lcov-report/components/icons/index.tsx.html new file mode 100644 index 00000000..a2d3a53a --- /dev/null +++ b/coverage/lcov-report/components/icons/index.tsx.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for components/icons/index.tsx + + + + + + + + + +
+
+

All files / components/icons index.tsx

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +101x +1x +1x +1x +1x +1x +1x +1x +1x + 
export { default as ChevronLeft } from './chev-left';
+export { default as ChevronRight } from './chev-right';
+export { default as MaximizeIcon } from './maximize';
+export { default as MinimizeIcon } from './minimize';
+export { default as MinusIcon } from './minus';
+export { default as MoonIcon } from './moon';
+export { default as PlusIcon } from './plus';
+export { default as StopIcon } from "./stop";
+export { default as SunIcon } from './sun';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/icons/maximize.tsx.html b/coverage/lcov-report/components/icons/maximize.tsx.html new file mode 100644 index 00000000..22682f9d --- /dev/null +++ b/coverage/lcov-report/components/icons/maximize.tsx.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for components/icons/maximize.tsx + + + + + + + + + +
+
+

All files / components/icons maximize.tsx

+
+ +
+ 100% + Statements + 17/17 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 17/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +181x +1x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +1x +1x +1x + 
 
+const SvgComponent = () => (
+  <svg
+    xmlns="http://www.w3.org/2000/svg"
+    viewBox="0 0 24 24"
+    fill="none"
+    stroke="currentColor"
+    strokeWidth={2}
+    strokeLinecap="round"
+    strokeLinejoin="round"
+    className="feather feather-maximize-2"
+  >
+    <path d="M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7" />
+  </svg>
+)
+ 
+export default SvgComponent
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/icons/menu.tsx.html b/coverage/lcov-report/components/icons/menu.tsx.html new file mode 100644 index 00000000..c6811f88 --- /dev/null +++ b/coverage/lcov-report/components/icons/menu.tsx.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for components/icons/menu.tsx + + + + + + + + + +
+
+

All files / components/icons menu.tsx

+
+ +
+ 100% + Statements + 22/22 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 22/22 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +1x +1x + 
import * as React from "react"
+ 
+function SvgComponent() {
+  return (
+    <svg
+      xmlns="http://www.w3.org/2000/svg"
+      width={24}
+      height={24}
+      viewBox="0 0 24 24"
+      fill="none"
+      stroke="currentColor"
+      strokeWidth={2}
+      strokeLinecap="round"
+      strokeLinejoin="round"
+      className="prefix__feather prefix__feather-menu"
+    >
+      <path d="M3 12h18M3 6h18M3 18h18" />
+    </svg>
+  )
+}
+ 
+export default SvgComponent
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/icons/minimize.tsx.html b/coverage/lcov-report/components/icons/minimize.tsx.html new file mode 100644 index 00000000..1ea6fc65 --- /dev/null +++ b/coverage/lcov-report/components/icons/minimize.tsx.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for components/icons/minimize.tsx + + + + + + + + + +
+
+

All files / components/icons minimize.tsx

+
+ +
+ 31.25% + Statements + 5/16 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 31.25% + Lines + 5/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +171x +1x +  +  +  +  +  +  +  +  +  +  +  +1x +1x +1x + 
 
+const SvgComponent = () => (
+  <svg
+    xmlns="http://www.w3.org/2000/svg"
+    viewBox="0 0 24 24"
+    fill="none"
+    stroke="currentColor"
+    strokeWidth={2}
+    strokeLinecap="round"
+    strokeLinejoin="round"
+  >
+    <path d="M4 14h6v6M20 10h-6V4M14 10l7-7M3 21l7-7" />
+  </svg>
+)
+ 
+export default SvgComponent
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/icons/minus.tsx.html b/coverage/lcov-report/components/icons/minus.tsx.html new file mode 100644 index 00000000..91eb2fa5 --- /dev/null +++ b/coverage/lcov-report/components/icons/minus.tsx.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for components/icons/minus.tsx + + + + + + + + + +
+
+

All files / components/icons minus.tsx

+
+ +
+ 100% + Statements + 16/16 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 16/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +171x +1x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +1x +1x +1x + 
 
+const SvgComponent = () => (
+  <svg
+    xmlns="http://www.w3.org/2000/svg"
+    viewBox="0 0 24 24"
+    fill="none"
+    stroke="currentColor"
+    strokeWidth={2}
+    strokeLinecap="round"
+    strokeLinejoin="round"
+  >
+    <path d="M5 12h14" />
+  </svg>
+)
+ 
+export default SvgComponent
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/icons/moon.tsx.html b/coverage/lcov-report/components/icons/moon.tsx.html new file mode 100644 index 00000000..81e3ac55 --- /dev/null +++ b/coverage/lcov-report/components/icons/moon.tsx.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for components/icons/moon.tsx + + + + + + + + + +
+
+

All files / components/icons moon.tsx

+
+ +
+ 100% + Statements + 16/16 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 16/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +171x +1x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +1x +1x +1x + 
 
+const SvgComponent = () => (
+  <svg
+    xmlns="http://www.w3.org/2000/svg"
+    fill="none"
+    stroke="currentColor"
+    strokeWidth={2}
+    strokeLinecap="round"
+    strokeLinejoin="round"
+    viewBox="0 0 24 24"
+  >
+    <path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z" />
+  </svg>
+)
+ 
+export default SvgComponent
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/icons/plus.tsx.html b/coverage/lcov-report/components/icons/plus.tsx.html new file mode 100644 index 00000000..8ac0f035 --- /dev/null +++ b/coverage/lcov-report/components/icons/plus.tsx.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for components/icons/plus.tsx + + + + + + + + + +
+
+

All files / components/icons plus.tsx

+
+ +
+ 31.25% + Statements + 5/16 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 31.25% + Lines + 5/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +171x +1x +  +  +  +  +  +  +  +  +  +  +  +1x +1x +1x + 
 
+const SvgComponent = () => (
+  <svg
+    xmlns="http://www.w3.org/2000/svg"
+    viewBox="0 0 24 24"
+    fill="none"
+    stroke="currentColor"
+    strokeWidth={2}
+    strokeLinecap="round"
+    strokeLinejoin="round"
+  >
+    <path d="M12 5v14M5 12h14" />
+  </svg>
+)
+ 
+export default SvgComponent
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/icons/replay-icon.tsx.html b/coverage/lcov-report/components/icons/replay-icon.tsx.html new file mode 100644 index 00000000..ff6ce564 --- /dev/null +++ b/coverage/lcov-report/components/icons/replay-icon.tsx.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for components/icons/replay-icon.tsx + + + + + + + + + +
+
+

All files / components/icons replay-icon.tsx

+
+ +
+ 100% + Statements + 19/19 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 19/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x + 
import React from 'react';
+ 
+const ReplayIcon: React.FunctionComponent = () => (
+  <svg
+    xmlns="http://www.w3.org/2000/svg"
+    width="24"
+    height="24"
+    viewBox="0 0 24 24"
+    fill="none"
+    stroke="currentColor"
+    strokeWidth="2"
+    strokeLinecap="round"
+    strokeLinejoin="round"
+  >
+    <polygon points="5 3 19 12 5 21 5 3"></polygon>
+  </svg>
+);
+ 
+export default ReplayIcon;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/icons/stop.tsx.html b/coverage/lcov-report/components/icons/stop.tsx.html new file mode 100644 index 00000000..2a7304ca --- /dev/null +++ b/coverage/lcov-report/components/icons/stop.tsx.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for components/icons/stop.tsx + + + + + + + + + +
+
+

All files / components/icons stop.tsx

+
+ +
+ 29.41% + Statements + 5/17 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 29.41% + Lines + 5/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +181x +1x +  +  +  +  +  +  +  +  +  +  +  +  +1x +1x +1x + 
 
+const SvgComponent = () => (
+  <svg
+    xmlns="http://www.w3.org/2000/svg"
+    fill="none"
+    stroke="currentColor"
+    strokeWidth={2}
+    strokeLinecap="round"
+    strokeLinejoin="round"
+    viewBox="0 0 24 24"
+  >
+    <circle cx={12} cy={12} r={10} />
+    <path d="M9 9h6v6H9z" />
+  </svg>
+)
+ 
+export default SvgComponent
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/icons/sun.tsx.html b/coverage/lcov-report/components/icons/sun.tsx.html new file mode 100644 index 00000000..f1f8f68d --- /dev/null +++ b/coverage/lcov-report/components/icons/sun.tsx.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for components/icons/sun.tsx + + + + + + + + + +
+
+

All files / components/icons sun.tsx

+
+ +
+ 27.77% + Statements + 5/18 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 27.77% + Lines + 5/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +191x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +1x +1x + 
 
+const SvgComponent = () => (
+  <svg
+    xmlns="http://www.w3.org/2000/svg"
+    viewBox="0 0 24 24"
+    fill="none"
+    stroke="currentColor"
+    strokeWidth={2}
+    strokeLinecap="round"
+    strokeLinejoin="round"
+    className="feather feather-sun"
+  >
+    <circle cx={12} cy={12} r={5} />
+    <path d="M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42" />
+  </svg>
+)
+ 
+export default SvgComponent
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/index.html b/coverage/lcov-report/components/index.html new file mode 100644 index 00000000..dee407d4 --- /dev/null +++ b/coverage/lcov-report/components/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for components + + + + + + + + + +
+
+

All files components

+
+ +
+ 19.72% + Statements + 29/147 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 19.72% + Lines + 29/147 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
GlobalContext.tsx +
+
19.72%29/147100%0/00%0/119.72%29/147
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline-elements/memoized/index.html b/coverage/lcov-report/components/timeline-elements/memoized/index.html new file mode 100644 index 00000000..c3e2c889 --- /dev/null +++ b/coverage/lcov-report/components/timeline-elements/memoized/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for components/timeline-elements/memoized + + + + + + + + + +
+
+

All files components/timeline-elements/memoized

+
+ +
+ 95.97% + Statements + 167/174 +
+ + +
+ 80.64% + Branches + 25/31 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 95.97% + Lines + 167/174 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.tsx +
+
95.97%167/17480.64%25/3133.33%1/395.97%167/174
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline-elements/memoized/index.tsx.html b/coverage/lcov-report/components/timeline-elements/memoized/index.tsx.html new file mode 100644 index 00000000..a315e1a8 --- /dev/null +++ b/coverage/lcov-report/components/timeline-elements/memoized/index.tsx.html @@ -0,0 +1,607 @@ + + + + + + Code coverage report for components/timeline-elements/memoized/index.tsx + + + + + + + + + +
+
+

All files / components/timeline-elements/memoized index.tsx

+
+ +
+ 95.97% + Statements + 167/174 +
+ + +
+ 80.64% + Branches + 25/31 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 95.97% + Lines + 167/174 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +1751x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +23x +23x +23x +23x +23x +23x +23x +23x +23x +23x +23x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +3x +3x +3x +13x +13x +16x +16x +7x +23x +1x +1x +1x +1x +1x +21x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +4x +1x +  +1x +1x +1x +1x +1x +1x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +  +2x +1x +1x +1x +1x +1x +1x +1x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +  +2x +1x +1x +1x +1x +1x +1x +17x +17x +17x +17x +17x +17x +17x +17x +17x +6x +3x +3x +17x +17x +17x +17x +17x +17x +17x +16x +17x +1x +1x +17x +17x +17x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +14x +17x +1x +  +  +  +  +1x +1x +1x +1x +1x + 
import cls from 'classnames';
+import React, { memo, useCallback, useMemo } from 'react';
+import { hexToRGBA } from '../../../utils';
+import { MaximizeIcon, MinimizeIcon, MinusIcon, PlusIcon } from '../../icons';
+import {
+  CardSubTitle,
+  CardTitle,
+  CardTitleAnchor,
+} from '../timeline-card-content/timeline-card-content.styles';
+import {
+  ExpandButton,
+  ShowHideTextButton,
+} from '../timeline-card-media/timeline-card-media-buttons';
+import { DetailsTextWrapper } from './../timeline-card-media/timeline-card-media.styles';
+import {
+  Content,
+  DetailsTextMemoModel,
+  ExpandButtonModel,
+  ShowHideTextButtonModel,
+  Title,
+} from './memoized-model';
+ 
+const TitleMemo = ({
+  title,
+  url,
+  theme,
+  color,
+  dir,
+  active,
+  fontSize = '1rem',
+  classString = '',
+  padding = false,
+}: Title) => {
+  return title ? (
+    <CardTitle
+      className={cls(active ? 'active' : '', { [classString]: true })}
+      theme={theme}
+      style={{ color }}
+      dir={dir}
+      $fontSize={fontSize}
+      data-class={classString}
+      $padding={padding}
+    >
+      {url ? (
+        <CardTitleAnchor href={url} target="_blank" rel="noreferrer">
+          {title}
+        </CardTitleAnchor>
+      ) : (
+        title
+      )}
+    </CardTitle>
+  ) : null;
+};
+ 
+TitleMemo.displayName = 'Timeline Title';
+ 
+const SubTitleMemo = React.memo<Content>(
+  ({ content, color, dir, theme, fontSize, classString, padding }: Content) =>
+    content ? (
+      <CardSubTitle
+        style={{ color }}
+        dir={dir}
+        theme={theme}
+        $fontSize={fontSize}
+        className={cls('card-sub-title', classString)}
+        $padding={padding}
+      >
+        {content}
+      </CardSubTitle>
+    ) : null,
+  (prev, next) =>
+    prev.theme?.cardSubtitleColor === next.theme?.cardSubtitleColor,
+);
+ 
+SubTitleMemo.displayName = 'Timeline Content';
+ 
+export const ExpandButtonMemo = memo<ExpandButtonModel>(
+  ({ theme, expanded, onExpand, textOverlay }: ExpandButtonModel) => {
+    const label = useMemo(() => {
+      return expanded ? 'Minimize' : 'Maximize';
+    }, [expanded]);
+ 
+    return textOverlay ? (
+      <ExpandButton
+        onPointerDown={onExpand}
+        onKeyDown={(ev) => ev.key === 'Enter' && onExpand?.(ev)}
+        theme={theme}
+        aria-expanded={expanded}
+        tabIndex={0}
+        aria-label={label}
+        title={label}
+      >
+        {expanded ? <MinimizeIcon /> : <MaximizeIcon />}
+      </ExpandButton>
+    ) : null;
+  },
+  (prev, next) => prev.expanded === next.expanded,
+);
+ 
+ExpandButtonMemo.displayName = 'Expand Button';
+ 
+export const ShowOrHideTextButtonMemo = memo<ShowHideTextButtonModel>(
+  ({ textOverlay, onToggle, theme, show }: ShowHideTextButtonModel) => {
+    const label = useMemo(() => {
+      return show ? 'Hide Text' : 'Show Text';
+    }, [show]);
+ 
+    return textOverlay ? (
+      <ShowHideTextButton
+        onPointerDown={onToggle}
+        theme={theme}
+        tabIndex={0}
+        onKeyDown={(ev) => ev.key === 'Enter' && onToggle?.(ev)}
+        aria-label={label}
+        title={label}
+      >
+        {show ? <MinusIcon /> : <PlusIcon />}
+      </ShowHideTextButton>
+    ) : null;
+  },
+);
+ 
+ShowOrHideTextButtonMemo.displayName = 'Show Hide Text Button';
+ 
+const DetailsTextMemo = memo<DetailsTextMemoModel>(
+  ({
+    theme,
+    show,
+    expand,
+    textOverlay,
+    text,
+    height,
+    onRender,
+  }: DetailsTextMemoModel) => {
+    const onTextRef = useCallback((node: HTMLDivElement) => {
+      if (node) {
+        onRender?.(node.clientHeight);
+      }
+    }, []);
+ 
+    const Text = text;
+ 
+    const background = useMemo(() => {
+      const bg = theme?.cardDetailsBackGround || '';
+      if (bg) {
+        return hexToRGBA(bg, 0.8);
+      } else {
+        return bg;
+      }
+    }, [theme?.cardDetailsBackGround]);
+ 
+    return textOverlay ? (
+      <DetailsTextWrapper
+        ref={onTextRef}
+        // height={expand ? height : 0}
+        $expandFull={expand}
+        theme={theme}
+        $show={show}
+        background={background}
+      >
+        <Text />
+      </DetailsTextWrapper>
+    ) : null;
+  },
+  (prev, next) =>
+    prev.height === next.height &&
+    prev.show === next.show &&
+    prev.expand === next.expand &&
+    JSON.stringify(prev.theme) === JSON.stringify(next.theme),
+);
+ 
+DetailsTextMemo.displayName = 'Details Text';
+ 
+export { TitleMemo, SubTitleMemo, DetailsTextMemo };
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline-elements/timeline-card-content/card-animations.styles.ts.html b/coverage/lcov-report/components/timeline-elements/timeline-card-content/card-animations.styles.ts.html new file mode 100644 index 00000000..fe358240 --- /dev/null +++ b/coverage/lcov-report/components/timeline-elements/timeline-card-content/card-animations.styles.ts.html @@ -0,0 +1,220 @@ + + + + + + Code coverage report for components/timeline-elements/timeline-card-content/card-animations.styles.ts + + + + + + + + + +
+
+

All files / components/timeline-elements/timeline-card-content card-animations.styles.ts

+
+ +
+ 100% + Statements + 45/45 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 45/45 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +461x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x + 
import { keyframes } from 'styled-components';
+ 
+export const reveal = keyframes`
+  0% {
+    opacity: 0;
+    transform: scale(0.95);
+  }
+  100% {
+    opacity: 1;
+    transform: scale(1);
+  }
+`;
+ 
+export const slideInFromTop = keyframes`
+  0% {
+    opacity: 0;
+    transform: translateY(-50%);
+  }
+  100% {
+    opacity: 1;
+    transform: translateY(0);
+  }
+`;
+ 
+export const slideInFromLeft = keyframes`
+  0% {
+    opacity: 0;
+    transform: translateX(-50%);
+  }
+  100% {
+    opacity: 1;
+    transform: translateX(0);
+  }
+`;
+ 
+export const slideFromRight = keyframes`
+  0% {
+    opacity: 0;
+    transform: translateX(50%);
+  }
+  100% {
+    opacity: 1;
+    transform: translateX(0);
+  }
+`;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline-elements/timeline-card-content/content-footer.tsx.html b/coverage/lcov-report/components/timeline-elements/timeline-card-content/content-footer.tsx.html new file mode 100644 index 00000000..a201d0c2 --- /dev/null +++ b/coverage/lcov-report/components/timeline-elements/timeline-card-content/content-footer.tsx.html @@ -0,0 +1,439 @@ + + + + + + Code coverage report for components/timeline-elements/timeline-card-content/content-footer.tsx + + + + + + + + + +
+
+

All files / components/timeline-elements/timeline-card-content content-footer.tsx

+
+ +
+ 96.61% + Statements + 114/118 +
+ + +
+ 92.85% + Branches + 13/14 +
+ + +
+ 66.66% + Functions + 2/3 +
+ + +
+ 96.61% + Lines + 114/118 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +1191x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +1x +1x +1x +1x +13x +13x +13x +13x +13x +13x +13x +13x +3x +3x +3x +3x +  +  +  +  +3x +3x +3x +3x +3x +3x +3x +3x +3x +10x +13x +13x +2x +2x +2x +2x +2x +2x +2x +2x +2x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +1x +1x + 
import { TimelineMode } from '@models/TimelineModel';
+import { FunctionComponent, PointerEvent, useContext, useMemo } from 'react';
+import { GlobalContext } from '../../GlobalContext';
+import ChevronIcon from '../../icons/chev-right';
+import { ContentFooterProps } from './header-footer.model';
+import {
+  ChevronIconWrapper,
+  ShowMore,
+  SlideShowProgressBar,
+  TriangleIconWrapper,
+} from './timeline-card-content.styles';
+ 
+/**
+ * ContentFooter
+ *
+ * A functional component that renders the footer of the timeline card.
+ * It displays the read more/less button, progress bar, and triangle icon.
+ * The read more/less button appears only if the content is large.
+ * The progress bar and triangle icon are displayed only if the card is in slideshow mode.
+ *
+ * @property {boolean} showProgressBar - Determines if progress bar should be displayed.
+ * @property {Function} onExpand - Function called when expanding content.
+ * @property {string} triangleDir - Direction of the triangle icon.
+ * @property {boolean} showMore - Determines if 'read more' should be displayed.
+ * @property {boolean} textContentIsLarge - Determines if text content is large.
+ * @property {boolean} showReadMore - Determines if 'read more' button should be displayed.
+ * @property {number} remainInterval - Remaining interval for progress bar.
+ * @property {boolean} paused - Determines if progress is paused.
+ * @property {number} startWidth - Starting width of progress bar.
+ * @property {boolean} canShow - Determines if the element can be shown.
+ * @property {React.RefObject} progressRef - Ref to the progress bar.
+ * @property {boolean} isNested - Determines if component is nested.
+ * @property {boolean} isResuming - Determines if slideshow is resuming.
+ *
+ * @returns {JSX.Element} ContentFooter component.
+ */
+const ContentFooter: FunctionComponent<ContentFooterProps> = ({
+  showProgressBar,
+  onExpand,
+  triangleDir,
+  showMore,
+  textContentIsLarge,
+  showReadMore,
+  remainInterval,
+  paused,
+  startWidth,
+  canShow,
+  progressRef,
+  isNested,
+  isResuming,
+}) => {
+  const { mode, theme } = useContext(GlobalContext);
+ 
+  const canShowTriangleIcon = useMemo(() => {
+    return (
+      !isNested &&
+      (['VERTICAL', 'VERTICAL_ALTERNATING'] as TimelineMode[]).some(
+        (m) => m === mode,
+      )
+    );
+  }, [mode, isNested]);
+ 
+  const handleClick = (ev: PointerEvent) => {
+    ev.stopPropagation();
+    ev.preventDefault();
+    onExpand();
+  };
+ 
+  const canShowMore = useMemo(() => {
+    return showReadMore && textContentIsLarge;
+  }, [showReadMore, textContentIsLarge]);
+ 
+  return (
+    <>
+      {canShowMore ? (
+        <ShowMore
+          className="show-more"
+          onPointerDown={handleClick}
+          onKeyUp={(event) => {
+            if (event.key === 'Enter') {
+              onExpand();
+            }
+          }}
+          show={canShow ? 'true' : 'false'}
+          theme={theme}
+          tabIndex={0}
+        >
+          {<span>{showMore ? 'read less' : 'read more'}</span>}
+          <ChevronIconWrapper collapsed={showMore ? 'true' : 'false'}>
+            <ChevronIcon />
+          </ChevronIconWrapper>
+        </ShowMore>
+      ) : null}
+ 
+      {showProgressBar && (
+        <SlideShowProgressBar
+          color={theme?.primary}
+          $duration={remainInterval}
+          $paused={paused}
+          ref={progressRef}
+          $startWidth={startWidth}
+          role="progressbar"
+          $resuming={isResuming}
+        ></SlideShowProgressBar>
+      )}
+ 
+      {canShowTriangleIcon && (
+        <TriangleIconWrapper
+          dir={triangleDir}
+          theme={theme}
+          offset={-8}
+        ></TriangleIconWrapper>
+      )}
+    </>
+  );
+};
+ 
+export { ContentFooter };
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline-elements/timeline-card-content/content-header.tsx.html b/coverage/lcov-report/components/timeline-elements/timeline-card-content/content-header.tsx.html new file mode 100644 index 00000000..df876762 --- /dev/null +++ b/coverage/lcov-report/components/timeline-elements/timeline-card-content/content-header.tsx.html @@ -0,0 +1,244 @@ + + + + + + Code coverage report for components/timeline-elements/timeline-card-content/content-header.tsx + + + + + + + + + +
+
+

All files / components/timeline-elements/timeline-card-content content-header.tsx

+
+ +
+ 100% + Statements + 53/53 +
+ + +
+ 100% + Branches + 3/3 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 53/53 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +541x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +9x +9x +9x +9x +9x +9x +9x +3x +3x +3x +3x +3x +3x +3x +9x +9x +9x +3x +3x +3x +3x +3x +3x +9x +9x +9x +9x +1x +1x +1x +1x +1x +1x + 
import { FunctionComponent, memo, useContext } from 'react';
+import { GlobalContext } from '../../GlobalContext';
+import { SubTitleMemo, TitleMemo } from '../memoized';
+import { ContentHeaderProps } from './header-footer.model';
+import { TimelineCardHeader } from './timeline-card-content.styles';
+ 
+/**
+ * ContentHeader component
+ * This component renders the header of the timeline card including the title and subtitle.
+ * It doesn't render the title and subtitle if the card has media.
+ * The title and subtitle are memoized to prevent unnecessary re-renders.
+ *
+ * @property {string} title - The title of the card.
+ * @property {string} url - The URL of the card.
+ * @property {boolean} media - Indicates whether the card has media or not.
+ * @property {string} content - The main content of the card.
+ * @returns {JSX.Element} The ContentHeader component.
+ */
+const ContentHeader: FunctionComponent<ContentHeaderProps> = memo(
+  ({ title, url, media, content }: ContentHeaderProps) => {
+    // Using context to get global values
+    const { fontSizes, classNames, theme } = useContext(GlobalContext);
+ 
+    return (
+      <TimelineCardHeader>
+        {/* Render title if there is no media */}
+        {!media && (
+          <TitleMemo
+            title={title}
+            theme={theme}
+            url={url}
+            fontSize={fontSizes?.cardTitle}
+            classString={classNames?.cardTitle}
+          />
+        )}
+        {/* Render subtitle if there is no media */}
+        {!media && (
+          <SubTitleMemo
+            content={content}
+            theme={theme}
+            fontSize={fontSizes?.cardSubtitle}
+            classString={classNames?.cardSubTitle}
+          />
+        )}
+      </TimelineCardHeader>
+    );
+  },
+);
+ 
+// Setting display name for easier debugging
+ContentHeader.displayName = 'ContentHeader';
+ 
+export { ContentHeader };
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline-elements/timeline-card-content/details-text.tsx.html b/coverage/lcov-report/components/timeline-elements/timeline-card-content/details-text.tsx.html new file mode 100644 index 00000000..2d821316 --- /dev/null +++ b/coverage/lcov-report/components/timeline-elements/timeline-card-content/details-text.tsx.html @@ -0,0 +1,325 @@ + + + + + + Code coverage report for components/timeline-elements/timeline-card-content/details-text.tsx + + + + + + + + + +
+
+

All files / components/timeline-elements/timeline-card-content details-text.tsx

+
+ +
+ 98.75% + Statements + 79/80 +
+ + +
+ 33.33% + Branches + 1/3 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 98.75% + Lines + 79/80 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +811x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +  +8x +8x +8x +8x +8x +8x +8x +8x +8x +1x +1x +1x +1x +1x + 
import { ReactNode, forwardRef, useContext } from 'react';
+import { TimelineContentDetailsWrapper } from './timeline-card-content.styles';
+import { GlobalContext } from '../../GlobalContext';
+import { TimelineContentModel } from '@models/TimelineContentModel';
+import { getTextOrContent } from './text-or-content';
+ 
+type DetailsTextProps = Pick<
+  TimelineContentModel,
+  'detailedText' | 'timelineContent'
+> & {
+  cardActualHeight?: number;
+  contentDetailsClass?: string;
+  customContent?: ReactNode;
+  detailsHeight?: number;
+  gradientColor?: string;
+  showMore?: boolean;
+};
+ 
+const DetailsText = forwardRef<HTMLDivElement, DetailsTextProps>(
+  (prop, ref) => {
+    const {
+      showMore,
+      cardActualHeight,
+      detailsHeight,
+      gradientColor,
+      customContent,
+      timelineContent,
+      detailedText,
+      contentDetailsClass,
+    } = prop;
+ 
+    const {
+      useReadMore,
+      borderLessCards,
+      contentDetailsHeight,
+      textOverlay,
+      theme,
+    } = useContext(GlobalContext);
+ 
+    const TextContent = getTextOrContent({
+      detailedText,
+      showMore,
+      theme,
+      timelineContent,
+    });
+ 
+    return (
+      <>
+        {/* detailed text */}
+        <TimelineContentDetailsWrapper
+          aria-expanded={showMore}
+          className={contentDetailsClass}
+          $customContent={!!customContent}
+          ref={ref}
+          theme={theme}
+          $useReadMore={useReadMore}
+          $borderLess={borderLessCards}
+          $showMore={showMore}
+          $cardHeight={!textOverlay ? cardActualHeight : null}
+          $contentHeight={detailsHeight}
+          height={contentDetailsHeight}
+          $textOverlay={textOverlay}
+          $gradientColor={gradientColor}
+        >
+          {customContent ? (
+            customContent
+          ) : (
+            <TextContent
+              {...{ detailedText, showMore, theme, timelineContent }}
+            />
+          )}
+        </TimelineContentDetailsWrapper>
+      </>
+    );
+  },
+);
+ 
+DetailsText.displayName = 'Details Text';
+ 
+export { DetailsText };
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline-elements/timeline-card-content/index.html b/coverage/lcov-report/components/timeline-elements/timeline-card-content/index.html new file mode 100644 index 00000000..31132450 --- /dev/null +++ b/coverage/lcov-report/components/timeline-elements/timeline-card-content/index.html @@ -0,0 +1,206 @@ + + + + + + Code coverage report for components/timeline-elements/timeline-card-content + + + + + + + + + +
+
+

All files components/timeline-elements/timeline-card-content

+
+ +
+ 86.17% + Statements + 1041/1208 +
+ + +
+ 67.58% + Branches + 98/145 +
+ + +
+ 90.32% + Functions + 28/31 +
+ + +
+ 86.17% + Lines + 1041/1208 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
card-animations.styles.ts +
+
100%45/45100%0/0100%0/0100%45/45
content-footer.tsx +
+
96.61%114/11892.85%13/1466.66%2/396.61%114/118
content-header.tsx +
+
100%53/53100%3/3100%0/0100%53/53
details-text.tsx +
+
98.75%79/8033.33%1/3100%0/098.75%79/80
text-or-content.tsx +
+
83.82%57/6857.14%4/7100%1/183.82%57/68
timeline-card-content.styles.ts +
+
88.14%342/38870.31%45/6496.15%25/2688.14%342/388
timeline-card-content.tsx +
+
76.97%351/45659.25%32/540%0/176.97%351/456
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline-elements/timeline-card-content/text-or-content.tsx.html b/coverage/lcov-report/components/timeline-elements/timeline-card-content/text-or-content.tsx.html new file mode 100644 index 00000000..e165231e --- /dev/null +++ b/coverage/lcov-report/components/timeline-elements/timeline-card-content/text-or-content.tsx.html @@ -0,0 +1,289 @@ + + + + + + Code coverage report for components/timeline-elements/timeline-card-content/text-or-content.tsx + + + + + + + + + +
+
+

All files / components/timeline-elements/timeline-card-content text-or-content.tsx

+
+ +
+ 83.82% + Statements + 57/68 +
+ + +
+ 57.14% + Branches + 4/7 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 83.82% + Lines + 57/68 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +691x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +16x +16x +16x +16x +16x +16x +16x +8x +8x +8x +8x +8x +8x +  +8x +8x +8x +  +  +  +  +  +  +  +  +  +  +8x +8x +8x +8x +8x +6x +6x +6x +6x +6x +6x +6x +2x +8x +8x +16x +16x +16x +16x +16x +16x +1x +1x + 
import { TimelineContentModel } from '@models/TimelineContentModel';
+import { ForwardRefExoticComponent, forwardRef, useContext } from 'react';
+import { GlobalContext } from '../../GlobalContext';
+import {
+  TimelineSubContent,
+  TimelineContentDetails,
+} from './timeline-card-content.styles';
+ 
+export type TextOrContentModel = Pick<
+  TimelineContentModel,
+  'timelineContent' | 'theme' | 'detailedText'
+> & {
+  showMore?: boolean;
+};
+ 
+const getTextOrContent: (
+  p: TextOrContentModel,
+) => ForwardRefExoticComponent<TextOrContentModel> = ({
+  timelineContent,
+  theme,
+  detailedText,
+  showMore,
+}) => {
+  const TextOrContent = forwardRef<HTMLParagraphElement, TextOrContentModel>(
+    (prop, ref) => {
+      // const { timelineContent, theme, detailedText, showMore } = prop;
+      const isTextArray = Array.isArray(detailedText);
+ 
+      const { fontSizes, classNames } = useContext(GlobalContext);
+ 
+      if (timelineContent) {
+        return <div ref={ref}>{timelineContent}</div>;
+      } else {
+        let textContent = null;
+        if (isTextArray) {
+          textContent = (detailedText as string[]).map((text, index) => (
+            <TimelineSubContent
+              key={index}
+              fontSize={fontSizes?.cardText}
+              className={classNames?.cardText}
+              theme={theme}
+            >
+              {text}
+            </TimelineSubContent>
+          ));
+        } else {
+          textContent = detailedText;
+        }
+ 
+        return textContent ? (
+          <TimelineContentDetails
+            className={showMore ? 'active' : ''}
+            ref={ref}
+            theme={theme}
+          >
+            {textContent}
+          </TimelineContentDetails>
+        ) : null;
+      }
+    },
+  );
+ 
+  TextOrContent.displayName = 'Text Or Content';
+ 
+  return TextOrContent;
+};
+ 
+export { getTextOrContent };
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline-elements/timeline-card-content/timeline-card-content.styles.ts.html b/coverage/lcov-report/components/timeline-elements/timeline-card-content/timeline-card-content.styles.ts.html new file mode 100644 index 00000000..4d117e20 --- /dev/null +++ b/coverage/lcov-report/components/timeline-elements/timeline-card-content/timeline-card-content.styles.ts.html @@ -0,0 +1,1249 @@ + + + + + + Code coverage report for components/timeline-elements/timeline-card-content/timeline-card-content.styles.ts + + + + + + + + + +
+
+

All files / components/timeline-elements/timeline-card-content timeline-card-content.styles.ts

+
+ +
+ 88.14% + Statements + 342/388 +
+ + +
+ 70.31% + Branches + 45/64 +
+ + +
+ 96.15% + Functions + 25/26 +
+ + +
+ 88.14% + Lines + 342/388 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +3891x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +8x +8x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +8x +  +  +8x +8x +1x +1x +1x +1x +1x +1x +1x +1x +1x +8x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +8x +1x +1x +8x +  +  +  +  +  +  +8x +8x +  +  +  +  +8x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +8x +8x +1x +1x +8x +8x +8x +8x +8x +8x +8x +  +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +8x +8x +8x +8x +8x +8x +8x +  +  +  +  +  +  +  +  +  +8x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +2x +1x +1x +1x +1x +1x +2x +1x +1x +2x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +2x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +3x +2x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x + 
import { Theme } from '@models/Theme';
+import { TimelineProps } from '@models/TimelineModel';
+import styled, { css, keyframes } from 'styled-components';
+import { linearGradient } from '../timeline-card-media/timeline-card-media.styles';
+import {
+  reveal,
+  slideFromRight,
+  slideInFromLeft,
+  slideInFromTop,
+} from './card-animations.styles';
+ 
+type ContentT = Pick<
+  TimelineProps,
+  'theme' | 'slideShow' | 'mode' | 'borderLessCards'
+>;
+ 
+export const TimelineItemContentWrapper = styled.section<
+  {
+    $active?: boolean;
+    $borderLessCards?: TimelineProps['borderLessCards'];
+    $branchDir?: string;
+    $isNested?: boolean;
+    $maxWidth?: number;
+    $minHeight?: number;
+    $noMedia?: boolean;
+    $slideShow?: TimelineProps['slideShow'];
+    $slideShowActive?: boolean;
+    $slideShowType?: TimelineProps['slideShowType'];
+    $textOverlay?: boolean;
+  } & ContentT
+>`
+  align-items: flex-start;
+  background: ${(p) => p.theme.cardBgColor};
+  border-radius: 4px;
+  display: flex;
+  position: absolute;
+  ${({ borderLessCards }) =>
+    !borderLessCards
+      ? `filter: drop-shadow(0 0 1px rgba(0, 0, 0, 0.3))`
+      : 'none'};
+  flex-direction: column;
+  justify-content: flex-start;
+  line-height: 1.5em;
+  margin: ${(p) => (p.mode === 'HORIZONTAL' ? '0 auto' : '')};
+  max-width: ${(p) => p.$maxWidth}px;
+  min-height: ${(p) => p.$minHeight}px;
+  position: relative;
+  text-align: left;
+  width: 98%;
+  z-index: 0;
+ 
+  ${(p) =>
+    p.$isNested
+      ? css`
+          background: ${p.theme.nestedCardBgColor};
+          box-shadow: 0 0 5px 2px rgba(0, 0, 0, 0.1);
+        `
+      : css``}
+ 
+  height: ${(p) => (p.$textOverlay ? '0' : '')};
+ 
+  &:focus {
+    outline: 1px solid ${(p) => p.theme?.primary};
+  }
+ 
+  ${(p) => {
+    if (p.$slideShowActive && p.$active) {
+      if (p.$slideShowType === 'slide_in') {
+        return css`
+          animation: ${slideInFromTop} 0.5s ease-in-out;
+        `;
+      } else if (
+        p.$slideShowType === 'slide_from_sides' &&
+        p.$branchDir === 'left'
+      ) {
+        return css`
+          animation: ${slideInFromLeft} 0.5s ease-in-out;
+        `;
+      } else if (
+        p.$slideShowType === 'slide_from_sides' &&
+        p.$branchDir === 'right'
+      ) {
+        return css`
+          animation: ${slideFromRight} 0.5s ease-in-out;
+        `;
+      } else {
+        return css`
+          animation: ${reveal} 0.5s ease-in-out;
+        `;
+      }
+    }
+  }}
+ 
+  ${(p) => {
+    if (p.$slideShowActive && p.$active) {
+      return css`
+        opacity: 1;
+        animation-timing-function: ease-in-out;
+        animation-duration: 0.5s;
+      `;
+    }
+ 
+    if (p.$slideShowActive && !p.$active) {
+      return css`
+        opacity: 0;
+      `;
+    }
+  }}
+`;
+ 
+export const TimelineCardHeader = styled.header`
+  width: 100%;
+  padding: 0.5rem 0.5rem 0 0.5rem;
+`;
+ 
+export const CardSubTitle = styled.h2<{
+  $fontSize?: string;
+  $padding?: boolean;
+  dir?: string;
+  theme?: Theme;
+}>`
+  color: ${(p) => p.theme.cardSubtitleColor};
+  font-size: ${(p) => p.$fontSize};
+  font-weight: 600;
+  margin: 0;
+  text-align: left;
+  width: 97%;
+  padding: ${(p) => (p.$padding ? '0.5rem 0 0.5rem 0.5rem;' : '')};
+`;
+ 
+export const CardTitle = styled.h1<{
+  $fontSize: string;
+  $padding?: boolean;
+  dir?: string;
+  theme: Theme;
+}>`
+  color: ${(p) => p.theme.cardTitleColor};
+  font-size: ${(p) => p.$fontSize};
+  font-weight: 600;
+  margin: 0;
+  text-align: left;
+  width: 95%;
+  padding: ${(p) => (p.$padding ? '0.25rem 0 0.25rem 0.5rem;' : '')} &.active {
+    color: ${(p) => p.theme.primary};
+  }
+`;
+ 
+export const CardTitleAnchor = styled.a`
+  color: inherit;
+ 
+  &:active {
+    color: inherit;
+  }
+`;
+ 
+export const TimelineContentDetails = styled.p<{ theme?: Theme }>`
+  font-size: 0.85rem;
+  font-weight: 400;
+  margin: 0;
+  width: 100%;
+  color: ${(p) => p.theme.cardDetailsColor};
+`;
+ 
+export const TimelineSubContent = styled.span<{
+  fontSize?: string;
+  theme?: Theme;
+}>`
+  margin-bottom: 0.5rem;
+  display: block;
+  font-size: ${(p) => p.fontSize};
+  color: ${(p) => p.theme.cardDetailsColor};
+`;
+ 
+export const TimelineContentDetailsWrapper = styled.div<{
+  $borderLess?: boolean;
+  $cardHeight?: number | null;
+  $contentHeight?: number;
+  $customContent?: boolean;
+  $gradientColor?: string | null;
+  $showMore?: boolean;
+  $textOverlay?: boolean;
+  $useReadMore?: boolean;
+  branchDir?: string;
+  height?: number;
+  theme?: Theme;
+}>`
+  align-items: center;
+  display: flex;
+  flex-direction: column;
+  margin: 0 auto;
+  margin-top: 0.5em;
+  margin-bottom: 0.5em;
+  position: relative;
+  ${({ $useReadMore, $customContent, $showMore, height = 0, $textOverlay }) =>
+    $useReadMore && !$customContent && !$showMore && !$textOverlay
+      ? `max-height: ${height}px;`
+      : ''}
+  ${({
+    $cardHeight = 0,
+    $contentHeight = 0,
+    height = 0,
+    $showMore,
+    $textOverlay,
+  }) =>
+    $showMore && !$textOverlay
+      ? `max-height: ${($cardHeight || 0) + ($contentHeight || 0) - height}px;`
+      : ''}
+  overflow-x: hidden;
+  overflow-y: auto;
+  scrollbar-color: ${(p) => p.theme?.primary} default;
+  scrollbar-width: thin;
+  transition: max-height 0.25s ease-in-out;
+  width: ${(p) =>
+    p.$borderLess ? 'calc(100% - 0.5rem)' : 'calc(95% - 0.5rem)'};
+  padding: 0.25rem 0.25rem;
+ 
+  $${({
+      height = 0,
+      $cardHeight = 0,
+      $contentHeight = 0,
+      $showMore,
+      $useReadMore,
+    }) =>
+      $showMore && $useReadMore && $cardHeight
+        ? css`
+            animation: ${keyframes`
+            0% {
+              max-height: ${height}px;
+            }
+            100% {
+             max-height: ${$cardHeight + $contentHeight - height}px;
+            }
+          `} 0.25s ease-in-out;
+          `
+        : ''}
+    &::-webkit-scrollbar {
+    width: 0.3em;
+  }
+ 
+  &::-webkit-scrollbar-track {
+    box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.2);
+  }
+ 
+  &::-webkit-scrollbar-thumb {
+    background-color: ${(p) => p.theme?.primary};
+    outline: 1px solid ${(p) => p.theme?.primary};
+  }
+ 
+  &.show-less {
+    scrollbar-width: none;
+ 
+    &::-webkit-scrollbar {
+      width: 0;
+    }
+    overflow: hidden;
+  }
+ 
+  --rc-gradient-color: ${(p) => p.$gradientColor};
+  ${linearGradient}
+`;
+ 
+export const ShowMore = styled.button<{
+  show?: 'true' | 'false';
+  theme?: Theme;
+}>`
+  align-items: center;
+  align-self: flex-end;
+  border-radius: 4px;
+  cursor: pointer;
+  display: ${(p) => (p.show === 'true' ? 'flex' : 'none')};
+  font-size: 0.75rem;
+  justify-self: flex-end;
+  margin-bottom: 0.5em;
+  margin-left: 0.5em;
+  margin-right: 0.5em;
+  margin-top: auto;
+  padding: 0.25em;
+  color: ${(p) => p.theme.primary};
+  border: 0;
+  background: none;
+ 
+  &:hover {
+    text-decoration: underline;
+  }
+`;
+ 
+const slideAnimation = (start?: number, end?: number) => keyframes`
+  0% {
+    width: ${start}px;
+  }
+  100% {
+    width: ${end}px;
+  }
+`;
+ 
+export const SlideShowProgressBar = styled.span<{
+  $color?: string;
+  $duration?: number;
+  $paused?: boolean;
+  $resuming?: boolean;
+  $startWidth?: number;
+}>`
+  background: ${(p) => p.color};
+  bottom: -0.75em;
+  display: block;
+  height: 4px;
+  left: 50%;
+  transform: translateX(-50%);
+  position: absolute;
+  border-radius: 2px;
+ 
+  ${(p) => {
+    if (p.$paused) {
+      return css`
+        left: 50%;
+        transform: translateX(-50%);
+      `;
+    }
+  }}
+ 
+  ${(p) => {
+    if (!p.$paused && p.$startWidth && p.$startWidth > 0) {
+      return css`
+        animation: ${slideAnimation(p.$startWidth, 0)} ${p.$duration}ms ease-in;
+        animation-play-state: running;
+      `;
+    } else {
+      return css`
+        animation-play-state: paused;
+        width: ${p.$startWidth}px;
+      `;
+    }
+  }}
+ 
+  svg {
+    position: absolute;
+    left: 0;
+    top: 0;
+    width: 100%;
+  }
+`;
+ 
+export const ChevronIconWrapper = styled.span<{ collapsed?: 'true' | 'false' }>`
+  align-items: center;
+  display: flex;
+  height: 1.25em;
+  justify-content: center;
+  margin-left: 0.2em;
+  margin-top: 0.2em;
+  width: 1.25em;
+  ${(p) =>
+    p.collapsed === 'false'
+      ? `
+      transform: rotate(90deg);
+  `
+      : `transform: rotate(-90deg)`};
+ 
+  svg {
+    height: 100%;
+    width: 100%;
+  }
+`;
+ 
+export const TriangleIconWrapper = styled.span<{
+  dir?: string;
+  offset?: number;
+  theme?: Theme;
+}>`
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  width: 1.5rem;
+  height: 1.5rem;
+  position: absolute;
+  top: calc(50%);
+  background: ${(p) => p.theme.cardBgColor};
+  transform: translateY(-50%) rotate(225deg);
+  z-index: -1;
+ 
+  & svg {
+    width: 100%;
+    height: 100%;
+    fill: #fff;
+  }
+ 
+  ${(p) =>
+    p.dir === 'left' ? `right: ${p.offset}px;` : `left: ${p.offset}px;`};
+`;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline-elements/timeline-card-content/timeline-card-content.tsx.html b/coverage/lcov-report/components/timeline-elements/timeline-card-content/timeline-card-content.tsx.html new file mode 100644 index 00000000..25f8d4f4 --- /dev/null +++ b/coverage/lcov-report/components/timeline-elements/timeline-card-content/timeline-card-content.tsx.html @@ -0,0 +1,1453 @@ + + + + + + Code coverage report for components/timeline-elements/timeline-card-content/timeline-card-content.tsx + + + + + + + + + +
+
+

All files / components/timeline-elements/timeline-card-content timeline-card-content.tsx

+
+ +
+ 76.97% + Statements + 351/456 +
+ + +
+ 59.25% + Branches + 32/54 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 76.97% + Lines + 351/456 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +4571x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +8x +20x +20x +20x +20x +20x +20x +8x +20x +20x +20x +8x +8x +8x +8x +8x +20x +20x +20x +8x +6x +6x +20x +20x +20x +20x +16x +8x +8x +8x +16x +  +  +8x +8x +8x +8x +8x +8x +16x +20x +20x +20x +20x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +20x +20x +20x +8x +  +  +20x +20x +20x +20x +  +  +  +  +  +  +  +  +  +  +  +  +  +20x +20x +20x +20x +  +  +  +  +  +  +  +  +  +  +  +  +  +20x +20x +20x +8x +  +  +8x +8x +  +  +  +8x +8x +8x +  +  +8x +8x +8x +8x +20x +20x +20x +8x +  +  +20x +20x +20x +8x +  +  +20x +20x +20x +8x +20x +20x +20x +20x +20x +20x +8x +20x +20x +20x +20x +20x +20x +20x +20x +  +  +  +  +  +  +  +  +  +  +  +20x +20x +20x +20x +20x +8x +8x +8x +8x +20x +20x +20x +20x +20x +8x +8x +8x +  +8x +8x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +8x +  +8x +8x +8x +  +  +20x +20x +20x +  +  +  +  +20x +20x +20x +8x +  +  +  +  +  +  +8x +20x +20x +20x +20x +20x +20x +20x +20x +8x +8x +  +8x +  +8x +20x +20x +20x +20x +8x +20x +20x +20x +8x +8x +8x +8x +8x +8x +20x +20x +20x +8x +8x +8x +  +  +  +  +  +  +  +  +  +  +8x +8x +8x +8x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +18x +18x +18x +18x +18x +18x +18x +2x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +  +  +  +  +  +  +  +  +  +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +1x +1x +1x +1x +1x + 
import { TimelineContentModel } from '@models/TimelineContentModel';
+import { MediaState } from '@models/TimelineMediaModel';
+import { hexToRGBA } from '@utils/index';
+import cls from 'classnames';
+import React, {
+  useCallback,
+  useContext,
+  useEffect,
+  useMemo,
+  useRef,
+  useState,
+} from 'react';
+import { GlobalContext } from '../../GlobalContext';
+import Timeline from '../../timeline/timeline';
+import CardMedia from '../timeline-card-media/timeline-card-media';
+import { ContentFooter } from './content-footer';
+import { ContentHeader } from './content-header';
+import { TimelineItemContentWrapper } from './timeline-card-content.styles';
+import { getTextOrContent } from './text-or-content';
+import { DetailsText } from './details-text';
+ 
+const TimelineCardContent: React.FunctionComponent<TimelineContentModel> =
+  React.memo(
+    ({
+      active,
+      content,
+      detailedText,
+      id,
+      media,
+      onShowMore,
+      slideShowActive,
+      onElapsed,
+      theme,
+      title,
+      onClick,
+      customContent,
+      hasFocus,
+      flip,
+      branchDir,
+      url,
+      timelineContent,
+      items,
+      isNested,
+      nestedCardHeight,
+    }: TimelineContentModel) => {
+      const [showMore, setShowMore] = useState(false);
+      const detailsRef = useRef<HTMLDivElement | null>(null);
+      const containerRef = useRef<HTMLDivElement | null>(null);
+      const progressRef = useRef<HTMLDivElement | null>(null);
+ 
+      const containerWidth = useRef<number>(0);
+      const slideShowElapsed = useRef(0);
+      const timerRef = useRef(0);
+      const startTime = useRef<Date>();
+      const [paused, setPaused] = useState(false);
+      const isFirstRender = useRef(true);
+ 
+      const [remainInterval, setRemainInterval] = useState(0);
+      const [startWidth, setStartWidth] = useState(0);
+      const [textContentLarge, setTextContentLarge] = useState(false);
+ 
+      const [cardActualHeight, setCardActualHeight] = useState(0);
+      const [detailsHeight, setDetailsHeight] = useState(0);
+      const [hasBeenActivated, setHasBeenActivated] = useState(false);
+      const [isResuming, setIsResuming] = useState(false);
+ 
+      const {
+        mode,
+        cardHeight,
+        slideItemDuration = 2000,
+        useReadMore,
+        cardWidth,
+        borderLessCards,
+        disableAutoScrollOnClick,
+        classNames,
+        textOverlay,
+        slideShowType,
+        showProgressOnSlideshow,
+      } = useContext(GlobalContext);
+ 
+      // If the media is a video, we don't show the progress bar.
+      // If the media is an image, we show the progress bar if the
+      // showProgressOnSlideshow flag is set.
+      const canShowProgressBar = useMemo(() => {
+        return active && slideShowActive && showProgressOnSlideshow;
+      }, [active, slideShowActive]);
+ 
+      // This function returns a boolean value that indicates whether the user
+      // can see more information about the item. The detailed text is only
+      // available if the user has expanded the row.
+      const canShowMore = useMemo(() => {
+        return !!detailedText;
+      }, [detailedText]);
+ 
+      useEffect(() => {
+        const detailsEle = detailsRef.current;
+ 
+        if (detailsEle) {
+          detailsEle.scrollTop = 0;
+        }
+      }, [showMore]);
+ 
+      useEffect(() => {
+        if (active) {
+          setHasBeenActivated(true);
+        }
+      }, [active]);
+ 
+      const onContainerRef = useCallback(
+        (node: HTMLElement) => {
+          if (node === null) {
+            return;
+          }
+          const detailsEle = detailsRef.current;
+          if (!detailsEle) {
+            return;
+          }
+          const { scrollHeight, offsetTop } = detailsEle;
+          containerWidth.current = node.clientWidth;
+          setStartWidth(containerWidth.current);
+          setCardActualHeight(scrollHeight);
+          setDetailsHeight(detailsEle.offsetHeight);
+          setTextContentLarge(scrollHeight + offsetTop > node.clientHeight);
+        },
+        [detailsRef.current],
+      );
+ 
+      const setupTimer = useCallback((interval: number) => {
+        if (!slideItemDuration) {
+          return;
+        }
+
+        setRemainInterval(interval);
+
+        startTime.current = new Date();
+
+        setPaused(false);
+
+        timerRef.current = window.setTimeout(() => {
+          // clear the timer and move to the next card
+          window.clearTimeout(timerRef.current);
+          setPaused(true);
+          setStartWidth(0);
+          setRemainInterval(slideItemDuration);
+          id && onElapsed && onElapsed(id);
+        }, interval);
+      }, []);
+ 
+      useEffect(() => {
+        if (timerRef.current && !slideShowActive) {
+          window.clearTimeout(timerRef.current);
+        }
+      }, [slideShowActive]);
+ 
+      // pause the slide show
+      const tryHandlePauseSlideshow = useCallback(() => {
+        if (active && slideShowActive) {
+          window.clearTimeout(timerRef.current);
+          setPaused(true);
+
+          if (startTime.current) {
+            const elapsed: any = +new Date() - +startTime.current;
+            slideShowElapsed.current = elapsed;
+          }
+
+          if (progressRef.current) {
+            setStartWidth(progressRef.current.clientWidth);
+          }
+        }
+      }, [active, slideShowActive]);
+ 
+      // resumes the slide show
+      const tryHandleResumeSlideshow = useCallback(() => {
+        if (active && slideShowActive) {
+          if (!slideItemDuration) {
+            return;
+          }
+          const remainingInterval =
+            slideItemDuration - slideShowElapsed.current;
+
+          setPaused(false);
+
+          if (remainingInterval > 0) {
+            setupTimer(remainingInterval);
+          }
+        }
+      }, [active, slideShowActive, slideItemDuration]);
+ 
+      useEffect(() => {
+        if (!slideItemDuration) {
+          return;
+        }
+        // setup the timer
+        if (active && slideShowActive) {
+          setStartWidth(containerWidth.current);
+          setupTimer(slideItemDuration);
+        }
+ 
+        // disabled autofocus on active
+        if (active && hasFocus) {
+          containerRef.current && containerRef.current.focus();
+        }
+ 
+        if (!slideShowActive) {
+          setHasBeenActivated(false);
+        }
+      }, [active, slideShowActive]);
+ 
+      useEffect(() => {
+        if (hasFocus && active) {
+          containerRef.current && containerRef.current.focus();
+        }
+      }, [hasFocus, active]);
+ 
+      useEffect(() => {
+        if (!paused && !isFirstRender.current) {
+          setIsResuming(true);
+        }
+      }, [paused, startWidth]);
+ 
+      useEffect(() => {
+        isFirstRender.current = false;
+      }, []);
+ 
+      // This code is used to determine whether the read more button should be shown.
+      // It is only shown if the useReadMore prop is true, the detailedText is non-null,
+      // and the customContent prop is false.
+      const canShowReadMore = useMemo(() => {
+        return useReadMore && detailedText && !customContent;
+      }, []);
+ 
+      // decorate the comments
+      // This function is triggered when the media state changes. If the slideshow is
+      // active, and the media state changes to paused, this function will call
+      // tryHandlePauseSlideshow(), which will pause the slideshow.
+      const handleMediaState = useCallback(
+        (state: MediaState) => {
+          if (!slideShowActive) {
+            return;
+          }
+          if (state.playing) {
+            tryHandlePauseSlideshow();
+          } else if (state.paused) {
+            if (paused && id && onElapsed) {
+              onElapsed(id);
+            }
+          }
+        },
+        [paused, slideShowActive],
+      );
+ 
+      const contentClass = useMemo(
+        () =>
+          cls(
+            active ? 'timeline-card-content active' : 'timeline-card-content ',
+            classNames?.card,
+          ),
+        [active],
+      );
+ 
+      const contentDetailsClass = useMemo(
+        () =>
+          cls(
+            !showMore && !customContent && useReadMore
+              ? 'show-less card-description'
+              : 'card-description',
+            classNames?.cardText,
+          ),
+        [showMore, customContent],
+      );
+ 
+      /**
+       * Calculate the minimum height of the card. If the card has a text overlay and
+       * media, the minimum height is equal to the card height. If the card is not
+       * nested, the minimum height is equal to the card height. If the card is nested,
+       * the minimum height is equal to the nested card height.
+       */
+      const cardMinHeight = useMemo(() => {
+        if (textOverlay && media) {
+          return cardHeight;
+        } else if (!isNested) {
+          return cardHeight;
+        } else {
+          return nestedCardHeight;
+        }
+      }, []);
+ 
+      const handleExpandDetails = useCallback(() => {
+        if ((active && paused) || !slideShowActive) {
+          setShowMore(!showMore);
+          onShowMore();
+        }
+      }, [active, paused, slideShowActive, showMore]);
+ 
+      const triangleDir = useMemo(() => {
+        if (flip) {
+          if (branchDir === 'right') {
+            return 'left';
+          } else {
+            return 'right';
+          }
+        }
+        return branchDir;
+      }, [branchDir, flip]);
+ 
+      // Get the background color for the gradient, which is either the
+      // cardDetailsBackGround or nestedCardDetailsBackGround theme variable,
+      // based on whether the card is nested or not. If we are showing more
+      // content, the background color should be null, so that there is no
+      // gradient.
+      const gradientColor = useMemo(() => {
+        const bgToUse = !isNested
+          ? theme?.cardBgColor
+          : theme?.nestedCardDetailsBackGround;
+        return !showMore && textContentLarge
+          ? hexToRGBA(bgToUse || '#ffffff', 0.8)
+          : null;
+      }, [textContentLarge, showMore, theme?.cardDetailsBackGround, isNested]);
+ 
+      // This code checks whether the textOverlay and items props are truthy. If so, then it returns false. Otherwise, it returns true.
+      const canShowDetailsText = useMemo(() => {
+        return !textOverlay && !items?.length;
+      }, [items?.length]);
+ 
+      const TextOrContent = useMemo(() => {
+        return getTextOrContent({
+          detailedText,
+          showMore,
+          theme,
+          timelineContent,
+        });
+      }, [showMore, timelineContent, theme, detailedText]);
+ 
+      const handlers = useMemo(() => {
+        if (!isNested) {
+          return {
+            onPointerDown: (ev: React.PointerEvent) => {
+              ev.stopPropagation();
+              if (
+                !slideShowActive &&
+                onClick &&
+                id &&
+                !disableAutoScrollOnClick
+              ) {
+                onClick(id);
+              }
+            },
+            onPointerEnter: tryHandlePauseSlideshow,
+            onPointerLeave: tryHandleResumeSlideshow,
+          };
+        }
+      }, [tryHandlePauseSlideshow, tryHandleResumeSlideshow]);
+ 
+      return (
+        <TimelineItemContentWrapper
+          className={contentClass}
+          $minHeight={cardMinHeight}
+          $maxWidth={cardWidth}
+          mode={mode}
+          $noMedia={!media}
+          {...handlers}
+          ref={onContainerRef}
+          tabIndex={!isNested ? 0 : -1}
+          theme={theme}
+          $borderLessCards={borderLessCards}
+          $textOverlay={textOverlay}
+          $active={hasBeenActivated}
+          $slideShowType={slideShowType}
+          $slideShowActive={slideShowActive}
+          $branchDir={branchDir}
+          $isNested={isNested}
+        >
+          {title && !textOverlay ? (
+            <ContentHeader
+              title={title}
+              theme={theme}
+              url={url}
+              media={media}
+              content={content}
+            />
+          ) : null}
+ 
+          {/* render media video or image */}
+          {media && (
+            <CardMedia
+              active={active}
+              cardHeight={cardHeight}
+              content={content}
+              hideMedia={showMore}
+              id={id}
+              media={media}
+              onMediaStateChange={handleMediaState}
+              slideshowActive={slideShowActive}
+              theme={theme}
+              title={title}
+              url={url}
+              startWidth={startWidth}
+              detailsText={TextOrContent}
+              paused={paused}
+              remainInterval={remainInterval}
+              showProgressBar={canShowProgressBar}
+              triangleDir={triangleDir}
+              resuming={isResuming}
+              progressRef={progressRef}
+            />
+          )}
+ 
+          {canShowDetailsText ? (
+            <DetailsText
+              showMore={showMore}
+              gradientColor={gradientColor}
+              detailedText={detailedText}
+              customContent={customContent}
+              timelineContent={timelineContent}
+              contentDetailsClass={contentDetailsClass}
+              cardActualHeight={cardActualHeight}
+              detailsHeight={detailsHeight}
+              ref={detailsRef}
+            />
+          ) : (
+            <Timeline
+              items={items}
+              mode={'VERTICAL'}
+              enableOutline={false}
+              hideControls
+              nestedCardHeight={nestedCardHeight}
+              isChild
+            />
+          )}
+ 
+          {(!textOverlay || !media) && (
+            <ContentFooter
+              theme={theme}
+              progressRef={progressRef}
+              startWidth={startWidth}
+              textContentIsLarge={textContentLarge}
+              remainInterval={remainInterval}
+              paused={paused}
+              triangleDir={triangleDir}
+              showProgressBar={canShowProgressBar}
+              showReadMore={canShowReadMore}
+              onExpand={handleExpandDetails}
+              canShow={canShowMore}
+              showMore={showMore}
+              isNested={isNested}
+              isResuming={isResuming}
+            />
+          )}
+        </TimelineItemContentWrapper>
+      );
+    },
+  );
+ 
+TimelineCardContent.displayName = 'TimelineCardContent';
+ 
+export default TimelineCardContent;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline-elements/timeline-card-media/index.html b/coverage/lcov-report/components/timeline-elements/timeline-card-media/index.html new file mode 100644 index 00000000..36a1e490 --- /dev/null +++ b/coverage/lcov-report/components/timeline-elements/timeline-card-media/index.html @@ -0,0 +1,146 @@ + + + + + + Code coverage report for components/timeline-elements/timeline-card-media + + + + + + + + + +
+
+

All files components/timeline-elements/timeline-card-media

+
+ +
+ 89.65% + Statements + 624/696 +
+ + +
+ 77.14% + Branches + 81/105 +
+ + +
+ 85.71% + Functions + 18/21 +
+ + +
+ 89.65% + Lines + 624/696 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
timeline-card-media-buttons.tsx +
+
100%48/48100%1/1100%0/0100%48/48
timeline-card-media.styles.ts +
+
92.43%220/23880%44/55100%17/1792.43%220/238
timeline-card-media.tsx +
+
86.82%356/41073.46%36/4925%1/486.82%356/410
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline-elements/timeline-card-media/timeline-card-media-buttons.tsx.html b/coverage/lcov-report/components/timeline-elements/timeline-card-media/timeline-card-media-buttons.tsx.html new file mode 100644 index 00000000..2492d193 --- /dev/null +++ b/coverage/lcov-report/components/timeline-elements/timeline-card-media/timeline-card-media-buttons.tsx.html @@ -0,0 +1,229 @@ + + + + + + Code coverage report for components/timeline-elements/timeline-card-media/timeline-card-media-buttons.tsx + + + + + + + + + +
+
+

All files / components/timeline-elements/timeline-card-media timeline-card-media-buttons.tsx

+
+ +
+ 100% + Statements + 48/48 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 48/48 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +491x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x + 
import { Theme } from '@models/Theme';
+import styled, { css } from 'styled-components';
+ 
+const Button = css`
+  align-items: center;
+  background: none;
+  // background: rgba(0, 0, 0, 0.1);
+  border-radius: 50%;
+  border: none;
+  cursor: pointer;
+  display: flex;
+  height: 1.5rem;
+  justify-content: center;
+  padding: 0;
+  width: 1.5rem;
+  margin: 0 0.25rem;
+  background: ${(p) => p.theme?.primary};
+  color: #fff;
+ 
+  svg {
+    width: 70%;
+    height: 70%;
+  }
+`;
+ 
+export const ExpandButton = styled.button<{
+  // expandFull?: boolean;
+  theme: Theme;
+}>`
+  ${Button}
+`;
+ 
+export const ShowHideTextButton = styled.button<{
+  showText?: boolean;
+  theme: Theme;
+}>`
+  ${Button}
+`;
+ 
+export const ButtonWrapper = styled.ul`
+  display: flex;
+  flex-direction: row;
+  justify-content: flex-end;
+  list-style: none;
+  margin: 0;
+  padding: 0;
+  margin-left: auto;
+`;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline-elements/timeline-card-media/timeline-card-media.styles.ts.html b/coverage/lcov-report/components/timeline-elements/timeline-card-media/timeline-card-media.styles.ts.html new file mode 100644 index 00000000..93849873 --- /dev/null +++ b/coverage/lcov-report/components/timeline-elements/timeline-card-media/timeline-card-media.styles.ts.html @@ -0,0 +1,799 @@ + + + + + + Code coverage report for components/timeline-elements/timeline-card-media/timeline-card-media.styles.ts + + + + + + + + + +
+
+

All files / components/timeline-elements/timeline-card-media timeline-card-media.styles.ts

+
+ +
+ 92.43% + Statements + 220/238 +
+ + +
+ 80% + Branches + 44/55 +
+ + +
+ 100% + Functions + 17/17 +
+ + +
+ 92.43% + Lines + 220/238 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +2391x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +16x +1x +1x +1x +16x +15x +  +  +  +15x +15x +15x +15x +15x +15x +16x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +16x +16x +16x +16x +16x +16x +16x +1x +1x +1x +1x +1x +16x +  +  +  +  +  +  +16x +16x +  +  +  +  +  +  +16x +16x +2x +2x +2x +2x +2x +2x +16x +1x +1x +16x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +14x +14x +1x +1x +1x +16x +  +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +3x +1x +1x +1x +3x +2x +2x +2x +2x +3x +1x +1x +3x +3x +  +  +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x + 
import { Theme } from '@models/Theme';
+import { TimelineMode } from '@models/TimelineModel';
+import styled, { css } from 'styled-components';
+import { ScrollBar } from '../../common/styles';
+ 
+export const linearGradient = css`
+  &::after {
+    content: '';
+    position: absolute;
+    bottom: 0;
+    left: 0;
+    width: 100%;
+    height: 2rem;
+    background: linear-gradient(
+      0deg,
+      var(--rc-gradient-color) 0%,
+      rgba(255, 255, 255, 0) 100%
+    );
+  }
+`;
+ 
+export const MediaWrapper = styled.div<{
+  $active?: boolean;
+  $cardHeight?: number;
+  $slideShowActive?: boolean;
+  $textOverlay?: boolean;
+  align?: 'left' | 'right' | 'center';
+  dir?: string;
+  mode?: TimelineMode;
+  theme?: Theme;
+}>`
+  align-items: flex-start;
+  align-self: center;
+  background: ${(p) => (!p.$textOverlay ? p.theme?.cardMediaBgColor : 'none')};
+  border-radius: 4px;
+  flex-direction: row;
+  height: ${(p) => (p.$textOverlay ? 'calc(100% - 1em)' : '0')};
+  padding: 0.5em;
+  // pointer-events: ${(p) => (!p.$active && p.$slideShowActive ? 'none' : '')};
+  position: relative;
+  text-align: ${(p) => p.align};
+  width: calc(100% - 1em);
+ 
+  ${(p) => (p.$cardHeight ? `min-height: ${p.$cardHeight}px;` : '')};
+  ${(p) => {
+    if (p.mode === 'HORIZONTAL') {
+      return `
+        justify-content: flex-start;
+      `;
+    } else {
+      if (p.dir === 'left') {
+        return `
+        justify-content: flex-start;
+      `;
+      } else {
+        return `
+        justify-content: flex-end;
+      `;
+      }
+    }
+  }}
+`;
+ 
+export const CardImage = styled.img<{
+  $enableBorderRadius?: boolean;
+  $visible?: boolean;
+  dir?: string;
+  fit?: string;
+  mode?: TimelineMode;
+}>`
+  flex: 4;
+  justify-self: center;
+  margin-left: auto;
+  margin-right: auto;
+  height: 100%;
+  width: 100%;
+  object-fit: ${(p) => p.fit || 'cover'};
+  object-position: center;
+  visibility: ${(p) => (p.$visible ? 'visible' : 'hidden')};
+  border-radius: ${(p) => (p.$enableBorderRadius ? '6px' : '0')};
+`;
+ 
+export const CardVideo = styled.video<{ height?: number }>`
+  max-width: 100%;
+  max-height: 100%;
+  margin-left: auto;
+  margin-right: auto;
+`;
+ 
+export const MediaDetailsWrapper = styled.div<{
+  $absolutePosition?: boolean;
+  $borderLessCard?: boolean;
+  $expandFull?: boolean;
+  $expandable?: boolean;
+  $gradientColor?: string | null;
+  $showText?: boolean;
+  $textInMedia?: boolean;
+  mode?: TimelineMode;
+  theme?: Theme;
+}>`
+  bottom: 0;
+  left: 0;
+  right: 0;
+  margin-right: auto;
+  width: ${(p) => {
+    switch (p.mode) {
+      case 'HORIZONTAL':
+      case 'VERTICAL':
+      case 'VERTICAL_ALTERNATING':
+        return `calc(90% - 0rem)`;
+    }
+  }};
+  display: flex;
+  flex-direction: column;
+  flex: 1;
+  overflow: hidden;
+  ${(p) => {
+    if (p.$textInMedia && p.$expandFull) {
+      return css`
+        height: 100%;
+        width: 100%;
+        border: 0;
+      `;
+    }
+ 
+    if (!p.$showText) {
+      return css`
+        height: 15%;
+        box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
+        border-radius: 10px;
+      `;
+    }
+ 
+    if (p.$textInMedia && p.$expandable) {
+      return css`
+        box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
+        border-radius: 10px;
+        height: 50%;
+      `;
+    }
+  }}
+  position: ${(p) => (p.$absolutePosition ? 'absolute' : 'relative')};
+  ${(p) =>
+    p.$absolutePosition
+      ? `
+    left: 50%;
+    bottom: ${p.$expandFull ? '0%' : ' 5%'};
+    transform: translateX(-50%);
+    background: ${
+      p.$showText ? p.theme?.cardDetailsBackGround : p.theme?.cardBgColor
+    };
+    // backdrop-filter: blur(1px);
+    padding: 0.25rem;
+    ${p.$showText ? `overflow: auto;` : `overflow: hidden;`}
+    transition: height 0.25s ease-out, width 0.25s ease-out, bottom 0.25s ease-out, background 0.25s ease-out;
+  `
+      : ``}
+ 
+  ${({ $borderLessCard }) =>
+    $borderLessCard
+      ? `border-radius: 6px; box-shadow: 0 0 10px 0 rgba(0,0,0,0.2);`
+      : ``}
+  --rc-gradient-color: ${(p) => p.$gradientColor};
+  ${(p) => (p.$gradientColor ? linearGradient : null)}
+`;
+ 
+export const ErrorMessage = styled.span`
+  color: #a3a3a3;
+  left: 50%;
+  position: absolute;
+  text-align: center;
+  top: 50%;
+  transform: translateY(-50%) translateX(-50%);
+`;
+ 
+export const IFrameVideo = styled.iframe`
+  position: relative;
+  height: 100%;
+  width: 100%;
+`;
+ 
+export const DetailsTextWrapper = styled.div<{
+  $expandFull?: boolean;
+  $show?: boolean;
+  background: string;
+  theme?: Theme;
+}>`
+  align-self: center;
+  display: flex;
+  transition: height 0.5s ease;
+  width: calc(100%);
+  background: ${(p) => p.background};
+  color: ${(p) => p.theme?.cardDetailsColor};
+  padding: 0.5rem;
+  border-bottom-left-radius: 8px;
+  border-bottom-right-radius: 8px;
+  position: relative;
+  align-items: flex-start;
+  justify-content: center;
+ 
+  ${ScrollBar}
+ 
+  ${(p) => {
+    if (p.$expandFull) {
+      return `
+        overflow: auto;
+      `;
+    } else {
+      return `
+        overflow: hidden;
+      `;
+    }
+  }}
+ 
+  ${(p) =>
+    p.$show
+      ? `
+    height: 100%;`
+      : `
+    height: 0;
+  `}
+ 
+  ${(p) => !p.$expandFull && linearGradient}
+`;
+ 
+export const CardMediaHeader = styled.div`
+  padding: 0.5rem 0 0.5rem 0.5rem;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+`;
+ 
+export const ImageWrapper = styled.div<{ height?: number }>`
+  width: 100%;
+  height: 100%;
+  overflow: hidden;
+  border-radius: 6px;
+`;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline-elements/timeline-card-media/timeline-card-media.tsx.html b/coverage/lcov-report/components/timeline-elements/timeline-card-media/timeline-card-media.tsx.html new file mode 100644 index 00000000..dbbde5e8 --- /dev/null +++ b/coverage/lcov-report/components/timeline-elements/timeline-card-media/timeline-card-media.tsx.html @@ -0,0 +1,1315 @@ + + + + + + Code coverage report for components/timeline-elements/timeline-card-media/timeline-card-media.tsx + + + + + + + + + +
+
+

All files / components/timeline-elements/timeline-card-media timeline-card-media.tsx

+
+ +
+ 86.82% + Statements + 356/410 +
+ + +
+ 73.46% + Branches + 36/49 +
+ + +
+ 25% + Functions + 1/4 +
+ + +
+ 86.82% + Lines + 356/410 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +4111x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +  +  +16x +16x +7x +7x +16x +9x +9x +9x +16x +16x +16x +16x +  +16x +16x +16x +16x +  +  +  +  +  +  +  +  +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +  +  +  +  +  +16x +16x +  +  +  +  +  +16x +16x +  +  +  +  +  +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +2x +  +  +16x +16x +16x +16x +16x +  +  +  +  +  +16x +16x +16x +16x +16x +16x +16x +16x +  +  +  +  +  +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +2x +16x +14x +14x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +14x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +  +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +2x +  +  +  +  +16x +16x +16x +14x +14x +  +  +16x +16x +16x +  +  +  +  +  +  +  +  +  +16x +16x +16x +2x +2x +2x +2x +2x +2x +2x +14x +16x +16x +16x +16x +16x +1x +1x +1x +1x + 
import { CardMediaModel } from '@models/TimelineMediaModel';
+import { hexToRGBA } from '@utils/index';
+import cls from 'classnames';
+import React, {
+  FunctionComponent,
+  memo,
+  useCallback,
+  useContext,
+  useEffect,
+  useMemo,
+  useRef,
+  useState,
+} from 'react';
+import { GlobalContext } from '../../GlobalContext';
+import {
+  DetailsTextMemo,
+  ExpandButtonMemo,
+  ShowOrHideTextButtonMemo,
+  SubTitleMemo,
+  TitleMemo,
+} from '../memoized';
+import {
+  SlideShowProgressBar,
+  TriangleIconWrapper,
+} from '../timeline-card-content/timeline-card-content.styles';
+import { ButtonWrapper } from './timeline-card-media-buttons';
+import {
+  CardImage,
+  CardMediaHeader,
+  CardVideo,
+  ErrorMessage,
+  IFrameVideo,
+  ImageWrapper,
+  MediaDetailsWrapper,
+  MediaWrapper,
+} from './timeline-card-media.styles';
+ 
+interface ErrorMessageModel {
+  message: string;
+}
+ 
+const CardMedia: React.FunctionComponent<CardMediaModel> = ({
+  active,
+  id,
+  onMediaStateChange,
+  title,
+  content,
+  media,
+  slideshowActive,
+  url,
+  detailsText,
+  showProgressBar,
+  remainInterval,
+  startWidth,
+  paused,
+  triangleDir,
+  resuming,
+  progressRef,
+}: CardMediaModel) => {
+  const videoRef = useRef<HTMLVideoElement>(null);
+  const [loadFailed, setLoadFailed] = useState(false);
+  const moreRef = useRef(null);
+  const [detailsHeight, setDetailsHeight] = useState(0);
+  const [expandDetails, setExpandDetails] = useState(false);
+  const [showText, setShowText] = useState(true);
+  const [mediaLoaded, setMediaLoaded] = useState(false);
+ 
+  const {
+    mode,
+    fontSizes,
+    classNames,
+    mediaHeight,
+    borderLessCards,
+    textOverlay,
+    theme,
+    cardHeight,
+    mediaSettings,
+  } = useContext(GlobalContext);
+ 
+  useEffect(() => {
+    if (!videoRef) {
+      return;
+    }
+ 
+    if (active) {
+      // play the video when active
+      videoRef.current && videoRef.current.play();
+    } else {
+      // pause the video when not active
+      videoRef.current && videoRef.current.pause();
+    }
+  }, [active]);
+ 
+  // This function will be invoked when the user has finished loading media
+  const handleMediaLoaded = useCallback(() => {
+    setMediaLoaded(true);
+  }, []);
+ 
+  // This code creates a function to handle errors when loading the video.
+  const handleError = useCallback(() => {
+    // create a function to handle errors
+    setLoadFailed(true); // set the loadFailed variable to true
+    onMediaStateChange({
+      // call the onMediaStateChange function
+      id,
+      paused: false,
+      playing: false,
+    });
+  }, [onMediaStateChange, id]); // add the onMediaStateChange and id variables as dependencies to the function
+ 
+  const ErrorMessageMem: FunctionComponent<ErrorMessageModel> = memo(
+    ({ message }: ErrorMessageModel) => <ErrorMessage>{message}</ErrorMessage>,
+  );
+ 
+  // Checks if the media source url is a YouTube video.
+  // Returns a boolean.
+  const isYouTube = useMemo(
+    () =>
+      /^(https?\:\/\/)?(www\.youtube\.com|youtu\.?be)\/.+$/.test(
+        media.source.url,
+      ),
+    [],
+  );
+ 
+  /**
+   * @function IFrameVideo
+   * @description
+   * The IFrameVideo component is used to display an iframe with a YouTube video.
+   * @returns {IFrameVideo} - Returns the iframe with the YouTube video.
+   */
+  const IFrameYouTube = useMemo(() => {
+    // Create an iframe with the YouTube video
+    const iframe = (
+      <IFrameVideo
+        frameBorder="0"
+        allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
+        allowFullScreen
+        src={`${media.source.url}${
+          active ? '?autoplay=1&enablejsapi=1' : '?enablejsapi=1'
+        }`}
+        title={media.name}
+      />
+    );
+ 
+    // When the YouTube video is active, return the iframe
+    return iframe;
+  }, [active]);
+ 
+  const Video = useMemo(() => {
+    return (
+      <CardVideo
+        controls
+        autoPlay={active}
+        ref={videoRef}
+        onLoadedData={handleMediaLoaded}
+        data-testid="rc-video"
+        onPlay={() =>
+          onMediaStateChange({
+            id,
+            paused: false,
+            playing: true,
+          })
+        }
+        onPause={() =>
+          onMediaStateChange({
+            id,
+            paused: true,
+            playing: false,
+          })
+        }
+        onEnded={() =>
+          onMediaStateChange({
+            id,
+            paused: false,
+            playing: false,
+          })
+        }
+        onError={handleError}
+      >
+        <source src={media.source.url}></source>
+      </CardVideo>
+    );
+  }, [active]);
+ 
+  const Image = useMemo(() => {
+    return (
+      <CardImage
+        src={media.source.url}
+        mode={mode}
+        onLoad={handleMediaLoaded}
+        onError={handleError}
+        $visible={mediaLoaded}
+        alt={media.name}
+        loading={'lazy'}
+        $enableBorderRadius={borderLessCards}
+        role="img"
+        fit={mediaSettings?.imageFit}
+      />
+    );
+  }, [mediaLoaded, borderLessCards]);
+ 
+  ErrorMessageMem.displayName = 'Error Message';
+ 
+  // This code calculates the height of the Details component and passes it to
+  // the setDetailsHeight function.
+  const onDetailsTextRef = useCallback((height?: number) => {
+    if (height) {
+      setDetailsHeight(height);
+    }
+  }, []);
+ 
+  /* Toggle the expand details state on pointer or keyboard event */
+  const toggleExpand = useCallback(
+    (ev: React.PointerEvent | React.KeyboardEvent) => {
+      // ev.preventDefault();
+      // ev.stopPropagation();
+      setExpandDetails((prev) => !prev);
+      setShowText(true);
+    },
+    [],
+  );
+ 
+  // This function is used to toggle the text between hidden and visible.
+  // It is used to show the text of the article excerpt when the user
+  // clicks on the "show more" button.
+  const toggleText = useCallback(
+    (ev: React.PointerEvent | React.KeyboardEvent) => {
+      // ev.preventDefault();
+      // ev.stopPropagation();
+      setExpandDetails(false);
+      setShowText((prev) => !prev);
+    },
+    [],
+  );
+ 
+  // checks if the arrow should be shown
+  const canShowArrow = useMemo(
+    () =>
+      (mode === 'VERTICAL' || mode === 'VERTICAL_ALTERNATING') && textOverlay,
+    [],
+  );
+ 
+  // checks if we can display the detailed text
+  const canShowTextMemo = useMemo(
+    () => showText && !!detailsText,
+    [showText, detailsText],
+  );
+ 
+  // checks if the text content should be shown
+  const canShowTextContent = useMemo(
+    () => title || content || detailsText,
+    [title, content, detailsText],
+  );
+ 
+  const canExpand = useMemo(
+    () => textOverlay && !!detailsText,
+    [content, detailsText],
+  );
+ 
+  const gradientColor = useMemo(
+    () => hexToRGBA(theme?.cardDetailsBackGround || '', 0.8),
+    [theme?.cardDetailsBackGround],
+  );
+ 
+  const canShowGradient = useMemo(
+    () => !expandDetails && showText && textOverlay,
+    [expandDetails, showText],
+  );
+ 
+  const getCardHeight = useMemo(() => {
+    if (textOverlay) {
+      return cardHeight;
+    } else {
+      return mediaHeight;
+    }
+  }, []);
+ 
+  const TextContent = useMemo(() => {
+    return (
+      <MediaDetailsWrapper
+        mode={mode}
+        $absolutePosition={textOverlay}
+        $textInMedia={textOverlay}
+        ref={moreRef}
+        theme={theme}
+        $expandFull={expandDetails}
+        $showText={showText}
+        $expandable={canExpand}
+        $gradientColor={canShowGradient ? gradientColor : null}
+      >
+        <CardMediaHeader>
+          <TitleMemo
+            title={title}
+            theme={theme}
+            active={active}
+            url={url}
+            fontSize={fontSizes?.cardTitle}
+            classString={classNames?.cardTitle}
+          />
+          {canExpand ? (
+            <ButtonWrapper>
+              <ShowOrHideTextButtonMemo
+                onToggle={toggleText}
+                show={showText}
+                textOverlay
+                theme={theme}
+              />
+              <ExpandButtonMemo
+                theme={theme}
+                expanded={expandDetails}
+                onExpand={toggleExpand}
+                textOverlay
+              />
+            </ButtonWrapper>
+          ) : null}
+        </CardMediaHeader>
+        {showText && (
+          <SubTitleMemo
+            content={content}
+            fontSize={fontSizes?.cardSubtitle}
+            classString={classNames?.cardSubTitle}
+            padding
+            theme={theme}
+          />
+        )}
+        {canShowTextMemo ? (
+          <>
+            <DetailsTextMemo
+              theme={theme}
+              show={showText}
+              expand={expandDetails}
+              text={detailsText}
+              onRender={onDetailsTextRef}
+              textOverlay={textOverlay}
+            />
+          </>
+        ) : null}
+      </MediaDetailsWrapper>
+    );
+  }, [
+    showText,
+    expandDetails,
+    canShowTextMemo,
+    gradientColor,
+    title,
+    JSON.stringify(theme),
+  ]);
+ 
+  const canShowProgressBar = useMemo(
+    () => showProgressBar && textOverlay,
+    [showProgressBar, textOverlay],
+  );
+ 
+  return (
+    <>
+      <MediaWrapper
+        theme={theme}
+        $active={active}
+        mode={mode}
+        $slideShowActive={slideshowActive}
+        className={cls('card-media-wrapper', classNames?.cardMedia)}
+        $cardHeight={getCardHeight}
+        align={mediaSettings?.align}
+        $textOverlay={textOverlay}
+      >
+        {media.type === 'VIDEO' &&
+          !isYouTube &&
+          (!loadFailed ? (
+            Video
+          ) : (
+            <ErrorMessageMem message="Failed to load the video" />
+          ))}
+        {media.type === 'VIDEO' && isYouTube && IFrameYouTube}
+        {media.type === 'IMAGE' &&
+          (!loadFailed ? (
+            <ImageWrapper height={mediaHeight}>{Image}</ImageWrapper>
+          ) : (
+            <ErrorMessageMem message="Failed to load the image." />
+          ))}
+ 
+        {canShowProgressBar ? (
+          <SlideShowProgressBar
+            color={theme?.primary}
+            $duration={remainInterval}
+            $paused={paused}
+            ref={progressRef}
+            $startWidth={startWidth}
+            role="progressbar"
+            $resuming={resuming}
+          ></SlideShowProgressBar>
+        ) : null}
+ 
+        {canShowArrow ? (
+          <TriangleIconWrapper
+            dir={triangleDir}
+            theme={theme}
+            offset={-15}
+            role="img"
+            data-testid="arrow-icon"
+          ></TriangleIconWrapper>
+        ) : null}
+      </MediaWrapper>
+      {canShowTextContent ? TextContent : null}
+    </>
+  );
+};
+ 
+CardMedia.displayName = 'Card Media';
+ 
+export default CardMedia;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline-elements/timeline-card/index.html b/coverage/lcov-report/components/timeline-elements/timeline-card/index.html new file mode 100644 index 00000000..3acbc913 --- /dev/null +++ b/coverage/lcov-report/components/timeline-elements/timeline-card/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for components/timeline-elements/timeline-card + + + + + + + + + +
+
+

All files components/timeline-elements/timeline-card

+
+ +
+ 96.81% + Statements + 334/345 +
+ + +
+ 62.16% + Branches + 23/37 +
+ + +
+ 91.66% + Functions + 11/12 +
+ + +
+ 96.81% + Lines + 334/345 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
timeline-horizontal-card.styles.ts +
+
97.33%146/15063.63%14/22100%9/997.33%146/150
timeline-horizontal-card.tsx +
+
96.41%188/19560%9/1566.66%2/396.41%188/195
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline-elements/timeline-card/timeline-horizontal-card.styles.ts.html b/coverage/lcov-report/components/timeline-elements/timeline-card/timeline-horizontal-card.styles.ts.html new file mode 100644 index 00000000..444d14c5 --- /dev/null +++ b/coverage/lcov-report/components/timeline-elements/timeline-card/timeline-horizontal-card.styles.ts.html @@ -0,0 +1,535 @@ + + + + + + Code coverage report for components/timeline-elements/timeline-card/timeline-horizontal-card.styles.ts + + + + + + + + + +
+
+

All files / components/timeline-elements/timeline-card timeline-horizontal-card.styles.ts

+
+ +
+ 97.33% + Statements + 146/150 +
+ + +
+ 63.63% + Branches + 14/22 +
+ + +
+ 100% + Functions + 9/9 +
+ + +
+ 97.33% + Lines + 146/150 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +1511x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +18x +18x +18x +  +  +  +  +18x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x + 
import { Theme } from '@models/Theme';
+import styled, { keyframes } from 'styled-components';
+ 
+export const Wrapper = styled.div`
+  align-items: center;
+  border: 1px solid transparent;
+  display: flex;
+  justify-content: center;
+  position: relative;
+  width: 100%;
+  height: 100%;
+ 
+  &.vertical {
+    justify-content: flex-start;
+  }
+`;
+ 
+export const Item = styled.div``;
+ 
+const show = keyframes`
+  from {
+    opacity: 0;
+  }
+  to {
+    opacity: 1;
+  }
+`;
+ 
+export const ShapeWrapper = styled.div`
+  /* height: 100%; */
+  align-items: center;
+  display: flex;
+  flex-direction: column;
+  justify-content: center;
+  width: 5em;
+`;
+ 
+type ShapeModel = {
+  $timelinePointShape?: 'circle' | 'square' | 'diamond';
+  dimension?: number;
+  theme?: Theme;
+};
+ 
+const ShapeBorderStyle = (p: Pick<ShapeModel, '$timelinePointShape'>) => {
+  if (p.$timelinePointShape === 'circle') {
+    return 'border-radius: 50%;';
+  } else if (p.$timelinePointShape === 'square') {
+    return 'border-radius: 2px;';
+  } else if (p.$timelinePointShape === 'diamond') {
+    return `border-radius: 0;`;
+  }
+};
+ 
+export const Shape = styled.div<ShapeModel>`
+  ${ShapeBorderStyle}
+  cursor: pointer;
+  height: ${(p) => p.dimension}px;
+  width: ${(p) => p.dimension}px;
+  transform: ${(p) =>
+    p.$timelinePointShape === 'diamond' ? 'rotate(45deg)' : ''};
+ 
+  &.active {
+    &.using-icon {
+      /* transform: scale(1.75); */
+    }
+    &:not(.using-icon) {
+      transform: ${(p) =>
+        p.$timelinePointShape === 'diamond' ? 'rotate(45deg)' : ''};
+    }
+ 
+    &::after {
+      ${ShapeBorderStyle}
+      content: '';
+      display: block;
+      height: ${(p) => (p.dimension ? Math.round(p.dimension * 0.75) : 20)}px;
+      width: ${(p) => (p.dimension ? Math.round(p.dimension * 0.75) : 20)}px;
+      left: 50%;
+      position: absolute;
+      top: 50%;
+      transform: translateY(-50%) translateX(-50%);
+      z-index: -1;
+    }
+  }
+ 
+  &:not(.using-icon) {
+    background: ${(p: ShapeModel) => p.theme?.primary};
+ 
+    &.active {
+      background: ${(p: ShapeModel) => p.theme?.secondary};
+      border: ${(p) => (p.dimension ? Math.round(p.dimension * 0.2) : '3')}px
+        solid ${(p: ShapeModel) => p.theme?.primary};
+    }
+ 
+    &.in-active {
+    }
+  }
+ 
+  &.using-icon {
+    background: ${(p) => p.theme?.iconBackgroundColor};
+    display: flex;
+    align-items: center;
+    justify-content: center;
+ 
+    img {
+      max-width: 90%;
+      max-height: 90%;
+    }
+  }
+`;
+ 
+export const TimelineTitleContainer = styled.div`
+  display: flex;
+  align-items: center;
+  justify-content: flex-start;
+ 
+  &.vertical {
+    margin-bottom: 1em;
+  }
+ 
+  &.horizontal {
+    position: absolute;
+    top: 0;
+  }
+`;
+ 
+export const TimelineContentContainer = styled.div<{
+  $active?: boolean;
+  $cardWidth?: number;
+  $highlight?: boolean;
+  position?: string;
+  theme?: Theme;
+}>`
+  align-items: flex-start;
+  animation: ${show} 0.25s ease-in;
+ 
+  outline: 2px solid
+    ${(p) => (p.$highlight && p.$active ? p.theme?.primary : 'transparent')};
+ 
+  margin: 1rem;
+ 
+  &.horizontal {
+    min-width: ${(p) => p.$cardWidth}px;
+  }
+ 
+  &.vertical {
+    width: calc(100% - 5em);
+    margin-left: auto;
+    flex-direction: column;
+  }
+`;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline-elements/timeline-card/timeline-horizontal-card.tsx.html b/coverage/lcov-report/components/timeline-elements/timeline-card/timeline-horizontal-card.tsx.html new file mode 100644 index 00000000..5ed0e60c --- /dev/null +++ b/coverage/lcov-report/components/timeline-elements/timeline-card/timeline-horizontal-card.tsx.html @@ -0,0 +1,670 @@ + + + + + + Code coverage report for components/timeline-elements/timeline-card/timeline-horizontal-card.tsx + + + + + + + + + +
+
+

All files / components/timeline-elements/timeline-card timeline-horizontal-card.tsx

+
+ +
+ 96.41% + Statements + 188/195 +
+ + +
+ 60% + Branches + 9/15 +
+ + +
+ 66.66% + Functions + 2/3 +
+ + +
+ 96.41% + Lines + 188/195 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +1961x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +  +  +  +  +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +  +  +  +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +1x +1x + 
import { TimelineCardModel } from '@models/TimelineItemModel';
+import cls from 'classnames';
+import React, {
+  useCallback,
+  useContext,
+  useEffect,
+  useMemo,
+  useRef,
+} from 'react';
+import ReactDOM from 'react-dom';
+import { GlobalContext } from '../../GlobalContext';
+import TimelineCardContent from '../timeline-card-content/timeline-card-content';
+import TimelineItemTitle from '../timeline-item-title/timeline-card-title';
+import {
+  Shape,
+  ShapeWrapper,
+  TimelineContentContainer,
+  TimelineTitleContainer,
+  Wrapper,
+} from './timeline-horizontal-card.styles';
+ 
+const TimelineCard: React.FunctionComponent<TimelineCardModel> = ({
+  active,
+  autoScroll,
+  cardDetailedText,
+  cardSubtitle,
+  cardTitle,
+  url,
+  id,
+  media,
+  onClick,
+  onElapsed,
+  slideShowRunning,
+  title,
+  wrapperId,
+  customContent,
+  hasFocus,
+  iconChild,
+  timelineContent,
+  cardWidth,
+  isNested,
+  nestedCardHeight,
+  items,
+}: TimelineCardModel) => {
+  const circleRef = useRef<HTMLDivElement>(null);
+  const wrapperRef = useRef<HTMLDivElement>(null);
+  const contentRef = useRef<HTMLDivElement>(null);
+ 
+  const {
+    mode,
+    cardPositionHorizontal: position,
+    timelinePointDimension,
+    disableClickOnCircle,
+    cardLess,
+    showAllCardsHorizontal,
+    classNames,
+    theme,
+    timelinePointShape,
+  } = useContext(GlobalContext);
+ 
+  const handleClick = () => {
+    if (!disableClickOnCircle && onClick && !slideShowRunning) {
+      onClick(id);
+    }
+  };
+ 
+  useEffect(() => {
+    if (active) {
+      const circle = circleRef.current;
+      const wrapper = wrapperRef.current;
+ 
+      if (circle && wrapper) {
+        const circleOffsetLeft = circle.offsetLeft;
+        const wrapperOffsetLeft = wrapper.offsetLeft;
+ 
+        autoScroll?.({
+          pointOffset: circleOffsetLeft + wrapperOffsetLeft,
+          pointWidth: circle.clientWidth,
+        });
+      }
+    }
+  }, [active, autoScroll, mode]);
+ 
+  const handleOnShowMore = useCallback(() => {}, []);
+ 
+  const modeLower = useMemo(() => mode?.toLowerCase(), [mode]);
+ 
+  const containerClass = useMemo(
+    () =>
+      cls(
+        'timeline-horz-card-wrapper',
+        modeLower,
+        position === 'TOP' ? 'bottom' : 'top',
+        showAllCardsHorizontal ? 'show-all' : '',
+      ),
+    [mode, position],
+  );
+ 
+  const titleClass = useMemo(() => cls(modeLower, position), []);
+ 
+  const circleClass = useMemo(
+    () =>
+      cls(
+        'timeline-circle',
+        { 'using-icon': !!iconChild },
+        modeLower,
+        active ? 'active' : 'in-active',
+      ),
+    [active],
+  );
+ 
+  const Content = useMemo(() => {
+    return (
+      <TimelineContentContainer
+        className={containerClass}
+        ref={contentRef}
+        id={`timeline-card-${id}`}
+        theme={theme}
+        $active={active}
+        $highlight={showAllCardsHorizontal}
+        tabIndex={0}
+        $cardWidth={cardWidth}
+      >
+        <TimelineCardContent
+          content={cardSubtitle}
+          active={active}
+          title={cardTitle}
+          url={url}
+          detailedText={cardDetailedText}
+          onShowMore={handleOnShowMore}
+          theme={theme}
+          slideShowActive={slideShowRunning}
+          media={media}
+          onElapsed={onElapsed}
+          id={id}
+          customContent={customContent}
+          hasFocus={hasFocus}
+          onClick={onClick}
+          timelineContent={timelineContent}
+          isNested={isNested}
+          nestedCardHeight={nestedCardHeight}
+          items={items}
+        />
+      </TimelineContentContainer>
+    );
+  }, [active, slideShowRunning, JSON.stringify(theme)]);
+ 
+  const showTimelineContent = () => {
+    const ele = document.getElementById(wrapperId);
+ 
+    if (ele) {
+      return ReactDOM.createPortal(Content, ele);
+    }
+  };
+ 
+  const canShowTimelineContent = useMemo(
+    () => (active && !cardLess) || showAllCardsHorizontal,
+    [active, cardLess, showAllCardsHorizontal],
+  );
+ 
+  return (
+    <Wrapper ref={wrapperRef} className={modeLower} data-testid="timeline-item">
+      {canShowTimelineContent && showTimelineContent()}
+ 
+      <ShapeWrapper>
+        <Shape
+          className={circleClass}
+          onClick={handleClick}
+          ref={circleRef}
+          data-testid="timeline-circle"
+          theme={theme}
+          aria-label={title}
+          dimension={timelinePointDimension}
+          $timelinePointShape={timelinePointShape}
+        >
+          {iconChild ? iconChild : null}
+        </Shape>
+      </ShapeWrapper>
+ 
+      <TimelineTitleContainer
+        className={titleClass}
+        data-testid="timeline-title"
+      >
+        <TimelineItemTitle
+          title={title}
+          active={active}
+          theme={theme}
+          classString={classNames?.title}
+        />
+      </TimelineTitleContainer>
+    </Wrapper>
+  );
+};
+ 
+export default TimelineCard;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline-elements/timeline-control/index.html b/coverage/lcov-report/components/timeline-elements/timeline-control/index.html new file mode 100644 index 00000000..4229b82d --- /dev/null +++ b/coverage/lcov-report/components/timeline-elements/timeline-control/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for components/timeline-elements/timeline-control + + + + + + + + + +
+
+

All files components/timeline-elements/timeline-control

+
+ +
+ 98% + Statements + 294/300 +
+ + +
+ 42.85% + Branches + 18/42 +
+ + +
+ 100% + Functions + 3/3 +
+ + +
+ 98% + Lines + 294/300 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
timeline-control.styles.ts +
+
100%85/8587.5%7/8100%2/2100%85/85
timeline-control.tsx +
+
97.2%209/21532.35%11/34100%1/197.2%209/215
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline-elements/timeline-control/timeline-control.styles.ts.html b/coverage/lcov-report/components/timeline-elements/timeline-control/timeline-control.styles.ts.html new file mode 100644 index 00000000..992c0f2e --- /dev/null +++ b/coverage/lcov-report/components/timeline-elements/timeline-control/timeline-control.styles.ts.html @@ -0,0 +1,340 @@ + + + + + + Code coverage report for components/timeline-elements/timeline-control/timeline-control.styles.ts + + + + + + + + + +
+
+

All files / components/timeline-elements/timeline-control timeline-control.styles.ts

+
+ +
+ 100% + Statements + 85/85 +
+ + +
+ 87.5% + Branches + 7/8 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 85/85 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +861x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +21x +16x +16x +21x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x + 
import { Theme } from '@models/Theme';
+import { TimelineMode } from '@models/TimelineModel';
+import styled from 'styled-components';
+ 
+export const TimelineNavWrapper = styled.ul<{ theme?: Theme }>`
+  background: rgba(229, 229, 229, 0.85);
+  border-radius: 25px;
+  display: flex;
+  list-style: none;
+  padding: 0.25em 0.25em;
+`;
+ 
+export const TimelineNavItem = styled.li<{ $disable?: boolean }>`
+  padding: 0.1em;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  ${(p) => (p.$disable ? 'pointer-events: none; filter: opacity(0.7)' : '')};
+`;
+ 
+export const TimelineNavButton = styled.button<{
+  mode?: TimelineMode;
+  rotate?: 'TRUE' | 'FALSE';
+  theme?: Theme;
+}>`
+  align-items: center;
+  background: ${(p) => p.theme.primary};
+  border-radius: 50%;
+  border: 0;
+  color: #fff;
+  cursor: pointer;
+  display: flex;
+  filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.25));
+  height: 20px;
+  justify-content: center;
+  margin: 0 0.2em;
+  padding: 0;
+  transition: all 0.1s ease-in;
+  width: 20px;
+ 
+  transform: ${(p) => {
+    if (p.rotate === 'TRUE') {
+      return `rotate(90deg)`;
+    }
+  }};
+ 
+  &:active {
+    filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.25));
+    transform: ${(p) => (p.rotate === 'TRUE' ? 'rotate(90deg)' : '')} scale(0.9);
+  }
+ 
+  svg {
+    width: 80%;
+    height: 80%;
+  }
+`;
+ 
+export const TimelineControlContainer = styled.div`
+  align-items: center;
+  display: flex;
+  justify-content: center;
+`;
+ 
+export const ControlButton = styled.button<{ theme?: Theme }>`
+  align-items: center;
+  background: ${(p) => p.theme.primary};
+  border-radius: 50%;
+  cursor: pointer;
+  display: flex;
+  height: 2em;
+  justify-content: center;
+  margin-left: 0.5em;
+  width: 2em;
+  outline: 0;
+  color: #fff;
+ 
+  svg {
+    width: 80%;
+    height: 80%;
+  }
+`;
+ 
+export const MediaToggle = styled(ControlButton)``;
+ 
+export const ReplayWrapper = styled(ControlButton)``;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline-elements/timeline-control/timeline-control.tsx.html b/coverage/lcov-report/components/timeline-elements/timeline-control/timeline-control.tsx.html new file mode 100644 index 00000000..dd9f1ac0 --- /dev/null +++ b/coverage/lcov-report/components/timeline-elements/timeline-control/timeline-control.tsx.html @@ -0,0 +1,730 @@ + + + + + + Code coverage report for components/timeline-elements/timeline-control/timeline-control.tsx + + + + + + + + + +
+
+

All files / components/timeline-elements/timeline-control timeline-control.tsx

+
+ +
+ 97.2% + Statements + 209/215 +
+ + +
+ 32.35% + Branches + 11/34 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 97.2% + Lines + 209/215 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +2161x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +  +  +  +  +  +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +  +4x +4x +4x +4x +1x +1x +1x +1x + 
import { TimelineControlModel } from '@models/TimelineControlModel';
+import cls from 'classnames';
+import React, { useCallback, useContext, useMemo } from 'react';
+import { GlobalContext } from '../../GlobalContext';
+import { MoonIcon, StopIcon, SunIcon } from '../../icons';
+import ChevronLeft from '../../icons/chev-left';
+import ChevronRightIcon from '../../icons/chev-right';
+import ChevronsLeftIcon from '../../icons/chevs-left';
+import ChevronsRightIcon from '../../icons/chevs-right';
+import ReplayIcon from '../../icons/replay-icon';
+import {
+  TimelineControlContainer,
+  TimelineNavButton,
+  TimelineNavItem,
+  TimelineNavWrapper,
+} from './timeline-control.styles';
+ 
+/**
+ * TimelineControl component
+ * Provides navigation controls for a timeline, including next, previous, first, last, and slideshow buttons.
+ * Optionally supports flipping the layout and dark mode toggle.
+ *
+ * @property {function} onNext - Function to go to the next item.
+ * @property {function} onPrevious - Function to go to the previous item.
+ * @property {function} onFirst - Function to jump to the first item.
+ * @property {function} onLast - Function to jump to the last item.
+ * @property {boolean} disableLeft - Whether to disable the left navigation buttons.
+ * @property {boolean} disableRight - Whether to disable the right navigation buttons.
+ * @property {boolean} slideShowRunning - Whether the slideshow is currently running.
+ * @property {function} onReplay - Function to restart the slideshow.
+ * @property {boolean} slideShowEnabled - Whether the slideshow feature is enabled.
+ * @property {function} onToggleDarkMode - Function to toggle dark mode (if enabled).
+ * @property {boolean} isDark - Whether dark mode is currently active.
+ * @property {function} onPaused - Function to pause the slideshow (if running).
+ * @returns {JSX.Element} The TimelineControl component.
+ */
+const TimelineControl: React.FunctionComponent<TimelineControlModel> = ({
+  onNext,
+  onPrevious,
+  onFirst,
+  onLast,
+  disableLeft,
+  disableRight,
+  slideShowRunning,
+  onReplay,
+  slideShowEnabled,
+  onToggleDarkMode,
+  isDark,
+  onPaused,
+}: TimelineControlModel) => {
+  const { mode, flipLayout, theme, buttonTexts, classNames, enableDarkToggle } =
+    useContext(GlobalContext);
+ 
+  const rotate = useMemo(() => mode !== 'HORIZONTAL', [mode]);
+ 
+  const flippedHorizontally = useMemo(
+    () => flipLayout && mode === 'HORIZONTAL',
+    [],
+  );
+ 
+  const canDisableLeft = useMemo(
+    () => disableLeft || slideShowRunning,
+    [disableLeft, slideShowRunning],
+  );
+ 
+  const canDisableRight = useMemo(
+    () => disableRight || slideShowRunning,
+    [disableRight, slideShowRunning],
+  );
+ 
+  const handlePlayOrPause = useCallback(() => {
+    if (slideShowRunning) {
+      onPaused?.();
+    } else {
+      onReplay?.();
+    }
+  }, [slideShowRunning]);
+ 
+  const previousTitle = useMemo(
+    () => (flipLayout ? buttonTexts?.next : buttonTexts?.previous),
+    [flipLayout],
+  );
+ 
+  const nextTitle = useMemo(
+    () => (flipLayout ? buttonTexts?.previous : buttonTexts?.next),
+    [flipLayout],
+  );
+ 
+  const playOrPauseTile = useMemo(
+    () => (slideShowRunning ? buttonTexts?.stop : buttonTexts?.play),
+    [slideShowRunning],
+  );
+ 
+  const jumpToLastTitle = useMemo(
+    () => (flipLayout ? buttonTexts?.first : buttonTexts?.last),
+    [flipLayout],
+  );
+ 
+  const jumpToFirstTitle = useMemo(
+    () => (flipLayout ? buttonTexts?.last : buttonTexts?.first),
+    [flipLayout],
+  );
+ 
+  return (
+    <TimelineControlContainer>
+      <TimelineNavWrapper
+        className={cls('timeline-controls', classNames?.controls)}
+      >
+        {/* jump to first */}
+        <TimelineNavItem $disable={canDisableLeft}>
+          <TimelineNavButton
+            mode={mode}
+            theme={theme}
+            onClick={flippedHorizontally ? onLast : onFirst}
+            title={jumpToFirstTitle}
+            aria-label={jumpToFirstTitle}
+            aria-disabled={disableLeft}
+            aria-controls="timeline-main-wrapper"
+            tabIndex={!disableLeft ? 0 : -1}
+            rotate={rotate ? 'TRUE' : 'FALSE'}
+          >
+            <ChevronsLeftIcon />
+          </TimelineNavButton>
+        </TimelineNavItem>
+ 
+        {/* previous */}
+        <TimelineNavItem $disable={canDisableLeft}>
+          <TimelineNavButton
+            mode={mode}
+            theme={theme}
+            onClick={flippedHorizontally ? onNext : onPrevious}
+            title={previousTitle}
+            aria-label={previousTitle}
+            aria-disabled={disableLeft}
+            aria-controls="timeline-main-wrapper"
+            tabIndex={!disableLeft ? 0 : -1}
+            rotate={rotate ? 'TRUE' : 'FALSE'}
+          >
+            <ChevronLeft />
+          </TimelineNavButton>
+        </TimelineNavItem>
+ 
+        {/* next */}
+        <TimelineNavItem $disable={canDisableRight}>
+          <TimelineNavButton
+            mode={mode}
+            theme={theme}
+            onClick={flippedHorizontally ? onPrevious : onNext}
+            title={nextTitle}
+            aria-label={nextTitle}
+            aria-disabled={disableRight}
+            aria-controls="timeline-main-wrapper"
+            rotate={rotate ? 'TRUE' : 'FALSE'}
+            tabIndex={!disableRight ? 0 : -1}
+          >
+            <ChevronRightIcon />
+          </TimelineNavButton>
+        </TimelineNavItem>
+ 
+        {/* jump to last */}
+        <TimelineNavItem $disable={canDisableRight}>
+          <TimelineNavButton
+            mode={mode}
+            theme={theme}
+            onClick={flippedHorizontally ? onFirst : onLast}
+            title={jumpToLastTitle}
+            aria-label={jumpToLastTitle}
+            aria-disabled={disableRight}
+            aria-controls="timeline-main-wrapper"
+            tabIndex={!disableRight ? 0 : -1}
+            rotate={rotate ? 'TRUE' : 'FALSE'}
+          >
+            <ChevronsRightIcon />
+          </TimelineNavButton>
+        </TimelineNavItem>
+ 
+        {/* slideshow button */}
+        <TimelineNavItem>
+          {slideShowEnabled && (
+            <TimelineNavButton
+              theme={theme}
+              onClick={handlePlayOrPause}
+              title={playOrPauseTile}
+              tabIndex={0}
+              aria-controls="timeline-main-wrapper"
+              aria-label={playOrPauseTile}
+            >
+              {slideShowRunning ? <StopIcon /> : <ReplayIcon />}
+            </TimelineNavButton>
+          )}
+        </TimelineNavItem>
+ 
+        {/* dark toggle button */}
+        {enableDarkToggle ? (
+          <TimelineNavItem $disable={slideShowRunning}>
+            <TimelineNavButton
+              theme={theme}
+              onClick={onToggleDarkMode}
+              title={isDark ? buttonTexts?.light : buttonTexts?.dark}
+              tabIndex={0}
+              aria-controls="timeline-main-wrapper"
+              aria-label={isDark ? buttonTexts?.light : buttonTexts?.dark}
+            >
+              {isDark ? <SunIcon /> : <MoonIcon />}
+            </TimelineNavButton>
+          </TimelineNavItem>
+        ) : null}
+      </TimelineNavWrapper>
+    </TimelineControlContainer>
+  );
+};
+ 
+TimelineControl.displayName = 'Timeline Control';
+ 
+export default TimelineControl;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline-elements/timeline-item-title/index.html b/coverage/lcov-report/components/timeline-elements/timeline-item-title/index.html new file mode 100644 index 00000000..886b483e --- /dev/null +++ b/coverage/lcov-report/components/timeline-elements/timeline-item-title/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for components/timeline-elements/timeline-item-title + + + + + + + + + +
+
+

All files components/timeline-elements/timeline-item-title

+
+ +
+ 100% + Statements + 73/73 +
+ + +
+ 88.88% + Branches + 16/18 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 100% + Lines + 73/73 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
timeline-card-title.styles.ts +
+
100%24/2485.71%12/14100%5/5100%24/24
timeline-card-title.tsx +
+
100%49/49100%4/4100%1/1100%49/49
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline-elements/timeline-item-title/timeline-card-title.styles.ts.html b/coverage/lcov-report/components/timeline-elements/timeline-item-title/timeline-card-title.styles.ts.html new file mode 100644 index 00000000..c262b72a --- /dev/null +++ b/coverage/lcov-report/components/timeline-elements/timeline-item-title/timeline-card-title.styles.ts.html @@ -0,0 +1,157 @@ + + + + + + Code coverage report for components/timeline-elements/timeline-item-title/timeline-card-title.styles.ts + + + + + + + + + +
+
+

All files / components/timeline-elements/timeline-item-title timeline-card-title.styles.ts

+
+ +
+ 100% + Statements + 24/24 +
+ + +
+ 85.71% + Branches + 12/14 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 100% + Lines + 24/24 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +251x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x + 
import { Theme } from '@models/Theme';
+import styled from 'styled-components';
+ 
+export const TitleWrapper = styled.div<{
+  $fontSize?: string;
+  $hide?: boolean;
+  align?: string;
+  theme?: Theme;
+}>`
+  border-radius: 0.2rem;
+  font-size: ${(p) => (p.$fontSize ? p.$fontSize : '1rem')};
+  font-weight: 600;
+  overflow: hidden;
+  padding: 0.25rem;
+  visibility: ${(p) => (p.$hide ? 'hidden' : 'visible')};
+  text-align: ${(p) => (p.align ? p.align : '')};
+  color: ${(p) => (p.theme ? p.theme.titleColor : '')};
+ 
+  &.active {
+    background: ${(p) => p.theme?.secondary};
+    color: ${(p) =>
+      p.theme?.titleColorActive ? p.theme?.titleColorActive : p.theme?.primary};
+  }
+`;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline-elements/timeline-item-title/timeline-card-title.tsx.html b/coverage/lcov-report/components/timeline-elements/timeline-item-title/timeline-card-title.tsx.html new file mode 100644 index 00000000..5749cdfb --- /dev/null +++ b/coverage/lcov-report/components/timeline-elements/timeline-item-title/timeline-card-title.tsx.html @@ -0,0 +1,232 @@ + + + + + + Code coverage report for components/timeline-elements/timeline-item-title/timeline-card-title.tsx + + + + + + + + + +
+
+

All files / components/timeline-elements/timeline-item-title timeline-card-title.tsx

+
+ +
+ 100% + Statements + 49/49 +
+ + +
+ 100% + Branches + 4/4 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 49/49 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +501x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +1x +1x + 
import { TitleModel } from '@models/TimelineCardTitleModel';
+import cls from 'classnames';
+import React, { useContext, useMemo } from 'react';
+import { GlobalContext } from '../../GlobalContext';
+import { TitleWrapper } from './timeline-card-title.styles';
+ 
+/**
+ * TimelineItemTitle component
+ * This component renders the title of a timeline item and applies appropriate styling based on the given props.
+ *
+ * @property {string} title - The text of the title.
+ * @property {boolean} active - Indicates whether the title is active or not.
+ * @property {Theme} theme - The theme object, used for styling.
+ * @property {string} align - The alignment of the title.
+ * @property {string} classString - Additional CSS classes for the title.
+ * @returns {JSX.Element} The TimelineItemTitle component.
+ */
+const TimelineItemTitle: React.FunctionComponent<TitleModel> = ({
+  title,
+  active,
+  theme,
+  align,
+  classString,
+}: TitleModel) => {
+  const TITLE_CLASS = 'timeline-item-title'; // Base class name for the title
+ 
+  // Computed class name for the title, combining base class, active state, and additional classes
+  const titleClass = useMemo(
+    () => cls(TITLE_CLASS, active ? 'active' : '', classString),
+    [active, classString],
+  );
+ 
+  // Get font size from global context
+  const { fontSizes } = useContext(GlobalContext);
+ 
+  return (
+    <TitleWrapper
+      className={titleClass}
+      theme={theme}
+      $hide={!title}
+      align={align}
+      $fontSize={fontSizes?.title}
+    >
+      {title}
+    </TitleWrapper>
+  );
+};
+ 
+export default TimelineItemTitle;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline-elements/timeline-outline/index.html b/coverage/lcov-report/components/timeline-elements/timeline-outline/index.html new file mode 100644 index 00000000..a4995b0f --- /dev/null +++ b/coverage/lcov-report/components/timeline-elements/timeline-outline/index.html @@ -0,0 +1,146 @@ + + + + + + Code coverage report for components/timeline-elements/timeline-outline + + + + + + + + + +
+
+

All files components/timeline-elements/timeline-outline

+
+ +
+ 99.38% + Statements + 322/324 +
+ + +
+ 88.88% + Branches + 40/45 +
+ + +
+ 100% + Functions + 10/10 +
+ + +
+ 99.38% + Lines + 322/324 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
timeline-outline-item-list.tsx +
+
100%49/49100%3/3100%2/2100%49/49
timeline-outline.styles.ts +
+
99.39%164/16592.59%25/27100%7/799.39%164/165
timeline-outline.tsx +
+
99.09%109/11080%12/15100%1/199.09%109/110
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline-elements/timeline-outline/timeline-outline-item-list.tsx.html b/coverage/lcov-report/components/timeline-elements/timeline-outline/timeline-outline-item-list.tsx.html new file mode 100644 index 00000000..9038dfe0 --- /dev/null +++ b/coverage/lcov-report/components/timeline-elements/timeline-outline/timeline-outline-item-list.tsx.html @@ -0,0 +1,232 @@ + + + + + + Code coverage report for components/timeline-elements/timeline-outline/timeline-outline-item-list.tsx + + + + + + + + + +
+
+

All files / components/timeline-elements/timeline-outline timeline-outline-item-list.tsx

+
+ +
+ 100% + Statements + 49/49 +
+ + +
+ 100% + Branches + 3/3 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 49/49 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +501x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +3x +1x +1x +1x + 
import { Theme } from '@models/Theme';
+import {
+  List,
+  ListItem,
+  ListItemBullet,
+  ListItemName,
+} from './timeline-outline.styles';
+import { FunctionComponent } from 'react';
+import { TimelineOutlineItem } from './timeline-outline';
+ 
+interface OutlineItemListModel {
+  handleSelection: (index: number, id?: string) => void;
+  items: TimelineOutlineItem[];
+  theme: Theme;
+}
+ 
+/**
+ * OutlineItemList component
+ * This component is responsible for rendering the outline list of items.
+ * It takes a list of items, a theme, and a selection handler function as props,
+ * and maps through the items to render each one within the list.
+ *
+ * @property {TimelineOutlineItem[]} items - The items to be displayed in the list.
+ * @property {Theme} theme - The theme object, used for styling.
+ * @property {function} handleSelection - The callback to be invoked when an item is selected.
+ * @returns {JSX.Element} The rendered OutlineItemList component.
+ */
+const OutlineItemList: FunctionComponent<OutlineItemListModel> = ({
+  items,
+  handleSelection,
+  theme,
+}) => (
+  <List role="list">
+    {items.map((item, index) => (
+      <ListItem
+        key={item.id}
+        onPointerDown={() => handleSelection(index, item.id)}
+        role="listitem"
+      >
+        <ListItemBullet theme={theme} selected={item.selected}></ListItemBullet>
+        <ListItemName theme={theme} selected={item.selected}>
+          {item.name}
+        </ListItemName>
+      </ListItem>
+    ))}
+  </List>
+);
+ 
+export { OutlineItemList };
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline-elements/timeline-outline/timeline-outline.styles.ts.html b/coverage/lcov-report/components/timeline-elements/timeline-outline/timeline-outline.styles.ts.html new file mode 100644 index 00000000..a41424a9 --- /dev/null +++ b/coverage/lcov-report/components/timeline-elements/timeline-outline/timeline-outline.styles.ts.html @@ -0,0 +1,580 @@ + + + + + + Code coverage report for components/timeline-elements/timeline-outline/timeline-outline.styles.ts + + + + + + + + + +
+
+

All files / components/timeline-elements/timeline-outline timeline-outline.styles.ts

+
+ +
+ 99.39% + Statements + 164/165 +
+ + +
+ 92.59% + Branches + 25/27 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 99.39% + Lines + 164/165 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +1661x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10x +6x +4x +4x +4x +4x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10x +  +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +6x +2x +1x +1x +1x + 
import { Theme } from '@models/Theme';
+import styled, { keyframes } from 'styled-components';
+import { OutlinePosition } from './timeline-outline';
+ 
+const open = keyframes`
+  from {
+    width: 30px;
+    height: 30px;
+  }
+ 
+  to: {
+    width: 200px;
+    height: 50%;
+  }
+  `;
+ 
+const close = keyframes`
+  from {
+    width: 200px;
+    height: 50%;
+  }
+ 
+  to: {
+    width: 30px;
+    height: 30px;
+  }
+`;
+ 
+export const OutlineWrapper = styled.div<{
+  open?: boolean;
+  position?: OutlinePosition;
+}>`
+  animation: ${(p) => (p.open ? open : close)};
+  animation-duration: 0.2s;
+  animation-timing-function: ease-in;
+  background: rgba(255, 255, 255, 0.98);
+  border: 1px solid ${(p) => (p.open ? '#f5f5f5' : 'none')};
+  height: 50%;
+  position: absolute;
+  top: 1rem;
+  width: 100%;
+  z-index: 9000;
+  ${(p) =>
+    p.position === OutlinePosition.left ? `left: 1rem;` : `right: 3rem;`};
+  ${(p) =>
+    p.open
+      ? `
+    width: 200px;
+    height: 50%;
+    box-shadow: 0 5px 10px 2px rgba(0,0,0,0.2);
+    overflow-y: auto;`
+      : `width: 30px; height: 30px;`};
+`;
+ 
+export const OutlinePane = styled.aside<{ open?: boolean }>`
+  align-items: center;
+  border-radius: 4px;
+  display: flex;
+  justify-content: center;
+`;
+ 
+export const OutlineButton = styled.button<{
+  open?: boolean;
+  position?: OutlinePosition;
+  theme?: Theme;
+}>`
+  align-items: center;
+  align-self: flex-end;
+  background: #fff;
+  border-radius: 4px;
+  border: 0;
+  box-shadow: ${(p) => (!p.open ? '0 0 10px 2px rgba(0,0,0,0.2)' : 'none')};
+  cursor: pointer;
+  display: flex;
+  height: 30px;
+  justify-content: center;
+  padding: 0;
+  width: 30px;
+ 
+  ${(p) =>
+    p.position === OutlinePosition.left
+      ? 'margin-right: auto;'
+      : 'margin-left: auto;'};
+ 
+  & svg {
+    width: 70%;
+    height: 70%;
+  }
+ 
+  & svg path {
+    color: ${(p) => p.theme.primary};
+  }
+`;
+ 
+export const List = styled.ul`
+  display: flex;
+  flex-direction: column;
+  height: 100%;
+  list-style: none;
+  margin: 0;
+  overflow-y: auto;
+  padding: 0;
+  width: 80%;
+`;
+ 
+export const ListItem = styled.li`
+  align-items: center;
+  display: flex;
+  font-size: 0.9rem;
+  justify-content: flex-start;
+  margin: 0.75rem 0;
+  cursor: pointer;
+  position: relative;
+ 
+  &:not(:last-child)::after {
+    content: '';
+    display: block;
+    width: 100%;
+    position: absolute;
+    height: 1px;
+    background: #ddd;
+    left: 0;
+    right: 0;
+    margin: 0 auto;
+    bottom: -50%;
+  }
+`;
+ 
+export const ListItemName = styled.span<{ selected?: boolean; theme?: Theme }>`
+  font-size: 0.75rem;
+  color: ${(p) => (p.selected ? p.theme.primary : '')};
+  padding-left: 0.25rem;
+ 
+  &:hover {
+    color: ${(p) => p.theme.primary};
+  }
+`;
+ 
+export const ListItemBullet = styled.span<{
+  selected?: boolean;
+  theme?: Theme;
+}>`
+  align-items: center;
+  display: flex;
+  justify-content: center;
+  margin-right: 1rem;
+  position: relative;
+ 
+  &::after {
+    content: '';
+    display: block;
+    position: absolute;
+    width: 8px;
+    height: 8px;
+    border-radius: 50%;
+    background: ${(p) =>
+      p.selected ? `${p.theme.secondary}` : `${p.theme.primary}`};
+    left: 0;
+    margin: 0 auto;
+    border: ${(p) =>
+      p.selected
+        ? `2px solid ${p.theme.secondary}`
+        : `2px solid ${p.theme.primary}`};
+  }
+`;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline-elements/timeline-outline/timeline-outline.tsx.html b/coverage/lcov-report/components/timeline-elements/timeline-outline/timeline-outline.tsx.html new file mode 100644 index 00000000..9a4af089 --- /dev/null +++ b/coverage/lcov-report/components/timeline-elements/timeline-outline/timeline-outline.tsx.html @@ -0,0 +1,415 @@ + + + + + + Code coverage report for components/timeline-elements/timeline-outline/timeline-outline.tsx + + + + + + + + + +
+
+

All files / components/timeline-elements/timeline-outline timeline-outline.tsx

+
+ +
+ 99.09% + Statements + 109/110 +
+ + +
+ 80% + Branches + 12/15 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 99.09% + Lines + 109/110 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +1111x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10x +10x +10x +10x +10x +10x +10x +10x +10x +10x +10x +10x +10x +10x +10x +4x +4x +  +10x +10x +10x +10x +7x +3x +7x +4x +4x +10x +10x +10x +10x +1x +1x +10x +10x +10x +10x +10x +10x +10x +10x +10x +10x +10x +10x +10x +10x +10x +3x +3x +3x +3x +3x +10x +10x +10x +10x +10x +1x +1x + 
import { Theme } from '@models/Theme';
+import { TimelineMode } from '@models/TimelineModel';
+import React, {
+  useCallback,
+  useContext,
+  useEffect,
+  useMemo,
+  useState,
+} from 'react';
+import { GlobalContext } from '../../GlobalContext';
+import CloseIcon from '../../icons/close';
+import MenuIcon from '../../icons/menu';
+import {
+  OutlineButton,
+  OutlinePane,
+  OutlineWrapper,
+} from './timeline-outline.styles';
+import { OutlineItemList } from './timeline-outline-item-list';
+ 
+export enum OutlinePosition {
+  'left',
+  'right',
+}
+ 
+export interface TimelineOutlineModel {
+  items?: TimelineOutlineItem[];
+  mode?: TimelineMode;
+  onSelect?: (index: number) => void;
+  theme?: Theme;
+}
+ 
+export interface TimelineOutlineItem {
+  id?: string;
+  name?: string;
+  selected?: boolean;
+}
+ 
+/**
+ * TimelineOutline component
+ * This component renders the outline pane of a timeline, including a list of items and corresponding selection functionality.
+ * It provides an interface to toggle the outline pane and select items within the timeline.
+ * The component leverages memoization to prevent unnecessary re-renders and optimizes the rendering process.
+ *
+ * @property {TimelineOutlineItem[]} items - The items to be displayed in the outline.
+ * @property {TimelineMode} mode - The mode of the timeline which determines the outline position.
+ * @property {function} onSelect - The callback to be invoked when an item is selected.
+ * @property {Theme} theme - The theme object, used for styling.
+ * @returns {JSX.Element} The TimelineOutline component.
+ */
+const TimelineOutline: React.FC<TimelineOutlineModel> = ({
+  items = [],
+  onSelect,
+  mode,
+  theme,
+}: TimelineOutlineModel) => {
+  const [openPane, setOpenPane] = useState(false);
+  const [showList, setShowList] = useState(false);
+ 
+  const { theme: globalTheme } = useContext(GlobalContext);
+  const mergedTheme = theme || globalTheme;
+ 
+  const togglePane = useCallback(() => setOpenPane((prev) => !prev), []);
+ 
+  const position = useMemo(
+    () =>
+      mode === 'VERTICAL' || mode === 'VERTICAL_ALTERNATING'
+        ? OutlinePosition.right
+        : OutlinePosition.left,
+    [mode],
+  );
+ 
+  useEffect(() => {
+    if (openPane) {
+      setShowList(true);
+    } else {
+      setShowList(false);
+    }
+  }, [openPane]);
+ 
+  const handleSelection = useCallback(
+    (index: number, id?: string) => {
+      if (onSelect) onSelect(index);
+    },
+    [onSelect],
+  );
+ 
+  return (
+    <OutlineWrapper position={position} open={openPane}>
+      <OutlineButton
+        onPointerDown={togglePane}
+        theme={mergedTheme}
+        open={openPane}
+        position={position}
+      >
+        {openPane ? <CloseIcon /> : <MenuIcon />}
+      </OutlineButton>
+      <OutlinePane open={openPane}>
+        {showList && (
+          <OutlineItemList
+            items={items}
+            handleSelection={handleSelection}
+            theme={mergedTheme}
+          />
+        )}
+      </OutlinePane>
+    </OutlineWrapper>
+  );
+};
+ 
+export { TimelineOutline };
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline-horizontal/index.html b/coverage/lcov-report/components/timeline-horizontal/index.html new file mode 100644 index 00000000..b6420323 --- /dev/null +++ b/coverage/lcov-report/components/timeline-horizontal/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for components/timeline-horizontal + + + + + + + + + +
+
+

All files components/timeline-horizontal

+
+ +
+ 47.05% + Statements + 64/136 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 47.05% + Lines + 64/136 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
timeline-horizontal.styles.ts +
+
100%35/35100%0/0100%0/0100%35/35
timeline-horizontal.tsx +
+
28.71%29/101100%0/00%0/128.71%29/101
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline-horizontal/timeline-horizontal.styles.ts.html b/coverage/lcov-report/components/timeline-horizontal/timeline-horizontal.styles.ts.html new file mode 100644 index 00000000..3e5c9557 --- /dev/null +++ b/coverage/lcov-report/components/timeline-horizontal/timeline-horizontal.styles.ts.html @@ -0,0 +1,190 @@ + + + + + + Code coverage report for components/timeline-horizontal/timeline-horizontal.styles.ts + + + + + + + + + +
+
+

All files / components/timeline-horizontal timeline-horizontal.styles.ts

+
+ +
+ 100% + Statements + 35/35 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 35/35 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +361x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x + 
import styled from 'styled-components';
+ 
+export const TimelineHorizontalWrapper = styled.ul<{ flipLayout?: boolean }>`
+  display: flex;
+  list-style: none;
+  margin: 0;
+  width: 100%;
+  direction: ${(p) => (p.flipLayout ? 'rtl' : 'ltr')};
+ 
+  &.vertical {
+    flex-direction: column;
+  }
+  &.horizontal {
+    flex-direction: row;
+  }
+`;
+ 
+export const TimelineItemWrapper = styled.li<{ width: number }>`
+  width: ${(p) => p.width}px;
+  visibility: hidden;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  height: 150px;
+  flex-direction: column;
+ 
+  &.vertical {
+    margin-bottom: 2rem;
+    width: 100%;
+  }
+ 
+  &.visible {
+    visibility: visible;
+  }
+`;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline-horizontal/timeline-horizontal.tsx.html b/coverage/lcov-report/components/timeline-horizontal/timeline-horizontal.tsx.html new file mode 100644 index 00000000..128c9c42 --- /dev/null +++ b/coverage/lcov-report/components/timeline-horizontal/timeline-horizontal.tsx.html @@ -0,0 +1,388 @@ + + + + + + Code coverage report for components/timeline-horizontal/timeline-horizontal.tsx + + + + + + + + + +
+
+

All files / components/timeline-horizontal timeline-horizontal.tsx

+
+ +
+ 28.71% + Statements + 29/101 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 28.71% + Lines + 29/101 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +1021x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +1x + 
import { TimelineHorizontalModel } from '@models/TimelineHorizontalModel';
+import cls from 'classnames';
+import React, { ReactNode, useContext, useMemo } from 'react';
+import { GlobalContext } from '../GlobalContext';
+import TimelineCard from '../timeline-elements/timeline-card/timeline-horizontal-card';
+import {
+  TimelineHorizontalWrapper,
+  TimelineItemWrapper,
+} from './timeline-horizontal.styles';
+ 
+/**
+ * TimelineHorizontal
+ * @property {TimelineHorizontalModel} items - The items to be displayed in the timeline.
+ * @property {(item: TimelineItem) => void} handleItemClick - Function to handle item click.
+ * @property {boolean} autoScroll - Whether to auto-scroll the timeline.
+ * @property {string} wrapperId - The ID of the wrapper element.
+ * @property {boolean} slideShowRunning - Whether the slideshow is running.
+ * @property {() => void} onElapsed - Function to handle elapsed time.
+ * @property {React.ReactNode} contentDetailsChildren - The children nodes for content details.
+ * @property {boolean} hasFocus - Whether the timeline has focus.
+ * @property {React.ReactNode} iconChildren - The children nodes for icons.
+ * @property {number} nestedCardHeight - The height of the nested card.
+ * @property {boolean} isNested - Whether the card is nested.
+ * @returns {JSX.Element} The TimelineHorizontal component.
+ */
+ 
+const TimelineHorizontal: React.FunctionComponent<TimelineHorizontalModel> = ({
+  items,
+  handleItemClick,
+  autoScroll,
+  wrapperId,
+  slideShowRunning,
+  onElapsed,
+  contentDetailsChildren: children,
+  hasFocus,
+  iconChildren,
+  nestedCardHeight,
+  isNested,
+}: TimelineHorizontalModel) => {
+  const {
+    mode = 'HORIZONTAL',
+    itemWidth = 200,
+    cardHeight,
+    flipLayout,
+    showAllCardsHorizontal,
+    theme,
+    cardWidth,
+  } = useContext(GlobalContext);
+
+  // Memoize the wrapper class to avoid unnecessary re-renders
+  const wrapperClass = useMemo(
+    () =>
+      cls(
+        mode.toLowerCase(),
+        'timeline-horizontal-container',
+        showAllCardsHorizontal ? 'show-all-cards-horizontal' : '',
+      ),
+    [mode, showAllCardsHorizontal],
+  );
+
+  const iconChildColln = React.Children.toArray(iconChildren);
+
+  return (
+    <TimelineHorizontalWrapper
+      className={wrapperClass}
+      flipLayout={flipLayout}
+      data-testid="timeline-collection"
+    >
+      {items.map((item, index) => (
+        <TimelineItemWrapper
+          key={item.id}
+          width={itemWidth}
+          className={cls(
+            item.visible ? 'visible' : '',
+            'timeline-horz-item-container',
+          )}
+        >
+          <TimelineCard
+            {...item}
+            onClick={handleItemClick}
+            autoScroll={autoScroll}
+            wrapperId={wrapperId}
+            theme={theme}
+            slideShowRunning={slideShowRunning}
+            cardHeight={cardHeight}
+            onElapsed={onElapsed}
+            customContent={children ? (children as ReactNode[])[index] : null}
+            hasFocus={hasFocus}
+            iconChild={iconChildColln[index]}
+            active={item.active}
+            cardWidth={cardWidth}
+            isNested={isNested}
+            nestedCardHeight={nestedCardHeight}
+          />
+        </TimelineItemWrapper>
+      ))}
+    </TimelineHorizontalWrapper>
+  );
+};
+ 
+export default TimelineHorizontal;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline-vertical/index.html b/coverage/lcov-report/components/timeline-vertical/index.html new file mode 100644 index 00000000..642ff86b --- /dev/null +++ b/coverage/lcov-report/components/timeline-vertical/index.html @@ -0,0 +1,176 @@ + + + + + + Code coverage report for components/timeline-vertical + + + + + + + + + +
+
+

All files components/timeline-vertical

+
+ +
+ 80.34% + Statements + 556/692 +
+ + +
+ 55.55% + Branches + 30/54 +
+ + +
+ 83.33% + Functions + 10/12 +
+ + +
+ 80.34% + Lines + 556/692 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
timeline-point.tsx +
+
92.75%128/13860%6/100%0/192.75%128/138
timeline-vertical-item.tsx +
+
96.17%226/23533.33%4/12100%1/196.17%226/235
timeline-vertical-shape.styles.ts +
+
100%51/5192.3%12/13100%4/4100%51/51
timeline-vertical.styles.ts +
+
84.61%121/14342.1%8/19100%5/584.61%121/143
timeline-vertical.tsx +
+
24%30/125100%0/00%0/124%30/125
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline-vertical/timeline-point.tsx.html b/coverage/lcov-report/components/timeline-vertical/timeline-point.tsx.html new file mode 100644 index 00000000..262b4c7a --- /dev/null +++ b/coverage/lcov-report/components/timeline-vertical/timeline-point.tsx.html @@ -0,0 +1,499 @@ + + + + + + Code coverage report for components/timeline-vertical/timeline-point.tsx + + + + + + + + + +
+
+

All files / components/timeline-vertical timeline-point.tsx

+
+ +
+ 92.75% + Statements + 128/138 +
+ + +
+ 60% + Branches + 6/10 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 92.75% + Lines + 128/138 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +1391x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +  +3x +3x +3x +3x +3x +3x +3x +3x +  +  +  +  +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +  +  +  +  +  +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x +1x +1x +1x +1x + 
import { TimelinePointModel } from '@models/TimelineVerticalModel';
+import cls from 'classnames';
+import React, { memo, useContext, useEffect, useMemo, useRef } from 'react';
+import { GlobalContext } from '../GlobalContext';
+import { Shape } from '../timeline-elements/timeline-card/timeline-horizontal-card.styles';
+import {
+  TimelinePointContainer,
+  TimelinePointWrapper,
+} from './timeline-vertical-shape.styles';
+ 
+/**
+ * TimelinePoint
+ * @property {string} className - The class name for the component.
+ * @property {string} id - The id of the timeline point.
+ * @property {() => void} onClick - Function to handle click event.
+ * @property {boolean} active - Whether the timeline point is active.
+ * @property {() => void} onActive - Function to handle active event.
+ * @property {boolean} slideShowRunning - Whether the slideshow is running.
+ * @property {React.ReactNode} iconChild - The icon child nodes.
+ * @property {number} timelinePointDimension - The dimension of the timeline point.
+ * @property {number} lineWidth - The width of the line.
+ * @property {boolean} disableClickOnCircle - Whether the click on circle is disabled.
+ * @property {boolean} cardLess - Whether the card is less.
+ * @returns {JSX.Element} The TimelinePoint component.
+ */
+const TimelinePoint: React.FunctionComponent<TimelinePointModel> = memo(
+  (props: TimelinePointModel) => {
+    const {
+      className,
+      id,
+      onClick,
+      active,
+      onActive,
+      slideShowRunning,
+      iconChild,
+      timelinePointDimension,
+      lineWidth,
+      disableClickOnCircle,
+      cardLess,
+    } = props;
+ 
+    const circleRef = useRef<HTMLDivElement>(null);
+    const {
+      theme,
+      focusActiveItemOnLoad,
+      timelinePointShape,
+      disableTimelinePoint,
+    } = useContext(GlobalContext);
+ 
+    const isFirstRender = useRef(true);
+ 
+    // Determine if onActive can be invoked
+    const canInvokeOnActive = useMemo(() => {
+      if (focusActiveItemOnLoad) {
+        return active;
+      } else {
+        return active && !isFirstRender.current;
+      }
+    }, [active]);
+ 
+    // Invoke onActive if conditions are met
+    useEffect(() => {
+      if (canInvokeOnActive) {
+        const circle = circleRef.current;
+
+        circle && onActive(circle.offsetTop);
+      }
+    }, [canInvokeOnActive, active]);
+ 
+    // Determine circle class
+    const circleClass = useMemo(
+      () =>
+        cls({
+          active,
+          'using-icon': !!iconChild,
+        }),
+      [active, iconChild],
+    );
+ 
+    // Determine click handler props
+    const clickHandlerProps = useMemo(
+      () =>
+        !disableClickOnCircle && {
+          onClick: (ev: React.MouseEvent) => {
+            ev.stopPropagation();
+            if (id && onClick && !slideShowRunning) {
+              onClick(id);
+            }
+          },
+        },
+      [id, onClick, slideShowRunning, disableClickOnCircle],
+    );
+ 
+    // Update isFirstRender flag after first render
+    useEffect(() => {
+      if (isFirstRender.current) {
+        isFirstRender.current = false;
+      }
+    }, []);
+ 
+    return (
+      <TimelinePointWrapper
+        width={lineWidth}
+        bg={theme && theme.primary}
+        className={className}
+        data-testid="tree-leaf"
+        role="button"
+        $cardLess={cardLess}
+      >
+        {/* {!disableTimelinePoint ? ( */}
+        <TimelinePointContainer
+          className={`${className} timeline-vertical-circle`}
+          {...clickHandlerProps}
+          ref={circleRef}
+          role="button"
+          data-testid="tree-leaf-click"
+          aria-label="select timeline"
+          $hide={disableTimelinePoint}
+        >
+          <Shape
+            className={circleClass}
+            theme={theme}
+            dimension={timelinePointDimension}
+            $timelinePointShape={timelinePointShape}
+          >
+            {iconChild ? iconChild : null}
+          </Shape>
+        </TimelinePointContainer>
+        {/* ) : null} */}
+      </TimelinePointWrapper>
+    );
+  },
+  (prev, next) => prev.active === next.active,
+);
+ 
+TimelinePoint.displayName = 'TimelinePoint';
+ 
+export { TimelinePoint };
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline-vertical/timeline-vertical-item.tsx.html b/coverage/lcov-report/components/timeline-vertical/timeline-vertical-item.tsx.html new file mode 100644 index 00000000..27fc3a44 --- /dev/null +++ b/coverage/lcov-report/components/timeline-vertical/timeline-vertical-item.tsx.html @@ -0,0 +1,790 @@ + + + + + + Code coverage report for components/timeline-vertical/timeline-vertical-item.tsx + + + + + + + + + +
+
+

All files / components/timeline-vertical timeline-vertical-item.tsx

+
+ +
+ 96.17% + Statements + 226/235 +
+ + +
+ 33.33% + Branches + 4/12 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 96.17% + Lines + 226/235 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +2361x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +  +  +  +  +  +2x +2x +2x +2x +2x +  +  +  +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +  +2x +2x +2x +2x +2x +1x +1x +1x +1x + 
import { VerticalItemModel } from '@models/TimelineVerticalModel';
+import cls from 'classnames';
+import React, { useCallback, useContext, useMemo, useRef } from 'react';
+import { GlobalContext } from '../GlobalContext';
+import TimelineCard from '../timeline-elements/timeline-card-content/timeline-card-content';
+import TimelineItemTitle from '../timeline-elements/timeline-item-title/timeline-card-title';
+import { TimelinePoint } from './timeline-point';
+import {
+  TimelineCardContentWrapper,
+  TimelineTitleWrapper,
+  VerticalItemWrapper,
+} from './timeline-vertical.styles';
+ 
+/**
+ * VerticalItem
+ * @property {boolean} active - Whether the vertical item is active.
+ * @property {boolean} alternateCards - Whether to alternate cards.
+ * @property {string} cardDetailedText - The detailed text of the card.
+ * @property {string} cardSubtitle - The subtitle of the card.
+ * @property {string} cardTitle - The title of the card.
+ * @property {string} url - The URL of the card.
+ * @property {string} className - The class name for the component.
+ * @property {React.ReactNode} contentDetailsChildren - The content details children nodes.
+ * @property {React.ReactNode} iconChild - The icon child nodes.
+ * @property {boolean} hasFocus - Whether the vertical item has focus.
+ * @property {string} id - The id of the vertical item.
+ * @property {React.ReactNode} media - The media nodes.
+ * @property {() => void} onActive - Function to handle active event.
+ * @property {() => void} onClick - Function to handle click event.
+ * @property {() => void} onElapsed - Function to handle elapsed event.
+ * @property {boolean} slideShowRunning - Whether the slideshow is running.
+ * @property {string} title - The title of the vertical item.
+ * @property {boolean} visible - Whether the vertical item is visible.
+ * @property {React.ReactNode} timelineContent - The timeline content nodes.
+ * @property {Array} items - The items of the vertical item.
+ * @property {boolean} isNested - Whether the vertical item is nested.
+ * @property {number} nestedCardHeight - The height of the nested card.
+ * @returns {JSX.Element} The VerticalItem component.
+ */
+const VerticalItem: React.FunctionComponent<VerticalItemModel> = (
+  props: VerticalItemModel,
+) => {
+  const contentRef = useRef<HTMLDivElement>(null);
+ 
+  const {
+    active,
+    alternateCards,
+    cardDetailedText,
+    cardSubtitle,
+    cardTitle,
+    url,
+    className,
+    contentDetailsChildren,
+    iconChild,
+    hasFocus,
+    id,
+    media,
+    onActive,
+    onClick,
+    onElapsed,
+    slideShowRunning,
+    title,
+    visible,
+    timelineContent,
+    items,
+    isNested,
+    nestedCardHeight,
+  } = props;
+ 
+  const {
+    cardHeight,
+    mode,
+    flipLayout,
+    timelinePointDimension,
+    lineWidth,
+    disableClickOnCircle,
+    cardLess,
+    theme,
+    classNames,
+    textOverlay,
+    mediaHeight,
+  } = useContext(GlobalContext);
+ 
+  // handler for onActive
+  const handleOnActive = useCallback(
+    (offset: number) => {
+      if (contentRef.current) {
+        const { offsetTop, clientHeight } = contentRef.current;
+        onActive(offsetTop + offset, offsetTop, clientHeight);
+      }
+    },
+    [onActive],
+  );
+ 
+  // handler for read more
+  const handleShowMore = useCallback(() => {
+    setTimeout(() => {
+      handleOnActive(0);
+    }, 100);
+  }, [handleOnActive]);
+ 
+  // timeline title
+  const Title = useMemo(() => {
+    return (
+      <TimelineTitleWrapper
+        className={className}
+        $alternateCards={alternateCards}
+        mode={mode}
+        $hide={!title}
+        $flip={flipLayout}
+      >
+        <TimelineItemTitle
+          title={title}
+          active={active}
+          theme={theme}
+          align={flipLayout ? 'left' : 'right'}
+          classString={classNames?.title}
+        />
+      </TimelineTitleWrapper>
+    );
+  }, [
+    active,
+    title,
+    className,
+    alternateCards,
+    mode,
+    flipLayout,
+    theme,
+    classNames,
+  ]);
+ 
+  const verticalItemClass = useMemo(
+    () =>
+      cls({ [className]: true }, 'vertical-item-row', visible ? 'visible' : ''),
+    [className, visible],
+  );
+ 
+  const contentClass = cls('card-content-wrapper', visible ? 'visible' : '', {
+    [className]: true,
+  });
+ 
+  // timeline circle
+  const TimelinePointMemo = useMemo(
+    () => (
+      <TimelinePoint
+        active={active}
+        alternateCards={alternateCards}
+        className={className}
+        id={id}
+        mode={mode}
+        onActive={handleOnActive}
+        onClick={onClick}
+        slideShowRunning={slideShowRunning}
+        iconChild={iconChild}
+        timelinePointDimension={timelinePointDimension}
+        lineWidth={lineWidth}
+        disableClickOnCircle={disableClickOnCircle}
+        cardLess={cardLess}
+      />
+    ),
+    [
+      slideShowRunning,
+      active,
+      alternateCards,
+      className,
+      id,
+      mode,
+      handleOnActive,
+      onClick,
+      iconChild,
+      timelinePointDimension,
+      lineWidth,
+      disableClickOnCircle,
+      cardLess,
+    ],
+  );
+ 
+  return (
+    <VerticalItemWrapper
+      $alternateCards={alternateCards}
+      $cardHeight={isNested ? nestedCardHeight : cardHeight}
+      className={verticalItemClass}
+      data-testid="vertical-item-row"
+      key={id}
+      ref={contentRef}
+      $cardLess={cardLess}
+      role="listitem"
+      $isNested={isNested}
+      theme={theme}
+    >
+      {/* title */}
+      {!isNested ? Title : null}
+ 
+      {/* card section */}
+      <TimelineCardContentWrapper
+        className={contentClass}
+        $alternateCards={alternateCards}
+        $noTitle={!title}
+        $flip={flipLayout}
+        height={textOverlay ? mediaHeight : cardHeight}
+      >
+        {!cardLess ? (
+          // <span></span>
+          <TimelineCard
+            active={active}
+            branchDir={className}
+            content={cardSubtitle}
+            customContent={contentDetailsChildren}
+            detailedText={cardDetailedText}
+            hasFocus={hasFocus}
+            id={id}
+            media={media}
+            onClick={onClick}
+            onElapsed={onElapsed}
+            onShowMore={handleShowMore}
+            slideShowActive={slideShowRunning}
+            theme={theme}
+            title={cardTitle}
+            url={url}
+            flip={flipLayout}
+            timelineContent={timelineContent}
+            items={items}
+            isNested={isNested}
+            nestedCardHeight={nestedCardHeight}
+          />
+        ) : null}
+      </TimelineCardContentWrapper>
+      {!isNested ? TimelinePointMemo : null}
+    </VerticalItemWrapper>
+  );
+};
+ 
+VerticalItem.displayName = 'VerticalItem';
+ 
+export default VerticalItem;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline-vertical/timeline-vertical-shape.styles.ts.html b/coverage/lcov-report/components/timeline-vertical/timeline-vertical-shape.styles.ts.html new file mode 100644 index 00000000..46baa687 --- /dev/null +++ b/coverage/lcov-report/components/timeline-vertical/timeline-vertical-shape.styles.ts.html @@ -0,0 +1,238 @@ + + + + + + Code coverage report for components/timeline-vertical/timeline-vertical-shape.styles.ts + + + + + + + + + +
+
+

All files / components/timeline-vertical timeline-vertical-shape.styles.ts

+
+ +
+ 100% + Statements + 51/51 +
+ + +
+ 92.3% + Branches + 12/13 +
+ + +
+ 100% + Functions + 4/4 +
+ + +
+ 100% + Lines + 51/51 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +521x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x + 
import styled from 'styled-components';
+ 
+export const TimelinePointWrapper = styled.div<{
+  $cardLess?: boolean;
+  bg?: string;
+  width?: number;
+}>`
+  align-items: center;
+  display: flex;
+  justify-content: center;
+  position: relative;
+  width: ${(p) => (p.$cardLess ? '5%' : '10%')};
+ 
+  &.left {
+    order: 2;
+  }
+ 
+  &.right {
+    order: 1;
+  }
+ 
+  &::before {
+    background: ${(p) => p.bg};
+    width: ${(p) => (p.width ? `${p.width}px` : '4px')};
+    height: 2rem;
+    position: absolute;
+    content: '';
+    display: block;
+    left: 50%;
+    top: -1rem;
+    transform: translateY(-50%) translateX(-50%);
+  }
+ 
+  &::after {
+    background: ${(p) => p.bg};
+    content: '';
+    display: block;
+    height: 100%;
+    left: 50%;
+    position: absolute;
+    width: ${(p) => (p.width ? `${p.width}px` : '4px')};
+    z-index: 0;
+    transform: translateX(-50%);
+  }
+`;
+ 
+export const TimelinePointContainer = styled.div<{ $hide?: boolean }>`
+  position: relative;
+  z-index: 1;
+  visibility: ${(p) => (p.$hide ? 'hidden' : 'visible')};
+`;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline-vertical/timeline-vertical.styles.ts.html b/coverage/lcov-report/components/timeline-vertical/timeline-vertical.styles.ts.html new file mode 100644 index 00000000..a7e48850 --- /dev/null +++ b/coverage/lcov-report/components/timeline-vertical/timeline-vertical.styles.ts.html @@ -0,0 +1,514 @@ + + + + + + Code coverage report for components/timeline-vertical/timeline-vertical.styles.ts + + + + + + + + + +
+
+

All files / components/timeline-vertical timeline-vertical.styles.ts

+
+ +
+ 84.61% + Statements + 121/143 +
+ + +
+ 42.1% + Branches + 8/19 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 84.61% + Lines + 121/143 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +1441x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +2x +  +  +  +  +  +  +  +  +  +2x +2x +2x +2x +2x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +2x +  +2x +  +2x +2x +2x +2x +1x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +  +  +  +  +  +  +  +  +  +  +2x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +2x +  +2x +2x +2x +1x +1x +1x + 
import { Theme } from '@models/Theme';
+import { TimelineMode } from '@models/TimelineModel';
+import styled, { css, keyframes } from 'styled-components';
+ 
+export const TimelineVerticalWrapper = styled.div`
+  display: flex;
+  flex-direction: column;
+  width: 100%;
+  padding: 1em;
+  outline: 0;
+`;
+ 
+const animateVisible = keyframes`
+  from {
+    opacity: 0;
+    visibility: hidden;
+  }
+  to {
+    opacity: 1;
+    visibility: visible;
+  }
+`;
+ 
+export const VerticalItemWrapper = styled.div<{
+  $alternateCards?: boolean;
+  $cardHeight?: number;
+  $cardLess?: boolean;
+  $isNested?: boolean;
+  theme?: Theme;
+}>`
+  display: flex;
+  position: relative;
+  visibility: hidden;
+  width: 100%;
+  align-items: stretch;
+  justify-content: center;
+  margin: 1rem 0;
+ 
+  &.left {
+    margin-right: auto;
+  }
+  &.right {
+    margin-left: auto;
+  }
+ 
+  &.visible {
+    visibility: visible;
+  }
+ 
+  ${(p) =>
+    p.$isNested
+      ? css`
+          position: relative;
+
+          &:not(:last-child)::after {
+            content: '';
+            position: absolute;
+            width: 2px;
+            height: 2rem;
+            background: ${(p) => p.theme.primary};
+            left: 50%;
+            transform: translateX(-50%);
+            bottom: -2rem;
+          }
+        `
+      : css``}
+`;
+ 
+export const TimelineCardContentWrapper = styled.div<{
+  $alternateCards?: boolean;
+  $cardLess?: boolean;
+  $flip?: boolean;
+  $noTitle?: boolean;
+  height?: number;
+}>`
+  visibility: hidden;
+  position: relative;
+  display: flex;
+  align-items: center;
+  ${(p) => {
+    if (p.$alternateCards) {
+      return `width: 50%;`;
+    } else if (p.$noTitle) {
+      return `width: 95%;`;
+    } else {
+      return `width: 75%;`;
+    }
+  }}
+  ${(p) => {
+    if (!p.$flip) {
+      return `
+        &.left {
+          order: 1;
+          justify-content: flex-end;
+        }
+        &.right {
+          order: 3;
+          justify-content: flex-start;
+        }
+      `;
+    } else {
+      return `
+        justify-content: flex-end;
+        &.left {
+          order: 3;
+        }
+        &.right {
+          order: 1;
+        }
+      `;
+    }
+  }}
+    &.visible {
+    visibility: visible;
+    animation: ${animateVisible} 0.25s ease-in;
+  }
+`;
+ 
+export const TimelineTitleWrapper = styled.div<{
+  $alternateCards?: boolean;
+  $flip?: boolean;
+  $hide?: boolean;
+  mode?: TimelineMode;
+}>`
+  align-items: center;
+  display: ${(p) => (p.$hide && p.mode === 'VERTICAL' ? 'none' : 'flex')};
+  ${(p) => (p.$alternateCards ? 'width: 50%' : 'width: 15%')};
+ 
+  &.left {
+    justify-content: ${(p) => (p.$flip ? 'flex-end' : 'flex-start')};
+    order: ${(p) => (p.$flip && p.mode === 'VERTICAL_ALTERNATING' ? '1' : '3')};
+  }
+ 
+  &.right {
+    ${(p) =>
+      p.$flip
+        ? `
+      order: 3;
+      justify-content: flex-start;`
+        : `order: 1;
+    justify-content: flex-end;`};
+  }
+`;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline-vertical/timeline-vertical.tsx.html b/coverage/lcov-report/components/timeline-vertical/timeline-vertical.tsx.html new file mode 100644 index 00000000..6b00e8e4 --- /dev/null +++ b/coverage/lcov-report/components/timeline-vertical/timeline-vertical.tsx.html @@ -0,0 +1,460 @@ + + + + + + Code coverage report for components/timeline-vertical/timeline-vertical.tsx + + + + + + + + + +
+
+

All files / components/timeline-vertical timeline-vertical.tsx

+
+ +
+ 24% + Statements + 30/125 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 24% + Lines + 30/125 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +1261x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +1x +1x +1x + 
import { TimelineVerticalModel } from '@models/TimelineVerticalModel';
+import React, { useCallback, useMemo } from 'react';
+import { TimelineOutline } from '../timeline-elements/timeline-outline/timeline-outline';
+import TimelineVerticalItem from './timeline-vertical-item';
+import { TimelineVerticalWrapper } from './timeline-vertical.styles';
+ 
+/**
+ * TimelineVertical
+ * @property {boolean} alternateCards - Whether to alternate cards.
+ * @property {() => void} autoScroll - Function to handle auto scroll.
+ * @property {React.ReactNode} contentDetailsChildren - The content details children nodes.
+ * @property {boolean} enableOutline - Whether to enable outline.
+ * @property {boolean} hasFocus - Whether the timeline has focus.
+ * @property {React.ReactNode} iconChildren - The icon children nodes.
+ * @property {Array} items - The items of the timeline.
+ * @property {string} mode - The mode of the timeline.
+ * @property {() => void} onClick - Function to handle click event.
+ * @property {() => void} onElapsed - Function to handle elapsed event.
+ * @property {() => void} onOutlineSelection - Function to handle outline selection.
+ * @property {boolean} slideShowRunning - Whether the slideshow is running.
+ * @property {Object} theme - The theme of the timeline.
+ * @property {boolean} cardLess - Whether the card is less.
+ * @property {number} nestedCardHeight - The height of the nested card.
+ * @returns {JSX.Element} The TimelineVertical component.
+ */
+const TimelineVertical: React.FunctionComponent<TimelineVerticalModel> = ({
+  alternateCards = true,
+  autoScroll,
+  contentDetailsChildren,
+  enableOutline,
+  hasFocus,
+  iconChildren,
+  items,
+  mode,
+  onClick,
+  onElapsed,
+  onOutlineSelection,
+  slideShowRunning,
+  theme,
+  cardLess,
+  nestedCardHeight,
+}: TimelineVerticalModel) => {
+  // check if the timeline that has become active is visible.
+  // if not auto scroll the content and bring it to the view.
+  const handleOnActive = useCallback(
+    (offset: number, wrapperOffset: number, height: number) => {
+      autoScroll({
+        contentHeight: height,
+        contentOffset: wrapperOffset,
+        pointOffset: offset,
+      });
+    },
+    [autoScroll],
+  );
+
+  // todo remove this
+  const handleOnShowMore = useCallback(() => {}, []);
+
+  const outlineItems = useMemo(
+    () =>
+      items.map((item) => ({
+        id: Math.random().toString(16).slice(2),
+        name: item.title,
+      })),
+    [items],
+  );
+
+  return (
+    <TimelineVerticalWrapper data-testid="tree-main" role="list">
+      {enableOutline && (
+        <TimelineOutline
+          theme={theme}
+          mode={mode}
+          items={outlineItems}
+          onSelect={onOutlineSelection}
+        />
+      )}
+      {items.map((item, index) => {
+        let className = '';
+
+        // in tree mode alternate cards position
+        if (alternateCards) {
+          className = index % 2 === 0 ? 'left' : 'right';
+        } else {
+          className = 'right';
+        }
+
+        const contentDetails =
+          (contentDetailsChildren &&
+            (contentDetailsChildren as React.ReactNode[])[index]) ||
+          null;
+
+        const customIcon = Array.isArray(iconChildren)
+          ? iconChildren[index]
+          : index === 0
+          ? iconChildren
+          : null;
+
+        return (
+          <TimelineVerticalItem
+            {...item}
+            alternateCards={alternateCards}
+            className={className}
+            contentDetailsChildren={contentDetails}
+            iconChild={customIcon}
+            hasFocus={hasFocus}
+            index={index}
+            key={item.id}
+            onActive={handleOnActive}
+            onClick={onClick}
+            onElapsed={onElapsed}
+            onShowMore={handleOnShowMore}
+            slideShowRunning={slideShowRunning}
+            cardLess={cardLess}
+            nestedCardHeight={nestedCardHeight}
+          />
+        );
+      })}
+    </TimelineVerticalWrapper>
+  );
+};
+ 
+TimelineVertical.displayName = 'TimelineVertical';
+ 
+export default TimelineVertical;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline/index.html b/coverage/lcov-report/components/timeline/index.html new file mode 100644 index 00000000..2b563772 --- /dev/null +++ b/coverage/lcov-report/components/timeline/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for components/timeline + + + + + + + + + +
+
+

All files components/timeline

+
+ +
+ 25.04% + Statements + 156/623 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 25.04% + Lines + 156/623 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
timeline.style.ts +
+
81.87%122/149100%0/00%0/381.87%122/149
timeline.tsx +
+
7.17%34/474100%0/00%0/17.17%34/474
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline/timeline.style.ts.html b/coverage/lcov-report/components/timeline/timeline.style.ts.html new file mode 100644 index 00000000..c4c41db6 --- /dev/null +++ b/coverage/lcov-report/components/timeline/timeline.style.ts.html @@ -0,0 +1,532 @@ + + + + + + Code coverage report for components/timeline/timeline.style.ts + + + + + + + + + +
+
+

All files / components/timeline timeline.style.ts

+
+ +
+ 81.87% + Statements + 122/149 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 81.87% + Lines + 122/149 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +1501x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +1x +1x +1x +  +  +  +  +  +  +  +  +  +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x + 
import { Theme } from '@models/Theme';
+import { TimelineMode } from '@models/TimelineModel';
+import styled from 'styled-components';
+import { ScrollBar } from '../common/styles';
+ 
+export const Wrapper = styled.div<{
+  $hideControls?: boolean;
+  cardPositionHorizontal?: 'TOP' | 'BOTTOM';
+}>`
+  display: flex;
+  flex-direction: column;
+  /* cannot remove this */
+  height: 100%;
+ 
+  &:focus {
+    outline: 0;
+  }
+ 
+  overflow: hidden;
+  position: relative;
+  width: 100%;
+ 
+  ${(p) =>
+    p.cardPositionHorizontal === 'TOP' && !p.$hideControls
+      ? `
+    & > div:nth-of-type(1) {
+      order: 2;
+    }
+    & > div:nth-of-type(2) {
+      order: 3;
+    }
+    & > div:nth-of-type(3) {
+      order: 1;
+    }
+  `
+      : ''};
+ 
+  ${(p) =>
+    p.cardPositionHorizontal === 'TOP' && p.$hideControls
+      ? `
+    & > div:nth-of-type(1) {
+      order: 2;
+    }
+    & > div:nth-of-type(2) {
+      order: 1;
+    }
+  `
+      : ''};
+ 
+  &.horizontal {
+    justify-content: flex-start;
+  }
+ 
+  &.js-focus-visible :focus:not(.focus-visible) {
+    outline: 0;
+  }
+ 
+  &.js-focus-visible .focus-visible {
+    outline: 2px solid #528deb;
+  }
+`;
+ 
+export const TimelineMainWrapper = styled.div<{
+  $scrollable?: boolean | { scrollbar: boolean };
+  mode?: TimelineMode;
+  theme?: Theme;
+}>`
+  align-items: flex-start;
+  display: flex;
+  justify-content: center;
+  overflow-y: auto;
+  overflow-x: hidden;
+  overscroll-behavior: contain;
+  ${(p) => (p.mode === 'HORIZONTAL' ? 'position: relative' : '')};
+  scroll-behavior: smooth;
+  width: 100%;
+ 
+  ${ScrollBar}
+ 
+  &.horizontal {
+    min-height: 150px;
+  }
+ 
+  padding: ${({ $scrollable }) => (!$scrollable ? '0 1rem 0' : '')};
+`;
+ 
+export const TimelineMain = styled.div`
+  align-items: center;
+  display: flex;
+  left: 0;
+  top: 50%;
+  position: absolute;
+  transition: all 0.2s ease;
+  transform: translate(0, -50%);
+ 
+  &.vertical {
+    align-items: flex-start;
+    height: 100%;
+    justify-content: flex-start;
+    width: 100%;
+  }
+`;
+ 
+export const Outline = styled.div<{ color?: string; height?: number }>`
+  background: ${(p) => p.color};
+  height: ${(p) => `${p.height}px`};
+  left: 0;
+  margin-left: auto;
+  margin-right: auto;
+  position: absolute;
+  right: 0;
+  width: 100%;
+`;
+ 
+export const TimelineControlContainer = styled.div<{
+  active?: boolean;
+  mode?: TimelineMode;
+}>`
+  align-items: center;
+  display: flex;
+  justify-content: center;
+  min-height: 3rem;
+ 
+  filter: ${(p) => {
+    if (p.active) {
+      return `opacity(1);`;
+    } else {
+      return `opacity(0.9);`;
+    }
+  }};
+ 
+  &.hide {
+    visibility: hidden;
+  }
+ 
+  &.show {
+    visibility: visible;
+  }
+`;
+ 
+export const TimelineContentRender = styled.div<{ $showAllCards?: boolean }>`
+  margin-left: auto;
+  margin-right: auto;
+  width: 98%;
+  display: flex;
+  align-items: flex-start;
+  justify-content: ${(p) => (p.$showAllCards ? 'flex-start' : 'center')};
+  overflow-x: hidden;
+`;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline/timeline.tsx.html b/coverage/lcov-report/components/timeline/timeline.tsx.html new file mode 100644 index 00000000..e51734c5 --- /dev/null +++ b/coverage/lcov-report/components/timeline/timeline.tsx.html @@ -0,0 +1,1507 @@ + + + + + + Code coverage report for components/timeline/timeline.tsx + + + + + + + + + +
+
+

All files / components/timeline timeline.tsx

+
+ +
+ 7.17% + Statements + 34/474 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 7.17% + Lines + 34/474 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +4751x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +1x +1x +1x + 
import { Scroll } from '@models/TimelineHorizontalModel';
+import { TimelineCardModel } from '@models/TimelineItemModel';
+import { TimelineModel } from '@models/TimelineModel';
+import { uniqueID as genUniqueID } from '@utils/index';
+import cls from 'classnames';
+import 'focus-visible';
+import React, {
+  useCallback,
+  useContext,
+  useEffect,
+  useMemo,
+  useRef,
+  useState,
+} from 'react';
+import { GlobalContext } from '../GlobalContext';
+import { useMatchMedia } from '../effects/useMatchMedia';
+import useNewScrollPosition from '../effects/useNewScrollPosition';
+import TimelineControl from '../timeline-elements/timeline-control/timeline-control';
+import TimelineHorizontal from '../timeline-horizontal/timeline-horizontal';
+import TimelineVertical from '../timeline-vertical/timeline-vertical';
+import {
+  Outline,
+  TimelineContentRender,
+  TimelineControlContainer,
+  TimelineMain,
+  TimelineMainWrapper,
+  Wrapper,
+} from './timeline.style';
+ 
+const Timeline: React.FunctionComponent<TimelineModel> = (
+  props: TimelineModel,
+) => {
+  // de-structure the props
+  const {
+    activeTimelineItem,
+    contentDetailsChildren,
+    iconChildren,
+    items = [],
+    onFirst,
+    onLast,
+    onNext,
+    onPrevious,
+    onRestartSlideshow,
+    onTimelineUpdated,
+    onItemSelected,
+    onOutlineSelection,
+    slideShowEnabled,
+    slideShowRunning,
+    mode = 'HORIZONTAL',
+    enableOutline = false,
+    hideControls = false,
+    nestedCardHeight,
+    isChild = false,
+    onPaused,
+    uniqueId,
+    noUniqueId,
+  } = props;
+
+  const {
+    cardPositionHorizontal,
+    disableNavOnKey,
+    flipLayout,
+    itemWidth = 200,
+    lineWidth,
+    onScrollEnd,
+    scrollable = true,
+    showAllCardsHorizontal,
+    theme,
+    darkMode,
+    toggleDarkMode,
+    verticalBreakPoint = 768,
+    enableBreakPoint,
+  } = useContext(GlobalContext);
+
+  const [newOffSet, setNewOffset] = useNewScrollPosition(mode, itemWidth);
+  const observer = useRef<IntersectionObserver | null>(null);
+  const [hasFocus, setHasFocus] = useState(false);
+  const horizontalContentRef = useRef<HTMLDivElement | null>(null);
+  const [timelineMode, setTimelineMode] = useState(mode);
+
+  const activeItemIndex = useRef<number>(activeTimelineItem);
+
+  // reference to the timeline
+  const timelineMainRef = useRef<HTMLDivElement>(null);
+
+  const canScrollTimeline = useMemo(() => {
+    if (!slideShowRunning) {
+      if (typeof scrollable === 'boolean') {
+        return scrollable;
+      }
+
+      if (typeof scrollable === 'object' && scrollable.scrollbar) {
+        return scrollable.scrollbar;
+      }
+    }
+  }, [slideShowRunning, scrollable]);
+
+  const id = useRef(
+    `react-chrono-timeline-${noUniqueId ? uniqueId : genUniqueID()}`,
+  );
+
+  useMatchMedia(
+    `(min-width: 100px) and (max-width: ${verticalBreakPoint}px)`,
+    () => {
+      if (mode === 'VERTICAL_ALTERNATING') {
+        setTimelineMode('VERTICAL');
+      }
+    },
+    enableBreakPoint,
+  );
+
+  useMatchMedia(
+    `(min-width: ${verticalBreakPoint + 1}px)`,
+    () => {
+      setTimelineMode(mode);
+    },
+    enableBreakPoint,
+  );
+
+  // handlers for navigation
+  const handleNext = useCallback(() => {
+    hasFocus && onNext?.();
+  }, [hasFocus, onNext]);
+
+  const handlePrevious = useCallback(
+    () => hasFocus && onPrevious?.(),
+    [hasFocus, onPrevious],
+  );
+
+  const handleFirst = useCallback(() => {
+    hasFocus && onFirst?.();
+  }, [hasFocus, onFirst]);
+
+  const handleLast = useCallback(
+    () => hasFocus && onLast?.(),
+    [hasFocus, onLast],
+  );
+
+  // handler for keyboard navigation
+  const handleKeySelection = useCallback(
+    (event: React.KeyboardEvent<HTMLDivElement>) => {
+      const { key } = event;
+
+      if (mode === 'HORIZONTAL' && key === 'ArrowRight') {
+        flipLayout ? handlePrevious() : handleNext();
+      } else if (mode === 'HORIZONTAL' && key === 'ArrowLeft') {
+        flipLayout ? handleNext() : handlePrevious();
+      } else if (
+        (mode === 'VERTICAL' || mode === 'VERTICAL_ALTERNATING') &&
+        key === 'ArrowDown'
+      ) {
+        handleNext();
+      } else if (
+        (mode === 'VERTICAL' || mode === 'VERTICAL_ALTERNATING') &&
+        key === 'ArrowUp'
+      ) {
+        handlePrevious();
+      } else if (key === 'Home') {
+        handleFirst();
+      } else if (key === 'End') {
+        handleLast();
+      }
+    },
+    [handleNext, handlePrevious, handleLast],
+  );
+
+  const handleTimelineItemClick = (itemId?: string, isSlideShow?: boolean) => {
+    if (itemId) {
+      for (let idx = 0; idx < items.length; idx++) {
+        if (items[idx].id === itemId) {
+          activeItemIndex.current = idx;
+          if (isSlideShow && idx < items.length - 1) {
+            onTimelineUpdated?.(idx + 1);
+          } else {
+            onTimelineUpdated?.(idx);
+          }
+          break;
+        }
+      }
+
+      // const selectedItem = items.find((item) => item.id === itemId);
+
+      // if (selectedItem) {
+      //   onItemSelected?.(selectedItem);
+      // }
+    }
+  };
+
+  useEffect(() => {
+    const activeItem = items[activeTimelineItem || 0];
+
+    if (items.length && activeItem) {
+      // const item = items[activeItem];
+      const { title, cardTitle, cardSubtitle, cardDetailedText } = activeItem;
+      onItemSelected?.({
+        cardDetailedText,
+        cardSubtitle,
+        cardTitle,
+        index: activeItemIndex.current,
+        title,
+      });
+
+      if (mode === 'HORIZONTAL') {
+        const card = horizontalContentRef.current?.querySelector(
+          `#timeline-card-${activeItem.id}`,
+        );
+
+        const cardRect = card?.getBoundingClientRect();
+        const contentRect =
+          horizontalContentRef.current?.getBoundingClientRect();
+
+        if (cardRect && contentRect) {
+          const { width: cardWidth, left: cardLeft } = cardRect;
+          const { width: contentWidth, left: contentLeft } = contentRect;
+          setTimeout(() => {
+            const ele = horizontalContentRef.current as HTMLElement;
+            ele.style.scrollBehavior = 'smooth';
+            ele.scrollLeft +=
+              cardLeft - contentLeft + cardWidth / 2 - contentWidth / 2;
+          }, 100);
+        }
+      }
+    }
+  }, [activeTimelineItem, items.length]);
+
+  const handleScroll = (scroll: Partial<Scroll>) => {
+    const element = timelineMainRef.current;
+    if (element) {
+      setNewOffset(element, scroll);
+    }
+  };
+
+  useEffect(() => {
+    const ele = timelineMainRef.current;
+    if (!ele) {
+      return;
+    }
+    if (mode === 'HORIZONTAL') {
+      ele.scrollLeft = Math.max(newOffSet, 0);
+    } else {
+      ele.scrollTop = newOffSet;
+    }
+  }, [newOffSet]);
+
+  useEffect(() => {
+    // setup observer for the timeline elements
+    setTimeout(() => {
+      const element = timelineMainRef.current;
+
+      if (element) {
+        const childElements = element.querySelectorAll('.vertical-item-row');
+        Array.from(childElements).forEach((elem) => {
+          if (observer.current) {
+            observer.current.observe(elem);
+          }
+        });
+      }
+    }, 0);
+
+    const toggleMedia = (elem: HTMLElement, state: string) => {
+      elem
+        .querySelectorAll('img,video')
+        .forEach(
+          (ele) =>
+            ((ele as HTMLElement).style.visibility =
+              state === 'hide' ? 'hidden' : 'visible'),
+        );
+    };
+
+    if (mode !== 'HORIZONTAL') {
+      observer.current = new IntersectionObserver(
+        (entries) => {
+          entries.forEach((entry) => {
+            const element = entry.target as HTMLDivElement;
+            if (entry.isIntersecting) {
+              // show img and video when visible.
+              toggleMedia(element, 'show');
+            } else {
+              // hide img and video when not visible.
+              toggleMedia(element, 'hide');
+              // pause YouTube embeds
+              element.querySelectorAll('iframe').forEach((element) => {
+                element.contentWindow?.postMessage(
+                  '{"event":"command","func":"stopVideo","args":""}',
+                  '*',
+                );
+              });
+            }
+          });
+        },
+        {
+          root: timelineMainRef.current,
+          threshold: 0,
+        },
+      );
+    }
+
+    return () => {
+      if (observer.current) {
+        observer.current.disconnect();
+      }
+    };
+    // eslint-disable-next-line
+  }, []);
+
+  const handleKeyDown = useCallback(
+    (evt: React.KeyboardEvent<HTMLDivElement>) => {
+      if (!disableNavOnKey && !slideShowRunning) {
+        setHasFocus(true);
+        handleKeySelection(evt);
+      }
+    },
+    [disableNavOnKey, slideShowRunning, handleKeySelection],
+  );
+
+  const wrapperClass = useMemo(() => {
+    return cls(mode.toLocaleLowerCase(), {
+      'focus-visible': !isChild,
+      'js-focus-visible': !isChild,
+    });
+  }, [mode, isChild]);
+
+  return (
+    <Wrapper
+      // tabIndex={0}
+      onKeyDown={handleKeyDown}
+      className={wrapperClass}
+      cardPositionHorizontal={cardPositionHorizontal}
+      onMouseDown={() => {
+        setHasFocus(true);
+      }}
+      $hideControls={hideControls}
+      onKeyUp={(evt) => {
+        if (evt.key === 'Escape') {
+          onPaused?.();
+        }
+      }}
+    >
+      <TimelineMainWrapper
+        ref={timelineMainRef}
+        $scrollable={canScrollTimeline}
+        className={`${mode.toLowerCase()} timeline-main-wrapper`}
+        id="timeline-main-wrapper"
+        theme={theme}
+        mode={mode}
+        onScroll={(ev) => {
+          const target = ev.target as HTMLElement;
+          let scrolled = 0;
+
+          if (mode === 'VERTICAL' || mode === 'VERTICAL_ALTERNATING') {
+            scrolled = target.scrollTop + target.clientHeight;
+
+            if (target.scrollHeight - scrolled < 1) {
+              onScrollEnd?.();
+            }
+          } else {
+            scrolled = target.scrollLeft + target.offsetWidth;
+
+            if (target.scrollWidth === scrolled) {
+              onScrollEnd?.();
+            }
+          }
+        }}
+      >
+        {/* VERTICAL ALTERNATING */}
+        {timelineMode === 'VERTICAL_ALTERNATING' ? (
+          <TimelineVertical
+            activeTimelineItem={activeTimelineItem}
+            autoScroll={handleScroll}
+            contentDetailsChildren={contentDetailsChildren}
+            hasFocus={hasFocus}
+            iconChildren={iconChildren}
+            items={items as TimelineCardModel[]}
+            mode={timelineMode}
+            onClick={handleTimelineItemClick}
+            onElapsed={(itemId?: string) =>
+              handleTimelineItemClick(itemId, true)
+            }
+            onOutlineSelection={onOutlineSelection}
+            slideShowRunning={slideShowRunning}
+            theme={theme}
+            enableOutline={enableOutline}
+            nestedCardHeight={nestedCardHeight}
+          />
+        ) : null}
+
+        {/* HORIZONTAL */}
+        {timelineMode === 'HORIZONTAL' ? (
+          <TimelineMain className={mode.toLowerCase()}>
+            <Outline color={theme && theme.primary} height={lineWidth} />
+            <TimelineHorizontal
+              autoScroll={handleScroll}
+              contentDetailsChildren={contentDetailsChildren}
+              handleItemClick={handleTimelineItemClick}
+              hasFocus={hasFocus}
+              iconChildren={iconChildren}
+              items={items as TimelineCardModel[]}
+              mode={timelineMode}
+              onElapsed={(itemId?: string) =>
+                handleTimelineItemClick(itemId, true)
+              }
+              slideShowRunning={slideShowRunning}
+              wrapperId={id.current}
+              nestedCardHeight={nestedCardHeight}
+            />
+          </TimelineMain>
+        ) : null}
+
+        {/* VERTICAL */}
+        {timelineMode === 'VERTICAL' ? (
+          <TimelineVertical
+            activeTimelineItem={activeTimelineItem}
+            alternateCards={false}
+            autoScroll={handleScroll}
+            contentDetailsChildren={contentDetailsChildren}
+            hasFocus={hasFocus}
+            iconChildren={iconChildren}
+            items={items as TimelineCardModel[]}
+            mode={mode}
+            onClick={handleTimelineItemClick}
+            onElapsed={(itemId?: string) =>
+              handleTimelineItemClick(itemId, true)
+            }
+            onOutlineSelection={onOutlineSelection}
+            slideShowRunning={slideShowRunning}
+            theme={theme}
+            enableOutline={enableOutline}
+            nestedCardHeight={nestedCardHeight}
+          />
+        ) : null}
+      </TimelineMainWrapper>
+
+      {/* Timeline Controls */}
+      {!hideControls && (
+        <TimelineControlContainer mode={mode}>
+          <TimelineControl
+            disableLeft={
+              flipLayout
+                ? activeTimelineItem === items.length - 1
+                : activeTimelineItem === 0
+            }
+            disableRight={
+              flipLayout
+                ? activeTimelineItem === 0
+                : activeTimelineItem === items.length - 1
+            }
+            id={id.current}
+            onFirst={handleFirst}
+            onLast={handleLast}
+            onNext={handleNext}
+            onPrevious={handlePrevious}
+            onReplay={onRestartSlideshow}
+            slideShowEnabled={slideShowEnabled}
+            slideShowRunning={slideShowRunning}
+            isDark={darkMode}
+            onToggleDarkMode={toggleDarkMode}
+            onPaused={onPaused}
+          />
+        </TimelineControlContainer>
+      )}
+
+      {/* placeholder to render timeline content for horizontal mode */}
+      <TimelineContentRender
+        id={id.current}
+        $showAllCards={showAllCardsHorizontal}
+        ref={horizontalContentRef}
+      />
+    </Wrapper>
+  );
+};
+ 
+Timeline.displayName = 'Timeline';
+ 
+export default Timeline;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/index.html b/coverage/lcov-report/index.html index 8d4730a0..d70e2809 100644 --- a/coverage/lcov-report/index.html +++ b/coverage/lcov-report/index.html @@ -23,30 +23,30 @@

All files

- 100% + 79.23% Statements - 88/88 + 4225/5332
- 95.65% + 72.49% Branches - 22/23 + 390/538
- 100% + 79.41% Functions - 1/1 + 108/136
- 100% + 79.23% Lines - 88/88 + 4225/5332
@@ -61,7 +61,7 @@

All files

-
+
@@ -79,18 +79,258 @@

All files

- + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -101,7 +341,7 @@

All files

+ + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/utils/index.ts.html b/coverage/lcov-report/utils/index.ts.html new file mode 100644 index 00000000..14f4e582 --- /dev/null +++ b/coverage/lcov-report/utils/index.ts.html @@ -0,0 +1,286 @@ + + + + + + Code coverage report for utils/index.ts + + + + + + + + + +
+
+

All files / utils index.ts

+
+ +
+ 100% + Statements + 67/67 +
+ + +
+ 100% + Branches + 14/14 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 100% + Lines + 67/67 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
useNewScrollPosition.tscomponents +
+
19.72%29/147100%0/00%0/119.72%29/147
components/common/styles +
+
100%19/19100%3/3100%2/2100%19/19
components/common/test
100%88/8895.65%22/2383/83 100% 1/114.28%1/7100%83/83
components/common/themes +
+
100%41/41100%0/0100%0/0100%41/41
components/effects +
+
98.5%132/13493.93%31/3366.66%2/398.5%132/134
components/icons +
+
82.59%223/270100%10/1071.42%10/1482.59%223/270
components/timeline +
+
25.04%156/623100%0/00%0/425.04%156/623
components/timeline-elements/memoized +
+
95.97%167/17480.64%25/3133.33%1/395.97%167/174
components/timeline-elements/timeline-card +
+
96.81%334/34562.16%23/3791.66%11/1296.81%334/345
components/timeline-elements/timeline-card-content +
+
86.17%1041/120867.58%98/14590.32%28/3186.17%1041/1208
components/timeline-elements/timeline-card-media +
+
89.65%624/69677.14%81/10585.71%18/2189.65%624/696
components/timeline-elements/timeline-control +
+
98%294/30042.85%18/42100%3/398%294/300
components/timeline-elements/timeline-item-title +
+
100%73/7388.88%16/18100%6/6100%73/73
components/timeline-elements/timeline-outline +
+
99.38%322/32488.88%40/45100%10/1099.38%322/324
components/timeline-horizontal +
+
47.05%64/136100%0/00%0/147.05%64/136
components/timeline-vertical +
+
80.34%556/69255.55%30/5483.33%10/1280.34%556/692
utils +
+
100%67/67100%14/14100%6/6 100%88/8867/67
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +681x +1x +1x +1x +1x +1x +1x +1x +7x +7x +1x +1x +1x +1x +33x +33x +33x +33x +33x +33x +1x +1x +3x +1x +1x +2x +2x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +4x +4x +4x +1x +1x +4x +1x +1x +2x +4x +1x +1x +1x +1x +1x + 
import { SlideShowType, TimelineMode } from '@models/TimelineModel';
+import { darkTheme, defaultTheme } from '../components/common/themes';
+ 
+export const uniqueID = () => {
+  const chars =
+    'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
+  let autoId = '';
+  for (let i = 0; i < 7; i++) {
+    autoId += chars.charAt(Math.floor(Math.random() * chars.length));
+  }
+  return autoId;
+};
+ 
+export const hexToRGBA = (hex: string, alpha: number): string => {
+  const r = parseInt(hex.slice(1, 3), 16);
+  const g = parseInt(hex.slice(3, 5), 16);
+  const b = parseInt(hex.slice(5, 7), 16);
+ 
+  return `rgba(${r}, ${g}, ${b}, ${alpha})`;
+};
+ 
+export const getDefaultThemeOrDark = (isDark?: boolean) => {
+  if (isDark) {
+    return darkTheme;
+  }
+  return defaultTheme;
+};
+ 
+export const getDefaultClassNames = () => ({
+  card: 'rc-card',
+  cardMedia: 'rc-card-media',
+  cardSubTitle: 'rc-card-subtitle',
+  cardText: 'rc-card-text',
+  cardTitle: 'rc-card-title',
+  controls: 'rc-controls',
+  title: 'rc-title',
+});
+ 
+export const getDefaultButtonTexts = () => ({
+  dark: 'Switch to Dark Mode',
+  first: 'Go to First',
+  last: 'Go to Last',
+  light: 'Switch to Light Mode',
+  next: 'Next',
+  play: 'Play Slideshow',
+  previous: 'Previous',
+  stop: 'Stop Slideshow',
+});
+ 
+//get slidehow type based on mode
+ 
+export const getSlideShowType: (mode: TimelineMode) => SlideShowType = (
+  mode,
+) => {
+  if (mode === 'HORIZONTAL') {
+    return 'reveal';
+  }
+  if (mode === 'VERTICAL') {
+    return 'reveal';
+  }
+ 
+  if (mode === 'VERTICAL_ALTERNATING') {
+    return 'slide_from_sides';
+  }
+ 
+  return 'reveal';
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov.info b/coverage/lcov.info index 7cf31522..bbab7e0b 100644 --- a/coverage/lcov.info +++ b/coverage/lcov.info @@ -1,4 +1,423 @@ TN: +SF:src\components\GlobalContext.tsx +FN:25,GlobalContextProvider +FNF:1 +FNH:0 +FNDA:0,GlobalContextProvider +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:19,1 +DA:20,1 +DA:21,1 +DA:22,1 +DA:23,1 +DA:24,1 +DA:25,1 +DA:26,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:59,0 +DA:60,0 +DA:61,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:68,0 +DA:69,0 +DA:70,0 +DA:71,0 +DA:72,0 +DA:73,0 +DA:74,0 +DA:75,0 +DA:76,0 +DA:77,0 +DA:78,0 +DA:79,0 +DA:80,0 +DA:81,0 +DA:82,0 +DA:83,0 +DA:84,0 +DA:85,0 +DA:86,0 +DA:87,0 +DA:88,0 +DA:89,0 +DA:90,0 +DA:91,0 +DA:92,0 +DA:93,0 +DA:94,0 +DA:95,0 +DA:96,0 +DA:97,0 +DA:98,0 +DA:99,0 +DA:100,0 +DA:101,0 +DA:102,0 +DA:103,0 +DA:104,0 +DA:105,0 +DA:106,0 +DA:107,0 +DA:108,0 +DA:109,0 +DA:110,0 +DA:111,0 +DA:112,0 +DA:113,0 +DA:114,0 +DA:115,0 +DA:116,0 +DA:117,0 +DA:118,0 +DA:119,0 +DA:120,0 +DA:121,0 +DA:122,0 +DA:123,0 +DA:124,0 +DA:125,0 +DA:126,0 +DA:127,0 +DA:128,0 +DA:129,0 +DA:130,0 +DA:131,0 +DA:132,0 +DA:133,0 +DA:134,0 +DA:135,0 +DA:136,0 +DA:137,0 +DA:138,0 +DA:139,0 +DA:140,0 +DA:141,0 +DA:142,0 +DA:143,0 +DA:144,1 +DA:145,1 +DA:146,1 +DA:147,1 +LF:147 +LH:29 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src\components\common\styles\index.ts +FN:4,Object.defineProperty.enumerable +FN:16,Object.defineProperty.enumerable +FNF:2 +FNH:2 +FNDA:3,Object.defineProperty.enumerable +FNDA:3,Object.defineProperty.enumerable +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:19,1 +LF:19 +LH:19 +BRDA:4,0,0,3 +BRDA:16,1,0,3 +BRDA:17,2,0,3 +BRF:3 +BRH:3 +end_of_record +TN: +SF:src\components\common\test\index.tsx +FN:65,onFirst +FN:66,onLast +FN:67,onNext +FN:68,onPrevious +FN:69,onReplay +FN:70,onToggleDarkMode +FN:75,customRender +FNF:7 +FNH:1 +FNDA:0,onFirst +FNDA:0,onLast +FNDA:0,onNext +FNDA:0,onPrevious +FNDA:0,onReplay +FNDA:0,onToggleDarkMode +FNDA:41,customRender +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:19,1 +DA:20,1 +DA:21,1 +DA:22,1 +DA:23,1 +DA:24,1 +DA:25,1 +DA:26,1 +DA:27,1 +DA:28,1 +DA:29,1 +DA:30,1 +DA:31,1 +DA:32,1 +DA:33,1 +DA:34,1 +DA:35,1 +DA:36,1 +DA:37,1 +DA:38,1 +DA:39,1 +DA:40,1 +DA:41,1 +DA:42,1 +DA:43,1 +DA:44,1 +DA:45,1 +DA:46,1 +DA:47,1 +DA:48,1 +DA:49,1 +DA:50,1 +DA:51,1 +DA:52,1 +DA:53,1 +DA:54,1 +DA:55,1 +DA:56,1 +DA:57,1 +DA:58,1 +DA:59,1 +DA:60,1 +DA:61,1 +DA:62,1 +DA:63,1 +DA:64,1 +DA:65,1 +DA:66,1 +DA:67,1 +DA:68,1 +DA:69,1 +DA:70,1 +DA:71,1 +DA:72,1 +DA:73,1 +DA:74,1 +DA:75,1 +DA:76,41 +DA:77,41 +DA:78,41 +DA:79,41 +DA:80,41 +DA:81,41 +DA:82,41 +DA:83,41 +LF:83 +LH:83 +BRDA:75,0,0,41 +BRF:1 +BRH:1 +end_of_record +TN: +SF:src\components\common\themes\index.ts +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:19,1 +DA:20,1 +DA:21,1 +DA:22,1 +DA:23,1 +DA:24,1 +DA:25,1 +DA:26,1 +DA:27,1 +DA:28,1 +DA:29,1 +DA:30,1 +DA:31,1 +DA:32,1 +DA:33,1 +DA:34,1 +DA:35,1 +DA:36,1 +DA:37,1 +DA:38,1 +DA:39,1 +DA:40,1 +DA:41,1 +LF:41 +LH:41 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src\components\effects\useMatchMedia.ts +FN:12,useMatchMedia +FN:25,listener +FNF:2 +FNH:1 +FNDA:4,useMatchMedia +FNDA:0,listener +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,4 +DA:14,4 +DA:15,4 +DA:16,4 +DA:17,4 +DA:18,4 +DA:19,4 +DA:20,3 +DA:21,1 +DA:22,1 +DA:23,2 +DA:24,2 +DA:25,2 +DA:26,2 +DA:27,2 +DA:28,3 +DA:29,1 +DA:30,1 +DA:31,2 +DA:32,2 +DA:33,2 +DA:34,2 +DA:35,2 +DA:36,2 +DA:37,4 +DA:38,4 +DA:39,4 +DA:40,4 +DA:41,0 +DA:42,0 +DA:43,4 +DA:44,4 +DA:45,4 +DA:46,4 +LF:46 +LH:44 +BRDA:12,0,0,4 +BRDA:19,1,0,3 +BRDA:20,2,0,1 +BRDA:22,3,0,2 +BRDA:28,4,0,1 +BRDA:30,5,0,2 +BRDA:34,6,0,2 +BRDA:39,7,0,4 +BRDA:40,8,0,1 +BRDA:40,9,0,0 +BRF:10 +BRH:9 +end_of_record +TN: SF:src\components\effects\useNewScrollPosition.ts FN:12,useNewScrollPosition FNF:1 @@ -120,3 +539,6063 @@ BRDA:75,22,0,2 BRF:23 BRH:22 end_of_record +TN: +SF:src\components\icons\chev-left.tsx +FN:3,ChevronLeft +FNF:1 +FNH:1 +FNDA:4,ChevronLeft +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,4 +DA:5,4 +DA:6,4 +DA:7,4 +DA:8,4 +DA:9,4 +DA:10,4 +DA:11,4 +DA:12,4 +DA:13,4 +DA:14,4 +DA:15,4 +DA:16,4 +DA:17,4 +DA:18,1 +DA:19,1 +DA:20,1 +LF:20 +LH:20 +BRDA:3,0,0,4 +BRF:1 +BRH:1 +end_of_record +TN: +SF:src\components\icons\chev-right.tsx +FN:3,ChevronRightIcon +FNF:1 +FNH:1 +FNDA:7,ChevronRightIcon +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,7 +DA:5,7 +DA:6,7 +DA:7,7 +DA:8,7 +DA:9,7 +DA:10,7 +DA:11,7 +DA:12,7 +DA:13,7 +DA:14,7 +DA:15,7 +DA:16,7 +DA:17,7 +DA:18,1 +DA:19,1 +DA:20,1 +LF:20 +LH:20 +BRDA:3,0,0,7 +BRF:1 +BRH:1 +end_of_record +TN: +SF:src\components\icons\chevs-left.tsx +FN:3,ChevronLeft +FNF:1 +FNH:1 +FNDA:4,ChevronLeft +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,4 +DA:5,4 +DA:6,4 +DA:7,4 +DA:8,4 +DA:9,4 +DA:10,4 +DA:11,4 +DA:12,4 +DA:13,4 +DA:14,4 +DA:15,4 +DA:16,4 +DA:17,4 +DA:18,4 +DA:19,1 +DA:20,1 +DA:21,1 +LF:21 +LH:21 +BRDA:3,0,0,4 +BRF:1 +BRH:1 +end_of_record +TN: +SF:src\components\icons\chevs-right.tsx +FN:3,ChevronRightIcon +FNF:1 +FNH:1 +FNDA:4,ChevronRightIcon +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,4 +DA:5,4 +DA:6,4 +DA:7,4 +DA:8,4 +DA:9,4 +DA:10,4 +DA:11,4 +DA:12,4 +DA:13,4 +DA:14,4 +DA:15,4 +DA:16,4 +DA:17,4 +DA:18,4 +DA:19,1 +DA:20,1 +DA:21,1 +LF:21 +LH:21 +BRDA:3,0,0,4 +BRF:1 +BRH:1 +end_of_record +TN: +SF:src\components\icons\close.tsx +FN:3,SvgComponent +FNF:1 +FNH:1 +FNDA:6,SvgComponent +DA:1,1 +DA:2,1 +DA:3,6 +DA:4,6 +DA:5,6 +DA:6,6 +DA:7,6 +DA:8,6 +DA:9,6 +DA:10,6 +DA:11,6 +DA:12,6 +DA:13,6 +DA:14,6 +DA:15,6 +DA:16,6 +DA:17,6 +DA:18,6 +DA:19,6 +DA:20,6 +DA:21,1 +DA:22,1 +LF:22 +LH:22 +BRDA:3,0,0,6 +BRF:1 +BRH:1 +end_of_record +TN: +SF:src\components\icons\index.tsx +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +LF:9 +LH:9 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src\components\icons\maximize.tsx +FN:2,SvgComponent +FNF:1 +FNH:1 +FNDA:2,SvgComponent +DA:1,1 +DA:2,1 +DA:3,2 +DA:4,2 +DA:5,2 +DA:6,2 +DA:7,2 +DA:8,2 +DA:9,2 +DA:10,2 +DA:11,2 +DA:12,2 +DA:13,2 +DA:14,2 +DA:15,1 +DA:16,1 +DA:17,1 +LF:17 +LH:17 +BRDA:2,0,0,2 +BRF:1 +BRH:1 +end_of_record +TN: +SF:src\components\icons\menu.tsx +FN:3,SvgComponent +FNF:1 +FNH:1 +FNDA:4,SvgComponent +DA:1,1 +DA:2,1 +DA:3,4 +DA:4,4 +DA:5,4 +DA:6,4 +DA:7,4 +DA:8,4 +DA:9,4 +DA:10,4 +DA:11,4 +DA:12,4 +DA:13,4 +DA:14,4 +DA:15,4 +DA:16,4 +DA:17,4 +DA:18,4 +DA:19,4 +DA:20,4 +DA:21,1 +DA:22,1 +LF:22 +LH:22 +BRDA:3,0,0,4 +BRF:1 +BRH:1 +end_of_record +TN: +SF:src\components\icons\minimize.tsx +FN:2,SvgComponent +FNF:1 +FNH:0 +FNDA:0,SvgComponent +DA:1,1 +DA:2,1 +DA:3,0 +DA:4,0 +DA:5,0 +DA:6,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:14,1 +DA:15,1 +DA:16,1 +LF:16 +LH:5 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src\components\icons\minus.tsx +FN:2,SvgComponent +FNF:1 +FNH:1 +FNDA:2,SvgComponent +DA:1,1 +DA:2,1 +DA:3,2 +DA:4,2 +DA:5,2 +DA:6,2 +DA:7,2 +DA:8,2 +DA:9,2 +DA:10,2 +DA:11,2 +DA:12,2 +DA:13,2 +DA:14,1 +DA:15,1 +DA:16,1 +LF:16 +LH:16 +BRDA:2,0,0,2 +BRF:1 +BRH:1 +end_of_record +TN: +SF:src\components\icons\moon.tsx +FN:2,SvgComponent +FNF:1 +FNH:1 +FNDA:4,SvgComponent +DA:1,1 +DA:2,1 +DA:3,4 +DA:4,4 +DA:5,4 +DA:6,4 +DA:7,4 +DA:8,4 +DA:9,4 +DA:10,4 +DA:11,4 +DA:12,4 +DA:13,4 +DA:14,1 +DA:15,1 +DA:16,1 +LF:16 +LH:16 +BRDA:2,0,0,4 +BRF:1 +BRH:1 +end_of_record +TN: +SF:src\components\icons\plus.tsx +FN:2,SvgComponent +FNF:1 +FNH:0 +FNDA:0,SvgComponent +DA:1,1 +DA:2,1 +DA:3,0 +DA:4,0 +DA:5,0 +DA:6,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:14,1 +DA:15,1 +DA:16,1 +LF:16 +LH:5 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src\components\icons\replay-icon.tsx +FN:3,ReplayIcon +FNF:1 +FNH:1 +FNDA:1,ReplayIcon +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:19,1 +LF:19 +LH:19 +BRDA:3,0,0,1 +BRF:1 +BRH:1 +end_of_record +TN: +SF:src\components\icons\stop.tsx +FN:2,SvgComponent +FNF:1 +FNH:0 +FNDA:0,SvgComponent +DA:1,1 +DA:2,1 +DA:3,0 +DA:4,0 +DA:5,0 +DA:6,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:15,1 +DA:16,1 +DA:17,1 +LF:17 +LH:5 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src\components\icons\sun.tsx +FN:2,SvgComponent +FNF:1 +FNH:0 +FNDA:0,SvgComponent +DA:1,1 +DA:2,1 +DA:3,0 +DA:4,0 +DA:5,0 +DA:6,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:16,1 +DA:17,1 +DA:18,1 +LF:18 +LH:5 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src\components\timeline\timeline.style.ts +FN:23,Object.defineProperty.enumerable +FN:74,__vite_ssr_import_0__.default.div.$scrollable.$scrollable +FN:105,Object.defineProperty.enumerable +FNF:3 +FNH:0 +FNDA:0,Object.defineProperty.enumerable +FNDA:0,__vite_ssr_import_0__.default.div.$scrollable.$scrollable +FNDA:0,Object.defineProperty.enumerable +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:19,1 +DA:20,1 +DA:21,1 +DA:22,1 +DA:23,1 +DA:24,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:36,1 +DA:37,1 +DA:38,1 +DA:39,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:48,1 +DA:49,1 +DA:50,1 +DA:51,1 +DA:52,1 +DA:53,1 +DA:54,1 +DA:55,1 +DA:56,1 +DA:57,1 +DA:58,1 +DA:59,1 +DA:60,1 +DA:61,1 +DA:62,1 +DA:63,1 +DA:64,1 +DA:65,1 +DA:66,1 +DA:67,1 +DA:68,1 +DA:69,1 +DA:70,1 +DA:71,1 +DA:72,1 +DA:73,1 +DA:74,1 +DA:75,1 +DA:76,1 +DA:77,1 +DA:78,1 +DA:79,1 +DA:80,1 +DA:81,1 +DA:82,1 +DA:83,1 +DA:84,1 +DA:85,1 +DA:86,1 +DA:87,1 +DA:88,1 +DA:89,1 +DA:90,1 +DA:91,1 +DA:92,1 +DA:93,1 +DA:94,1 +DA:95,1 +DA:96,1 +DA:97,1 +DA:98,1 +DA:99,1 +DA:100,1 +DA:101,1 +DA:102,1 +DA:103,1 +DA:104,1 +DA:105,1 +DA:106,1 +DA:107,1 +DA:108,1 +DA:109,1 +DA:110,1 +DA:111,1 +DA:112,1 +DA:113,1 +DA:114,1 +DA:115,1 +DA:116,1 +DA:117,1 +DA:118,1 +DA:119,1 +DA:120,1 +DA:121,1 +DA:122,1 +DA:123,1 +DA:124,1 +DA:125,0 +DA:126,0 +DA:127,0 +DA:128,0 +DA:129,0 +DA:130,0 +DA:131,1 +DA:132,1 +DA:133,1 +DA:134,1 +DA:135,1 +DA:136,1 +DA:137,1 +DA:138,1 +DA:139,1 +DA:140,1 +DA:141,1 +DA:142,1 +DA:143,1 +DA:144,1 +DA:145,1 +DA:146,1 +DA:147,1 +DA:148,1 +DA:149,1 +LF:149 +LH:122 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src\components\timeline\timeline.tsx +FN:30,Timeline +FNF:1 +FNH:0 +FNDA:0,Timeline +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:19,1 +DA:20,1 +DA:21,1 +DA:22,1 +DA:23,1 +DA:24,1 +DA:25,1 +DA:26,1 +DA:27,1 +DA:28,1 +DA:29,1 +DA:30,1 +DA:31,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:59,0 +DA:60,0 +DA:61,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:68,0 +DA:69,0 +DA:70,0 +DA:71,0 +DA:72,0 +DA:73,0 +DA:74,0 +DA:75,0 +DA:76,0 +DA:77,0 +DA:78,0 +DA:79,0 +DA:80,0 +DA:81,0 +DA:82,0 +DA:83,0 +DA:84,0 +DA:85,0 +DA:86,0 +DA:87,0 +DA:88,0 +DA:89,0 +DA:90,0 +DA:91,0 +DA:92,0 +DA:93,0 +DA:94,0 +DA:95,0 +DA:96,0 +DA:97,0 +DA:98,0 +DA:99,0 +DA:100,0 +DA:101,0 +DA:102,0 +DA:103,0 +DA:104,0 +DA:105,0 +DA:106,0 +DA:107,0 +DA:108,0 +DA:109,0 +DA:110,0 +DA:111,0 +DA:112,0 +DA:113,0 +DA:114,0 +DA:115,0 +DA:116,0 +DA:117,0 +DA:118,0 +DA:119,0 +DA:120,0 +DA:121,0 +DA:122,0 +DA:123,0 +DA:124,0 +DA:125,0 +DA:126,0 +DA:127,0 +DA:128,0 +DA:129,0 +DA:130,0 +DA:131,0 +DA:132,0 +DA:133,0 +DA:134,0 +DA:135,0 +DA:136,0 +DA:137,0 +DA:138,0 +DA:139,0 +DA:140,0 +DA:141,0 +DA:142,0 +DA:143,0 +DA:144,0 +DA:145,0 +DA:146,0 +DA:147,0 +DA:148,0 +DA:149,0 +DA:150,0 +DA:151,0 +DA:152,0 +DA:153,0 +DA:154,0 +DA:155,0 +DA:156,0 +DA:157,0 +DA:158,0 +DA:159,0 +DA:160,0 +DA:161,0 +DA:162,0 +DA:163,0 +DA:164,0 +DA:165,0 +DA:166,0 +DA:167,0 +DA:168,0 +DA:169,0 +DA:170,0 +DA:171,0 +DA:172,0 +DA:173,0 +DA:174,0 +DA:175,0 +DA:176,0 +DA:177,0 +DA:178,0 +DA:179,0 +DA:180,0 +DA:181,0 +DA:182,0 +DA:183,0 +DA:184,0 +DA:185,0 +DA:186,0 +DA:187,0 +DA:188,0 +DA:189,0 +DA:190,0 +DA:191,0 +DA:192,0 +DA:193,0 +DA:194,0 +DA:195,0 +DA:196,0 +DA:197,0 +DA:198,0 +DA:199,0 +DA:200,0 +DA:201,0 +DA:202,0 +DA:203,0 +DA:204,0 +DA:205,0 +DA:206,0 +DA:207,0 +DA:208,0 +DA:209,0 +DA:210,0 +DA:211,0 +DA:212,0 +DA:213,0 +DA:214,0 +DA:215,0 +DA:216,0 +DA:217,0 +DA:218,0 +DA:219,0 +DA:220,0 +DA:221,0 +DA:222,0 +DA:223,0 +DA:224,0 +DA:225,0 +DA:226,0 +DA:227,0 +DA:228,0 +DA:229,0 +DA:230,0 +DA:231,0 +DA:232,0 +DA:233,0 +DA:234,0 +DA:235,0 +DA:236,0 +DA:237,0 +DA:238,0 +DA:239,0 +DA:240,0 +DA:241,0 +DA:242,0 +DA:243,0 +DA:244,0 +DA:245,0 +DA:246,0 +DA:247,0 +DA:248,0 +DA:249,0 +DA:250,0 +DA:251,0 +DA:252,0 +DA:253,0 +DA:254,0 +DA:255,0 +DA:256,0 +DA:257,0 +DA:258,0 +DA:259,0 +DA:260,0 +DA:261,0 +DA:262,0 +DA:263,0 +DA:264,0 +DA:265,0 +DA:266,0 +DA:267,0 +DA:268,0 +DA:269,0 +DA:270,0 +DA:271,0 +DA:272,0 +DA:273,0 +DA:274,0 +DA:275,0 +DA:276,0 +DA:277,0 +DA:278,0 +DA:279,0 +DA:280,0 +DA:281,0 +DA:282,0 +DA:283,0 +DA:284,0 +DA:285,0 +DA:286,0 +DA:287,0 +DA:288,0 +DA:289,0 +DA:290,0 +DA:291,0 +DA:292,0 +DA:293,0 +DA:294,0 +DA:295,0 +DA:296,0 +DA:297,0 +DA:298,0 +DA:299,0 +DA:300,0 +DA:301,0 +DA:302,0 +DA:303,0 +DA:304,0 +DA:305,0 +DA:306,0 +DA:307,0 +DA:308,0 +DA:309,0 +DA:310,0 +DA:311,0 +DA:312,0 +DA:313,0 +DA:314,0 +DA:315,0 +DA:316,0 +DA:317,0 +DA:318,0 +DA:319,0 +DA:320,0 +DA:321,0 +DA:322,0 +DA:323,0 +DA:324,0 +DA:325,0 +DA:326,0 +DA:327,0 +DA:328,0 +DA:329,0 +DA:330,0 +DA:331,0 +DA:332,0 +DA:333,0 +DA:334,0 +DA:335,0 +DA:336,0 +DA:337,0 +DA:338,0 +DA:339,0 +DA:340,0 +DA:341,0 +DA:342,0 +DA:343,0 +DA:344,0 +DA:345,0 +DA:346,0 +DA:347,0 +DA:348,0 +DA:349,0 +DA:350,0 +DA:351,0 +DA:352,0 +DA:353,0 +DA:354,0 +DA:355,0 +DA:356,0 +DA:357,0 +DA:358,0 +DA:359,0 +DA:360,0 +DA:361,0 +DA:362,0 +DA:363,0 +DA:364,0 +DA:365,0 +DA:366,0 +DA:367,0 +DA:368,0 +DA:369,0 +DA:370,0 +DA:371,0 +DA:372,0 +DA:373,0 +DA:374,0 +DA:375,0 +DA:376,0 +DA:377,0 +DA:378,0 +DA:379,0 +DA:380,0 +DA:381,0 +DA:382,0 +DA:383,0 +DA:384,0 +DA:385,0 +DA:386,0 +DA:387,0 +DA:388,0 +DA:389,0 +DA:390,0 +DA:391,0 +DA:392,0 +DA:393,0 +DA:394,0 +DA:395,0 +DA:396,0 +DA:397,0 +DA:398,0 +DA:399,0 +DA:400,0 +DA:401,0 +DA:402,0 +DA:403,0 +DA:404,0 +DA:405,0 +DA:406,0 +DA:407,0 +DA:408,0 +DA:409,0 +DA:410,0 +DA:411,0 +DA:412,0 +DA:413,0 +DA:414,0 +DA:415,0 +DA:416,0 +DA:417,0 +DA:418,0 +DA:419,0 +DA:420,0 +DA:421,0 +DA:422,0 +DA:423,0 +DA:424,0 +DA:425,0 +DA:426,0 +DA:427,0 +DA:428,0 +DA:429,0 +DA:430,0 +DA:431,0 +DA:432,0 +DA:433,0 +DA:434,0 +DA:435,0 +DA:436,0 +DA:437,0 +DA:438,0 +DA:439,0 +DA:440,0 +DA:441,0 +DA:442,0 +DA:443,0 +DA:444,0 +DA:445,0 +DA:446,0 +DA:447,0 +DA:448,0 +DA:449,0 +DA:450,0 +DA:451,0 +DA:452,0 +DA:453,0 +DA:454,0 +DA:455,0 +DA:456,0 +DA:457,0 +DA:458,0 +DA:459,0 +DA:460,0 +DA:461,0 +DA:462,0 +DA:463,0 +DA:464,0 +DA:465,0 +DA:466,0 +DA:467,0 +DA:468,0 +DA:469,0 +DA:470,0 +DA:471,1 +DA:472,1 +DA:473,1 +DA:474,1 +LF:474 +LH:34 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src\components\timeline-elements\memoized\index.tsx +FN:23,TitleMemo +FN:86,onKeyDown +FN:113,onKeyDown +FNF:3 +FNH:1 +FNDA:23,TitleMemo +FNDA:0,onKeyDown +FNDA:0,onKeyDown +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:19,1 +DA:20,1 +DA:21,1 +DA:22,1 +DA:23,1 +DA:24,23 +DA:25,23 +DA:26,23 +DA:27,23 +DA:28,23 +DA:29,23 +DA:30,23 +DA:31,23 +DA:32,23 +DA:33,23 +DA:34,23 +DA:35,16 +DA:36,16 +DA:37,16 +DA:38,16 +DA:39,16 +DA:40,16 +DA:41,16 +DA:42,16 +DA:43,16 +DA:44,16 +DA:45,3 +DA:46,3 +DA:47,3 +DA:48,13 +DA:49,13 +DA:50,16 +DA:51,16 +DA:52,7 +DA:53,23 +DA:54,1 +DA:55,1 +DA:56,1 +DA:57,1 +DA:58,1 +DA:59,21 +DA:60,17 +DA:61,17 +DA:62,17 +DA:63,17 +DA:64,17 +DA:65,17 +DA:66,17 +DA:67,17 +DA:68,17 +DA:69,17 +DA:70,4 +DA:71,1 +DA:72,0 +DA:73,1 +DA:74,1 +DA:75,1 +DA:76,1 +DA:77,1 +DA:78,1 +DA:79,2 +DA:80,2 +DA:81,2 +DA:82,2 +DA:83,2 +DA:84,2 +DA:85,2 +DA:86,2 +DA:87,2 +DA:88,2 +DA:89,2 +DA:90,2 +DA:91,2 +DA:92,2 +DA:93,2 +DA:94,2 +DA:95,0 +DA:96,2 +DA:97,1 +DA:98,1 +DA:99,1 +DA:100,1 +DA:101,1 +DA:102,1 +DA:103,1 +DA:104,2 +DA:105,2 +DA:106,2 +DA:107,2 +DA:108,2 +DA:109,2 +DA:110,2 +DA:111,2 +DA:112,2 +DA:113,2 +DA:114,2 +DA:115,2 +DA:116,2 +DA:117,2 +DA:118,2 +DA:119,0 +DA:120,2 +DA:121,1 +DA:122,1 +DA:123,1 +DA:124,1 +DA:125,1 +DA:126,1 +DA:127,17 +DA:128,17 +DA:129,17 +DA:130,17 +DA:131,17 +DA:132,17 +DA:133,17 +DA:134,17 +DA:135,17 +DA:136,6 +DA:137,3 +DA:138,3 +DA:139,17 +DA:140,17 +DA:141,17 +DA:142,17 +DA:143,17 +DA:144,17 +DA:145,17 +DA:146,16 +DA:147,17 +DA:148,1 +DA:149,1 +DA:150,17 +DA:151,17 +DA:152,17 +DA:153,3 +DA:154,3 +DA:155,3 +DA:156,3 +DA:157,3 +DA:158,3 +DA:159,3 +DA:160,3 +DA:161,3 +DA:162,3 +DA:163,14 +DA:164,17 +DA:165,1 +DA:166,0 +DA:167,0 +DA:168,0 +DA:169,0 +DA:170,1 +DA:171,1 +DA:172,1 +DA:173,1 +DA:174,1 +LF:174 +LH:167 +BRDA:23,0,0,23 +BRDA:34,1,0,16 +BRDA:36,2,0,7 +BRDA:36,3,0,9 +BRDA:44,4,0,3 +BRDA:47,5,0,13 +BRDA:51,6,0,7 +BRDA:58,7,0,21 +BRDA:59,8,0,17 +BRDA:69,9,0,4 +BRDA:78,10,0,2 +BRDA:93,11,0,0 +BRDA:94,12,0,0 +BRDA:79,13,0,2 +BRDA:80,14,0,0 +BRDA:103,15,0,2 +BRDA:117,16,0,0 +BRDA:118,17,0,0 +BRDA:104,18,0,2 +BRDA:105,19,0,0 +BRDA:126,20,0,17 +BRDA:150,21,0,16 +BRDA:152,22,0,3 +BRDA:162,23,0,14 +BRDA:135,24,0,6 +BRDA:136,25,0,3 +BRDA:143,26,0,17 +BRDA:144,27,0,16 +BRDA:144,28,0,1 +BRDA:145,29,0,16 +BRDA:147,30,0,1 +BRF:31 +BRH:25 +end_of_record +TN: +SF:src\components\timeline-elements\timeline-card\timeline-horizontal-card.styles.ts +FN:44,ShapeBorderStyle +FN:57,Object.defineProperty.enumerable +FN:58,Object.defineProperty.enumerable +FN:59,Object.defineProperty.enumerable +FN:76,Object.defineProperty.enumerable +FN:86,Object.defineProperty.enumerable +FN:90,Object.defineProperty.enumerable +FN:91,Object.defineProperty.enumerable +FN:137,Object.defineProperty.enumerable +FNF:9 +FNH:9 +FNDA:18,ShapeBorderStyle +FNDA:9,Object.defineProperty.enumerable +FNDA:9,Object.defineProperty.enumerable +FNDA:9,Object.defineProperty.enumerable +FNDA:9,Object.defineProperty.enumerable +FNDA:9,Object.defineProperty.enumerable +FNDA:9,Object.defineProperty.enumerable +FNDA:9,Object.defineProperty.enumerable +FNDA:6,Object.defineProperty.enumerable +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:19,1 +DA:20,1 +DA:21,1 +DA:22,1 +DA:23,1 +DA:24,1 +DA:25,1 +DA:26,1 +DA:27,1 +DA:28,1 +DA:29,1 +DA:30,1 +DA:31,1 +DA:32,1 +DA:33,1 +DA:34,1 +DA:35,1 +DA:36,1 +DA:37,1 +DA:38,1 +DA:39,1 +DA:40,1 +DA:41,1 +DA:42,1 +DA:43,1 +DA:44,1 +DA:45,18 +DA:46,18 +DA:47,18 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,18 +DA:53,1 +DA:54,1 +DA:55,1 +DA:56,1 +DA:57,1 +DA:58,1 +DA:59,1 +DA:60,1 +DA:61,1 +DA:62,1 +DA:63,1 +DA:64,1 +DA:65,1 +DA:66,1 +DA:67,1 +DA:68,1 +DA:69,1 +DA:70,1 +DA:71,1 +DA:72,1 +DA:73,1 +DA:74,1 +DA:75,1 +DA:76,1 +DA:77,1 +DA:78,1 +DA:79,1 +DA:80,1 +DA:81,1 +DA:82,1 +DA:83,1 +DA:84,1 +DA:85,1 +DA:86,1 +DA:87,1 +DA:88,1 +DA:89,1 +DA:90,1 +DA:91,1 +DA:92,1 +DA:93,1 +DA:94,1 +DA:95,1 +DA:96,1 +DA:97,1 +DA:98,1 +DA:99,1 +DA:100,1 +DA:101,1 +DA:102,1 +DA:103,1 +DA:104,1 +DA:105,1 +DA:106,1 +DA:107,1 +DA:108,1 +DA:109,1 +DA:110,1 +DA:111,1 +DA:112,1 +DA:113,1 +DA:114,1 +DA:115,1 +DA:116,1 +DA:117,1 +DA:118,1 +DA:119,1 +DA:120,1 +DA:121,1 +DA:122,1 +DA:123,1 +DA:124,1 +DA:125,1 +DA:126,1 +DA:127,1 +DA:128,1 +DA:129,1 +DA:130,1 +DA:131,1 +DA:132,1 +DA:133,1 +DA:134,1 +DA:135,1 +DA:136,1 +DA:137,1 +DA:138,1 +DA:139,1 +DA:140,1 +DA:141,1 +DA:142,1 +DA:143,1 +DA:144,1 +DA:145,1 +DA:146,1 +DA:147,1 +DA:148,1 +DA:149,1 +DA:150,1 +LF:150 +LH:146 +BRDA:44,0,0,18 +BRDA:47,1,0,0 +BRDA:57,2,0,9 +BRDA:58,3,0,9 +BRDA:59,4,0,9 +BRDA:60,5,0,0 +BRDA:67,6,0,9 +BRDA:68,7,0,0 +BRDA:75,8,0,9 +BRDA:75,9,0,0 +BRDA:76,10,0,9 +BRDA:76,11,0,0 +BRDA:86,12,0,9 +BRDA:89,13,0,9 +BRDA:90,14,0,9 +BRDA:90,15,0,0 +BRDA:91,16,0,9 +BRDA:99,17,0,9 +BRDA:137,18,0,6 +BRDA:137,19,0,0 +BRDA:137,20,0,0 +BRDA:142,21,0,6 +BRF:22 +BRH:14 +end_of_record +TN: +SF:src\components\timeline-elements\timeline-card\timeline-horizontal-card.tsx +FN:22,TimelineCard +FN:61,handleClick +FN:148,showTimelineContent +FNF:3 +FNH:2 +FNDA:6,TimelineCard +FNDA:0,handleClick +FNDA:6,showTimelineContent +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:19,1 +DA:20,1 +DA:21,1 +DA:22,1 +DA:23,6 +DA:24,6 +DA:25,6 +DA:26,6 +DA:27,6 +DA:28,6 +DA:29,6 +DA:30,6 +DA:31,6 +DA:32,6 +DA:33,6 +DA:34,6 +DA:35,6 +DA:36,6 +DA:37,6 +DA:38,6 +DA:39,6 +DA:40,6 +DA:41,6 +DA:42,6 +DA:43,6 +DA:44,6 +DA:45,6 +DA:46,6 +DA:47,6 +DA:48,6 +DA:49,6 +DA:50,6 +DA:51,6 +DA:52,6 +DA:53,6 +DA:54,6 +DA:55,6 +DA:56,6 +DA:57,6 +DA:58,6 +DA:59,6 +DA:60,6 +DA:61,6 +DA:62,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:66,6 +DA:67,6 +DA:68,6 +DA:69,6 +DA:70,6 +DA:71,6 +DA:72,6 +DA:73,6 +DA:74,6 +DA:75,6 +DA:76,6 +DA:77,0 +DA:78,0 +DA:79,0 +DA:80,6 +DA:81,6 +DA:82,6 +DA:83,6 +DA:84,6 +DA:85,6 +DA:86,6 +DA:87,6 +DA:88,6 +DA:89,6 +DA:90,6 +DA:91,6 +DA:92,6 +DA:93,6 +DA:94,6 +DA:95,6 +DA:96,6 +DA:97,6 +DA:98,6 +DA:99,6 +DA:100,6 +DA:101,6 +DA:102,6 +DA:103,6 +DA:104,6 +DA:105,6 +DA:106,6 +DA:107,6 +DA:108,6 +DA:109,6 +DA:110,6 +DA:111,6 +DA:112,6 +DA:113,6 +DA:114,6 +DA:115,6 +DA:116,6 +DA:117,6 +DA:118,6 +DA:119,6 +DA:120,6 +DA:121,6 +DA:122,6 +DA:123,6 +DA:124,6 +DA:125,6 +DA:126,6 +DA:127,6 +DA:128,6 +DA:129,6 +DA:130,6 +DA:131,6 +DA:132,6 +DA:133,6 +DA:134,6 +DA:135,6 +DA:136,6 +DA:137,6 +DA:138,6 +DA:139,6 +DA:140,6 +DA:141,6 +DA:142,6 +DA:143,6 +DA:144,6 +DA:145,6 +DA:146,6 +DA:147,6 +DA:148,6 +DA:149,6 +DA:150,6 +DA:151,6 +DA:152,6 +DA:153,6 +DA:154,6 +DA:155,6 +DA:156,6 +DA:157,6 +DA:158,6 +DA:159,6 +DA:160,6 +DA:161,6 +DA:162,6 +DA:163,6 +DA:164,6 +DA:165,6 +DA:166,6 +DA:167,6 +DA:168,6 +DA:169,6 +DA:170,6 +DA:171,6 +DA:172,6 +DA:173,6 +DA:174,6 +DA:175,6 +DA:176,6 +DA:177,6 +DA:178,6 +DA:179,6 +DA:180,6 +DA:181,6 +DA:182,6 +DA:183,6 +DA:184,6 +DA:185,6 +DA:186,6 +DA:187,6 +DA:188,6 +DA:189,6 +DA:190,6 +DA:191,6 +DA:192,6 +DA:193,6 +DA:194,1 +DA:195,1 +LF:195 +LH:188 +BRDA:22,0,0,6 +BRDA:176,1,0,0 +BRDA:67,2,0,6 +BRDA:76,3,0,0 +BRDA:86,4,0,6 +BRDA:89,5,0,6 +BRDA:93,6,0,0 +BRDA:94,7,0,0 +BRDA:99,8,0,6 +BRDA:102,9,0,6 +BRDA:107,10,0,0 +BRDA:112,11,0,6 +BRDA:148,12,0,6 +BRDA:157,13,0,6 +BRDA:157,14,0,0 +BRF:15 +BRH:9 +end_of_record +TN: +SF:src\components\timeline-elements\timeline-card-content\card-animations.styles.ts +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:19,1 +DA:20,1 +DA:21,1 +DA:22,1 +DA:23,1 +DA:24,1 +DA:25,1 +DA:26,1 +DA:27,1 +DA:28,1 +DA:29,1 +DA:30,1 +DA:31,1 +DA:32,1 +DA:33,1 +DA:34,1 +DA:35,1 +DA:36,1 +DA:37,1 +DA:38,1 +DA:39,1 +DA:40,1 +DA:41,1 +DA:42,1 +DA:43,1 +DA:44,1 +DA:45,1 +LF:45 +LH:45 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src\components\timeline-elements\timeline-card-content\content-footer.tsx +FN:37,ContentFooter +FN:63,handleClick +FN:79,onKeyUp +FNF:3 +FNH:2 +FNDA:13,ContentFooter +FNDA:1,handleClick +FNDA:0,onKeyUp +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:19,1 +DA:20,1 +DA:21,1 +DA:22,1 +DA:23,1 +DA:24,1 +DA:25,1 +DA:26,1 +DA:27,1 +DA:28,1 +DA:29,1 +DA:30,1 +DA:31,1 +DA:32,1 +DA:33,1 +DA:34,1 +DA:35,1 +DA:36,1 +DA:37,1 +DA:38,13 +DA:39,13 +DA:40,13 +DA:41,13 +DA:42,13 +DA:43,13 +DA:44,13 +DA:45,13 +DA:46,13 +DA:47,13 +DA:48,13 +DA:49,13 +DA:50,13 +DA:51,13 +DA:52,13 +DA:53,13 +DA:54,13 +DA:55,13 +DA:56,13 +DA:57,13 +DA:58,13 +DA:59,13 +DA:60,13 +DA:61,13 +DA:62,13 +DA:63,13 +DA:64,1 +DA:65,1 +DA:66,1 +DA:67,1 +DA:68,13 +DA:69,13 +DA:70,13 +DA:71,13 +DA:72,13 +DA:73,13 +DA:74,13 +DA:75,13 +DA:76,3 +DA:77,3 +DA:78,3 +DA:79,3 +DA:80,0 +DA:81,0 +DA:82,0 +DA:83,0 +DA:84,3 +DA:85,3 +DA:86,3 +DA:87,3 +DA:88,3 +DA:89,3 +DA:90,3 +DA:91,3 +DA:92,3 +DA:93,10 +DA:94,13 +DA:95,13 +DA:96,2 +DA:97,2 +DA:98,2 +DA:99,2 +DA:100,2 +DA:101,2 +DA:102,2 +DA:103,2 +DA:104,2 +DA:105,13 +DA:106,13 +DA:107,13 +DA:108,13 +DA:109,13 +DA:110,13 +DA:111,13 +DA:112,13 +DA:113,13 +DA:114,13 +DA:115,13 +DA:116,13 +DA:117,1 +DA:118,1 +LF:118 +LH:114 +BRDA:37,0,0,13 +BRDA:75,1,0,3 +BRDA:84,2,0,0 +BRDA:88,3,0,1 +BRDA:88,4,0,2 +BRDA:89,5,0,1 +BRDA:89,6,0,2 +BRDA:92,7,0,10 +BRDA:95,8,0,2 +BRDA:54,9,0,13 +BRDA:58,10,0,26 +BRDA:63,11,0,1 +BRDA:69,12,0,13 +BRDA:70,13,0,9 +BRF:14 +BRH:13 +end_of_record +TN: +SF:src\components\timeline-elements\timeline-card-content\content-header.tsx +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:19,1 +DA:20,1 +DA:21,9 +DA:22,9 +DA:23,9 +DA:24,9 +DA:25,9 +DA:26,9 +DA:27,9 +DA:28,3 +DA:29,3 +DA:30,3 +DA:31,3 +DA:32,3 +DA:33,3 +DA:34,3 +DA:35,9 +DA:36,9 +DA:37,9 +DA:38,3 +DA:39,3 +DA:40,3 +DA:41,3 +DA:42,3 +DA:43,3 +DA:44,9 +DA:45,9 +DA:46,9 +DA:47,9 +DA:48,1 +DA:49,1 +DA:50,1 +DA:51,1 +DA:52,1 +DA:53,1 +LF:53 +LH:53 +BRDA:20,0,0,9 +BRDA:27,1,0,3 +BRDA:37,2,0,3 +BRF:3 +BRH:3 +end_of_record +TN: +SF:src\components\timeline-elements\timeline-card-content\details-text.tsx +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:19,1 +DA:20,1 +DA:21,8 +DA:22,8 +DA:23,8 +DA:24,8 +DA:25,8 +DA:26,8 +DA:27,8 +DA:28,8 +DA:29,8 +DA:30,8 +DA:31,8 +DA:32,8 +DA:33,8 +DA:34,8 +DA:35,8 +DA:36,8 +DA:37,8 +DA:38,8 +DA:39,8 +DA:40,8 +DA:41,8 +DA:42,8 +DA:43,8 +DA:44,8 +DA:45,8 +DA:46,8 +DA:47,8 +DA:48,8 +DA:49,8 +DA:50,8 +DA:51,8 +DA:52,8 +DA:53,8 +DA:54,8 +DA:55,8 +DA:56,8 +DA:57,8 +DA:58,8 +DA:59,8 +DA:60,8 +DA:61,8 +DA:62,8 +DA:63,8 +DA:64,8 +DA:65,8 +DA:66,0 +DA:67,8 +DA:68,8 +DA:69,8 +DA:70,8 +DA:71,8 +DA:72,8 +DA:73,8 +DA:74,8 +DA:75,8 +DA:76,1 +DA:77,1 +DA:78,1 +DA:79,1 +DA:80,1 +LF:80 +LH:79 +BRDA:20,0,0,8 +BRDA:59,1,0,0 +BRDA:65,2,0,0 +BRF:3 +BRH:1 +end_of_record +TN: +SF:src\components\timeline-elements\timeline-card-content\text-or-content.tsx +FN:18,getTextOrContent +FNF:1 +FNH:1 +FNDA:16,getTextOrContent +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:19,16 +DA:20,16 +DA:21,16 +DA:22,16 +DA:23,16 +DA:24,16 +DA:25,16 +DA:26,8 +DA:27,8 +DA:28,8 +DA:29,8 +DA:30,8 +DA:31,8 +DA:32,0 +DA:33,8 +DA:34,8 +DA:35,8 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:46,8 +DA:47,8 +DA:48,8 +DA:49,8 +DA:50,8 +DA:51,6 +DA:52,6 +DA:53,6 +DA:54,6 +DA:55,6 +DA:56,6 +DA:57,6 +DA:58,2 +DA:59,8 +DA:60,8 +DA:61,16 +DA:62,16 +DA:63,16 +DA:64,16 +DA:65,16 +DA:66,16 +DA:67,1 +DA:68,1 +LF:68 +LH:57 +BRDA:18,0,0,16 +BRDA:25,1,0,8 +BRDA:31,2,0,0 +BRDA:35,3,0,0 +BRDA:50,4,0,6 +BRDA:52,5,0,0 +BRDA:57,6,0,2 +BRF:7 +BRH:4 +end_of_record +TN: +SF:src\components\timeline-elements\timeline-card-content\timeline-card-content.styles.ts +FN:33,__vite_ssr_import_0__.default.section.borderLessCards.borderLessCards +FN:37,Object.defineProperty.enumerable +FN:44,Object.defineProperty.enumerable +FN:45,Object.defineProperty.enumerable +FN:46,Object.defineProperty.enumerable +FN:52,Object.defineProperty.enumerable +FN:60,Object.defineProperty.enumerable +FN:63,Object.defineProperty.enumerable +FN:66,Object.defineProperty.enumerable +FN:122,Object.defineProperty.enumerable +FN:123,Object.defineProperty.enumerable +FN:137,Object.defineProperty.enumerable +FN:138,Object.defineProperty.enumerable +FN:143,Object.defineProperty.enumerable +FN:170,Object.defineProperty.enumerable +FN:194,__vite_ssr_import_0__.default.div.$cardHeight.$cardHeight +FN:198,__vite_ssr_import_0__.default.div.height.height +FN:210,__vite_ssr_import_0__.default.div.height.height +FN:213,__vite_ssr_import_0__.default.div.height.height +FN:217,Object.defineProperty.enumerable +FN:245,Object.defineProperty.enumerable +FN:246,Object.defineProperty.enumerable +FN:270,Object.defineProperty.enumerable +FN:287,slideAnimation +FN:303,Object.defineProperty.enumerable +FN:376,Object.defineProperty.enumerable +FNF:26 +FNH:25 +FNDA:8,__vite_ssr_import_0__.default.section.borderLessCards.borderLessCards +FNDA:8,Object.defineProperty.enumerable +FNDA:8,Object.defineProperty.enumerable +FNDA:8,Object.defineProperty.enumerable +FNDA:8,Object.defineProperty.enumerable +FNDA:8,Object.defineProperty.enumerable +FNDA:8,Object.defineProperty.enumerable +FNDA:8,Object.defineProperty.enumerable +FNDA:8,Object.defineProperty.enumerable +FNDA:17,Object.defineProperty.enumerable +FNDA:17,Object.defineProperty.enumerable +FNDA:16,Object.defineProperty.enumerable +FNDA:16,Object.defineProperty.enumerable +FNDA:16,Object.defineProperty.enumerable +FNDA:0,Object.defineProperty.enumerable +FNDA:8,__vite_ssr_import_0__.default.div.$cardHeight.$cardHeight +FNDA:8,__vite_ssr_import_0__.default.div.height.height +FNDA:8,__vite_ssr_import_0__.default.div.height.height +FNDA:8,__vite_ssr_import_0__.default.div.height.height +FNDA:8,Object.defineProperty.enumerable +FNDA:8,Object.defineProperty.enumerable +FNDA:8,Object.defineProperty.enumerable +FNDA:3,Object.defineProperty.enumerable +FNDA:1,slideAnimation +FNDA:2,Object.defineProperty.enumerable +FNDA:15,Object.defineProperty.enumerable +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:19,1 +DA:20,1 +DA:21,1 +DA:22,1 +DA:23,1 +DA:24,1 +DA:25,1 +DA:26,1 +DA:27,1 +DA:28,1 +DA:29,1 +DA:30,1 +DA:31,1 +DA:32,1 +DA:33,1 +DA:34,1 +DA:35,1 +DA:36,1 +DA:37,1 +DA:38,8 +DA:39,8 +DA:40,1 +DA:41,1 +DA:42,1 +DA:43,1 +DA:44,1 +DA:45,1 +DA:46,1 +DA:47,1 +DA:48,1 +DA:49,1 +DA:50,1 +DA:51,1 +DA:52,1 +DA:53,8 +DA:54,0 +DA:55,0 +DA:56,8 +DA:57,8 +DA:58,1 +DA:59,1 +DA:60,1 +DA:61,1 +DA:62,1 +DA:63,1 +DA:64,1 +DA:65,1 +DA:66,1 +DA:67,8 +DA:68,0 +DA:69,0 +DA:70,0 +DA:71,0 +DA:72,0 +DA:73,0 +DA:74,0 +DA:75,0 +DA:76,0 +DA:77,0 +DA:78,0 +DA:79,0 +DA:80,0 +DA:81,0 +DA:82,0 +DA:83,0 +DA:84,0 +DA:85,0 +DA:86,0 +DA:87,0 +DA:88,0 +DA:89,0 +DA:90,0 +DA:91,0 +DA:92,8 +DA:93,1 +DA:94,1 +DA:95,8 +DA:96,0 +DA:97,0 +DA:98,0 +DA:99,0 +DA:100,0 +DA:101,0 +DA:102,8 +DA:103,8 +DA:104,0 +DA:105,0 +DA:106,0 +DA:107,0 +DA:108,8 +DA:109,1 +DA:110,1 +DA:111,1 +DA:112,1 +DA:113,1 +DA:114,1 +DA:115,1 +DA:116,1 +DA:117,1 +DA:118,1 +DA:119,1 +DA:120,1 +DA:121,1 +DA:122,1 +DA:123,1 +DA:124,1 +DA:125,1 +DA:126,1 +DA:127,1 +DA:128,1 +DA:129,1 +DA:130,1 +DA:131,1 +DA:132,1 +DA:133,1 +DA:134,1 +DA:135,1 +DA:136,1 +DA:137,1 +DA:138,1 +DA:139,1 +DA:140,1 +DA:141,1 +DA:142,1 +DA:143,1 +DA:144,1 +DA:145,1 +DA:146,1 +DA:147,1 +DA:148,1 +DA:149,1 +DA:150,1 +DA:151,1 +DA:152,1 +DA:153,1 +DA:154,1 +DA:155,1 +DA:156,1 +DA:157,1 +DA:158,1 +DA:159,1 +DA:160,1 +DA:161,1 +DA:162,1 +DA:163,1 +DA:164,1 +DA:165,1 +DA:166,1 +DA:167,1 +DA:168,1 +DA:169,1 +DA:170,1 +DA:171,1 +DA:172,1 +DA:173,1 +DA:174,1 +DA:175,1 +DA:176,1 +DA:177,1 +DA:178,1 +DA:179,1 +DA:180,1 +DA:181,1 +DA:182,1 +DA:183,1 +DA:184,1 +DA:185,1 +DA:186,1 +DA:187,1 +DA:188,1 +DA:189,1 +DA:190,1 +DA:191,1 +DA:192,1 +DA:193,1 +DA:194,1 +DA:195,8 +DA:196,8 +DA:197,1 +DA:198,1 +DA:199,8 +DA:200,8 +DA:201,8 +DA:202,8 +DA:203,8 +DA:204,8 +DA:205,8 +DA:206,0 +DA:207,1 +DA:208,1 +DA:209,1 +DA:210,1 +DA:211,1 +DA:212,1 +DA:213,1 +DA:214,1 +DA:215,1 +DA:216,1 +DA:217,1 +DA:218,8 +DA:219,8 +DA:220,8 +DA:221,8 +DA:222,8 +DA:223,8 +DA:224,8 +DA:225,0 +DA:226,0 +DA:227,0 +DA:228,0 +DA:229,0 +DA:230,0 +DA:231,0 +DA:232,0 +DA:233,0 +DA:234,8 +DA:235,1 +DA:236,1 +DA:237,1 +DA:238,1 +DA:239,1 +DA:240,1 +DA:241,1 +DA:242,1 +DA:243,1 +DA:244,1 +DA:245,1 +DA:246,1 +DA:247,1 +DA:248,1 +DA:249,1 +DA:250,1 +DA:251,1 +DA:252,1 +DA:253,1 +DA:254,1 +DA:255,1 +DA:256,1 +DA:257,1 +DA:258,1 +DA:259,1 +DA:260,1 +DA:261,1 +DA:262,1 +DA:263,1 +DA:264,1 +DA:265,1 +DA:266,1 +DA:267,1 +DA:268,1 +DA:269,1 +DA:270,1 +DA:271,1 +DA:272,1 +DA:273,1 +DA:274,1 +DA:275,1 +DA:276,1 +DA:277,1 +DA:278,1 +DA:279,1 +DA:280,1 +DA:281,1 +DA:282,1 +DA:283,1 +DA:284,1 +DA:285,1 +DA:286,1 +DA:287,1 +DA:288,1 +DA:289,1 +DA:290,1 +DA:291,1 +DA:292,1 +DA:293,1 +DA:294,1 +DA:295,1 +DA:296,1 +DA:297,1 +DA:298,1 +DA:299,1 +DA:300,1 +DA:301,1 +DA:302,1 +DA:303,1 +DA:304,1 +DA:305,1 +DA:306,1 +DA:307,1 +DA:308,1 +DA:309,1 +DA:310,1 +DA:311,1 +DA:312,1 +DA:313,2 +DA:314,1 +DA:315,1 +DA:316,1 +DA:317,1 +DA:318,1 +DA:319,2 +DA:320,1 +DA:321,1 +DA:322,2 +DA:323,1 +DA:324,1 +DA:325,1 +DA:326,1 +DA:327,1 +DA:328,1 +DA:329,1 +DA:330,1 +DA:331,1 +DA:332,1 +DA:333,2 +DA:334,1 +DA:335,1 +DA:336,1 +DA:337,1 +DA:338,1 +DA:339,1 +DA:340,1 +DA:341,1 +DA:342,1 +DA:343,1 +DA:344,1 +DA:345,1 +DA:346,1 +DA:347,1 +DA:348,1 +DA:349,1 +DA:350,1 +DA:351,1 +DA:352,3 +DA:353,2 +DA:354,1 +DA:355,1 +DA:356,1 +DA:357,1 +DA:358,1 +DA:359,1 +DA:360,1 +DA:361,1 +DA:362,1 +DA:363,1 +DA:364,1 +DA:365,1 +DA:366,1 +DA:367,1 +DA:368,1 +DA:369,1 +DA:370,1 +DA:371,1 +DA:372,1 +DA:373,1 +DA:374,1 +DA:375,1 +DA:376,1 +DA:377,1 +DA:378,1 +DA:379,1 +DA:380,1 +DA:381,1 +DA:382,1 +DA:383,1 +DA:384,1 +DA:385,1 +DA:386,1 +DA:387,1 +DA:388,1 +LF:388 +LH:342 +BRDA:33,0,0,8 +BRDA:37,1,0,8 +BRDA:39,2,0,0 +BRDA:44,3,0,8 +BRDA:44,4,0,0 +BRDA:45,5,0,8 +BRDA:46,6,0,8 +BRDA:52,7,0,8 +BRDA:53,8,0,0 +BRDA:60,9,0,8 +BRDA:60,10,0,0 +BRDA:63,11,0,8 +BRDA:66,12,0,8 +BRDA:67,13,0,0 +BRDA:67,14,0,0 +BRDA:94,15,0,8 +BRDA:95,16,0,0 +BRDA:95,17,0,0 +BRDA:103,18,0,0 +BRDA:103,19,0,0 +BRDA:122,20,0,17 +BRDA:123,21,0,17 +BRDA:128,22,0,17 +BRDA:128,23,0,13 +BRDA:128,24,0,4 +BRDA:137,25,0,16 +BRDA:138,26,0,16 +BRDA:143,27,0,16 +BRDA:143,28,0,2 +BRDA:143,29,0,14 +BRDA:144,30,0,16 +BRDA:161,31,0,6 +BRDA:194,32,0,8 +BRDA:196,33,0,0 +BRDA:198,34,0,8 +BRDA:205,35,0,0 +BRDA:205,36,0,0 +BRDA:210,37,0,8 +BRDA:213,38,0,8 +BRDA:214,39,0,0 +BRDA:217,40,0,8 +BRDA:224,41,0,0 +BRDA:224,42,0,0 +BRDA:224,43,0,0 +BRDA:245,44,0,8 +BRDA:246,45,0,8 +BRDA:258,46,0,8 +BRDA:270,47,0,3 +BRDA:270,48,0,0 +BRDA:278,49,0,3 +BRDA:287,50,0,1 +BRDA:303,51,0,2 +BRDA:312,52,0,2 +BRDA:313,53,0,1 +BRDA:321,54,0,2 +BRDA:322,55,0,1 +BRDA:322,56,0,1 +BRDA:322,57,0,1 +BRDA:351,58,0,3 +BRDA:352,59,0,2 +BRDA:353,60,0,1 +BRDA:376,61,0,15 +BRDA:386,62,0,15 +BRDA:387,63,0,0 +BRF:64 +BRH:45 +end_of_record +TN: +SF:src\components\timeline-elements\timeline-card-content\timeline-card-content.tsx +FN:337,onPointerDown +FNF:1 +FNH:0 +FNDA:0,onPointerDown +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:19,1 +DA:20,1 +DA:21,1 +DA:22,1 +DA:23,1 +DA:24,1 +DA:25,20 +DA:26,20 +DA:27,20 +DA:28,20 +DA:29,20 +DA:30,20 +DA:31,20 +DA:32,20 +DA:33,20 +DA:34,20 +DA:35,20 +DA:36,20 +DA:37,20 +DA:38,20 +DA:39,20 +DA:40,20 +DA:41,20 +DA:42,20 +DA:43,20 +DA:44,20 +DA:45,20 +DA:46,20 +DA:47,20 +DA:48,20 +DA:49,20 +DA:50,20 +DA:51,20 +DA:52,20 +DA:53,20 +DA:54,20 +DA:55,20 +DA:56,20 +DA:57,20 +DA:58,20 +DA:59,20 +DA:60,20 +DA:61,20 +DA:62,20 +DA:63,20 +DA:64,20 +DA:65,20 +DA:66,20 +DA:67,20 +DA:68,20 +DA:69,20 +DA:70,20 +DA:71,20 +DA:72,20 +DA:73,20 +DA:74,20 +DA:75,20 +DA:76,20 +DA:77,20 +DA:78,20 +DA:79,20 +DA:80,20 +DA:81,20 +DA:82,20 +DA:83,20 +DA:84,20 +DA:85,8 +DA:86,20 +DA:87,20 +DA:88,20 +DA:89,20 +DA:90,20 +DA:91,20 +DA:92,8 +DA:93,20 +DA:94,20 +DA:95,20 +DA:96,8 +DA:97,8 +DA:98,8 +DA:99,8 +DA:100,8 +DA:101,20 +DA:102,20 +DA:103,20 +DA:104,8 +DA:105,6 +DA:106,6 +DA:107,20 +DA:108,20 +DA:109,20 +DA:110,20 +DA:111,16 +DA:112,8 +DA:113,8 +DA:114,8 +DA:115,16 +DA:116,0 +DA:117,0 +DA:118,8 +DA:119,8 +DA:120,8 +DA:121,8 +DA:122,8 +DA:123,8 +DA:124,16 +DA:125,20 +DA:126,20 +DA:127,20 +DA:128,20 +DA:129,0 +DA:130,0 +DA:131,0 +DA:132,0 +DA:133,0 +DA:134,0 +DA:135,0 +DA:136,0 +DA:137,0 +DA:138,0 +DA:139,0 +DA:140,0 +DA:141,0 +DA:142,0 +DA:143,0 +DA:144,0 +DA:145,0 +DA:146,0 +DA:147,20 +DA:148,20 +DA:149,20 +DA:150,8 +DA:151,0 +DA:152,0 +DA:153,20 +DA:154,20 +DA:155,20 +DA:156,20 +DA:157,0 +DA:158,0 +DA:159,0 +DA:160,0 +DA:161,0 +DA:162,0 +DA:163,0 +DA:164,0 +DA:165,0 +DA:166,0 +DA:167,0 +DA:168,0 +DA:169,0 +DA:170,20 +DA:171,20 +DA:172,20 +DA:173,20 +DA:174,0 +DA:175,0 +DA:176,0 +DA:177,0 +DA:178,0 +DA:179,0 +DA:180,0 +DA:181,0 +DA:182,0 +DA:183,0 +DA:184,0 +DA:185,0 +DA:186,0 +DA:187,20 +DA:188,20 +DA:189,20 +DA:190,8 +DA:191,0 +DA:192,0 +DA:193,8 +DA:194,8 +DA:195,0 +DA:196,0 +DA:197,0 +DA:198,8 +DA:199,8 +DA:200,8 +DA:201,0 +DA:202,0 +DA:203,8 +DA:204,8 +DA:205,8 +DA:206,8 +DA:207,20 +DA:208,20 +DA:209,20 +DA:210,8 +DA:211,0 +DA:212,0 +DA:213,20 +DA:214,20 +DA:215,20 +DA:216,8 +DA:217,0 +DA:218,0 +DA:219,20 +DA:220,20 +DA:221,20 +DA:222,8 +DA:223,20 +DA:224,20 +DA:225,20 +DA:226,20 +DA:227,20 +DA:228,20 +DA:229,8 +DA:230,20 +DA:231,20 +DA:232,20 +DA:233,20 +DA:234,20 +DA:235,20 +DA:236,20 +DA:237,20 +DA:238,0 +DA:239,0 +DA:240,0 +DA:241,0 +DA:242,0 +DA:243,0 +DA:244,0 +DA:245,0 +DA:246,0 +DA:247,0 +DA:248,0 +DA:249,20 +DA:250,20 +DA:251,20 +DA:252,20 +DA:253,20 +DA:254,8 +DA:255,8 +DA:256,8 +DA:257,8 +DA:258,20 +DA:259,20 +DA:260,20 +DA:261,20 +DA:262,20 +DA:263,8 +DA:264,8 +DA:265,8 +DA:266,0 +DA:267,8 +DA:268,8 +DA:269,20 +DA:270,20 +DA:271,20 +DA:272,20 +DA:273,20 +DA:274,20 +DA:275,20 +DA:276,20 +DA:277,20 +DA:278,20 +DA:279,8 +DA:280,0 +DA:281,8 +DA:282,8 +DA:283,8 +DA:284,0 +DA:285,0 +DA:286,20 +DA:287,20 +DA:288,20 +DA:289,0 +DA:290,0 +DA:291,0 +DA:292,0 +DA:293,20 +DA:294,20 +DA:295,20 +DA:296,8 +DA:297,0 +DA:298,0 +DA:299,0 +DA:300,0 +DA:301,0 +DA:302,0 +DA:303,8 +DA:304,20 +DA:305,20 +DA:306,20 +DA:307,20 +DA:308,20 +DA:309,20 +DA:310,20 +DA:311,20 +DA:312,8 +DA:313,8 +DA:314,0 +DA:315,8 +DA:316,0 +DA:317,8 +DA:318,20 +DA:319,20 +DA:320,20 +DA:321,20 +DA:322,8 +DA:323,20 +DA:324,20 +DA:325,20 +DA:326,8 +DA:327,8 +DA:328,8 +DA:329,8 +DA:330,8 +DA:331,8 +DA:332,20 +DA:333,20 +DA:334,20 +DA:335,8 +DA:336,8 +DA:337,8 +DA:338,0 +DA:339,0 +DA:340,0 +DA:341,0 +DA:342,0 +DA:343,0 +DA:344,0 +DA:345,0 +DA:346,0 +DA:347,0 +DA:348,8 +DA:349,8 +DA:350,8 +DA:351,8 +DA:352,20 +DA:353,20 +DA:354,20 +DA:355,20 +DA:356,20 +DA:357,20 +DA:358,20 +DA:359,20 +DA:360,20 +DA:361,20 +DA:362,20 +DA:363,20 +DA:364,20 +DA:365,20 +DA:366,20 +DA:367,20 +DA:368,20 +DA:369,20 +DA:370,20 +DA:371,20 +DA:372,20 +DA:373,20 +DA:374,18 +DA:375,18 +DA:376,18 +DA:377,18 +DA:378,18 +DA:379,18 +DA:380,18 +DA:381,2 +DA:382,20 +DA:383,20 +DA:384,20 +DA:385,20 +DA:386,20 +DA:387,20 +DA:388,20 +DA:389,20 +DA:390,20 +DA:391,20 +DA:392,20 +DA:393,20 +DA:394,20 +DA:395,20 +DA:396,20 +DA:397,20 +DA:398,20 +DA:399,20 +DA:400,20 +DA:401,20 +DA:402,20 +DA:403,20 +DA:404,20 +DA:405,20 +DA:406,20 +DA:407,20 +DA:408,20 +DA:409,20 +DA:410,20 +DA:411,20 +DA:412,20 +DA:413,20 +DA:414,20 +DA:415,20 +DA:416,20 +DA:417,20 +DA:418,20 +DA:419,20 +DA:420,0 +DA:421,0 +DA:422,0 +DA:423,0 +DA:424,0 +DA:425,0 +DA:426,0 +DA:427,0 +DA:428,0 +DA:429,20 +DA:430,20 +DA:431,20 +DA:432,20 +DA:433,20 +DA:434,20 +DA:435,20 +DA:436,20 +DA:437,20 +DA:438,20 +DA:439,20 +DA:440,20 +DA:441,20 +DA:442,20 +DA:443,20 +DA:444,20 +DA:445,20 +DA:446,20 +DA:447,20 +DA:448,20 +DA:449,20 +DA:450,20 +DA:451,20 +DA:452,1 +DA:453,1 +DA:454,1 +DA:455,1 +DA:456,1 +LF:456 +LH:351 +BRDA:24,0,0,20 +BRDA:323,1,0,0 +BRDA:363,2,0,0 +BRDA:373,3,0,18 +BRDA:373,4,0,18 +BRDA:380,5,0,2 +BRDA:419,6,0,0 +BRDA:431,7,0,0 +BRDA:84,8,0,8 +BRDA:85,9,0,6 +BRDA:85,10,0,0 +BRDA:91,11,0,8 +BRDA:95,12,0,8 +BRDA:103,13,0,8 +BRDA:104,14,0,6 +BRDA:110,15,0,16 +BRDA:111,16,0,8 +BRDA:115,17,0,0 +BRDA:117,18,0,8 +BRDA:149,19,0,8 +BRDA:150,20,0,0 +BRDA:150,21,0,0 +BRDA:189,22,0,8 +BRDA:190,23,0,0 +BRDA:194,24,0,6 +BRDA:194,25,0,0 +BRDA:200,26,0,6 +BRDA:200,27,0,0 +BRDA:209,28,0,8 +BRDA:210,29,0,0 +BRDA:210,30,0,0 +BRDA:215,31,0,8 +BRDA:216,32,0,0 +BRDA:221,33,0,8 +BRDA:228,34,0,8 +BRDA:229,35,0,6 +BRDA:253,36,0,8 +BRDA:255,37,0,6 +BRDA:255,38,0,2 +BRDA:262,39,0,8 +BRDA:265,40,0,0 +BRDA:278,41,0,8 +BRDA:279,42,0,0 +BRDA:279,43,0,0 +BRDA:283,44,0,0 +BRDA:295,45,0,8 +BRDA:296,46,0,0 +BRDA:311,47,0,8 +BRDA:313,48,0,0 +BRDA:315,49,0,0 +BRDA:321,50,0,8 +BRDA:322,51,0,0 +BRDA:325,52,0,8 +BRDA:334,53,0,8 +BRF:54 +BRH:32 +end_of_record +TN: +SF:src\components\timeline-elements\timeline-card-media\timeline-card-media-buttons.tsx +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:19,1 +DA:20,1 +DA:21,1 +DA:22,1 +DA:23,1 +DA:24,1 +DA:25,1 +DA:26,1 +DA:27,1 +DA:28,1 +DA:29,1 +DA:30,1 +DA:31,1 +DA:32,1 +DA:33,1 +DA:34,1 +DA:35,1 +DA:36,1 +DA:37,1 +DA:38,1 +DA:39,1 +DA:40,1 +DA:41,1 +DA:42,1 +DA:43,1 +DA:44,1 +DA:45,1 +DA:46,1 +DA:47,1 +DA:48,1 +LF:48 +LH:48 +BRDA:17,0,0,4 +BRF:1 +BRH:1 +end_of_record +TN: +SF:src\components\timeline-elements\timeline-card-media\timeline-card-media.styles.ts +FN:34,Object.defineProperty.enumerable +FN:37,Object.defineProperty.enumerable +FN:39,Object.defineProperty.enumerable +FN:41,Object.defineProperty.enumerable +FN:44,Object.defineProperty.enumerable +FN:77,Object.defineProperty.enumerable +FN:79,Object.defineProperty.enumerable +FN:105,__vite_ssr_import_0__.default.div.$borderLessCard.$borderLessCard +FN:117,__vite_ssr_import_0__.default.div.$borderLessCard.$borderLessCard +FN:142,__vite_ssr_import_0__.default.div.$borderLessCard.$borderLessCard +FN:143,__vite_ssr_import_0__.default.div.$borderLessCard.$borderLessCard +FN:159,Object.defineProperty.enumerable +FN:163,Object.defineProperty.enumerable +FN:192,Object.defineProperty.enumerable +FN:193,Object.defineProperty.enumerable +FN:203,Object.defineProperty.enumerable +FN:215,Object.defineProperty.enumerable +FNF:17 +FNH:17 +FNDA:16,Object.defineProperty.enumerable +FNDA:16,Object.defineProperty.enumerable +FNDA:16,Object.defineProperty.enumerable +FNDA:16,Object.defineProperty.enumerable +FNDA:16,Object.defineProperty.enumerable +FNDA:14,Object.defineProperty.enumerable +FNDA:14,Object.defineProperty.enumerable +FNDA:16,__vite_ssr_import_0__.default.div.$borderLessCard.$borderLessCard +FNDA:16,__vite_ssr_import_0__.default.div.$borderLessCard.$borderLessCard +FNDA:16,__vite_ssr_import_0__.default.div.$borderLessCard.$borderLessCard +FNDA:16,__vite_ssr_import_0__.default.div.$borderLessCard.$borderLessCard +FNDA:16,Object.defineProperty.enumerable +FNDA:16,Object.defineProperty.enumerable +FNDA:3,Object.defineProperty.enumerable +FNDA:3,Object.defineProperty.enumerable +FNDA:3,Object.defineProperty.enumerable +FNDA:3,Object.defineProperty.enumerable +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:19,1 +DA:20,1 +DA:21,1 +DA:22,1 +DA:23,1 +DA:24,1 +DA:25,1 +DA:26,1 +DA:27,1 +DA:28,1 +DA:29,1 +DA:30,1 +DA:31,1 +DA:32,1 +DA:33,1 +DA:34,1 +DA:35,1 +DA:36,1 +DA:37,1 +DA:38,1 +DA:39,1 +DA:40,1 +DA:41,1 +DA:42,1 +DA:43,1 +DA:44,1 +DA:45,1 +DA:46,16 +DA:47,1 +DA:48,1 +DA:49,1 +DA:50,16 +DA:51,15 +DA:52,0 +DA:53,0 +DA:54,0 +DA:55,15 +DA:56,15 +DA:57,15 +DA:58,15 +DA:59,15 +DA:60,15 +DA:61,16 +DA:62,1 +DA:63,1 +DA:64,1 +DA:65,1 +DA:66,1 +DA:67,1 +DA:68,1 +DA:69,1 +DA:70,1 +DA:71,1 +DA:72,1 +DA:73,1 +DA:74,1 +DA:75,1 +DA:76,1 +DA:77,1 +DA:78,1 +DA:79,1 +DA:80,1 +DA:81,1 +DA:82,1 +DA:83,1 +DA:84,1 +DA:85,1 +DA:86,1 +DA:87,1 +DA:88,1 +DA:89,1 +DA:90,1 +DA:91,1 +DA:92,1 +DA:93,1 +DA:94,1 +DA:95,1 +DA:96,1 +DA:97,1 +DA:98,1 +DA:99,1 +DA:100,1 +DA:101,1 +DA:102,1 +DA:103,1 +DA:104,1 +DA:105,1 +DA:106,16 +DA:107,16 +DA:108,16 +DA:109,16 +DA:110,16 +DA:111,16 +DA:112,16 +DA:113,1 +DA:114,1 +DA:115,1 +DA:116,1 +DA:117,1 +DA:118,16 +DA:119,0 +DA:120,0 +DA:121,0 +DA:122,0 +DA:123,0 +DA:124,0 +DA:125,16 +DA:126,16 +DA:127,0 +DA:128,0 +DA:129,0 +DA:130,0 +DA:131,0 +DA:132,0 +DA:133,16 +DA:134,16 +DA:135,2 +DA:136,2 +DA:137,2 +DA:138,2 +DA:139,2 +DA:140,2 +DA:141,16 +DA:142,1 +DA:143,1 +DA:144,16 +DA:145,2 +DA:146,2 +DA:147,2 +DA:148,2 +DA:149,2 +DA:150,2 +DA:151,2 +DA:152,2 +DA:153,2 +DA:154,2 +DA:155,14 +DA:156,14 +DA:157,1 +DA:158,1 +DA:159,1 +DA:160,16 +DA:161,0 +DA:162,1 +DA:163,1 +DA:164,1 +DA:165,1 +DA:166,1 +DA:167,1 +DA:168,1 +DA:169,1 +DA:170,1 +DA:171,1 +DA:172,1 +DA:173,1 +DA:174,1 +DA:175,1 +DA:176,1 +DA:177,1 +DA:178,1 +DA:179,1 +DA:180,1 +DA:181,1 +DA:182,1 +DA:183,1 +DA:184,1 +DA:185,1 +DA:186,1 +DA:187,1 +DA:188,1 +DA:189,1 +DA:190,1 +DA:191,1 +DA:192,1 +DA:193,1 +DA:194,1 +DA:195,1 +DA:196,1 +DA:197,1 +DA:198,1 +DA:199,1 +DA:200,1 +DA:201,1 +DA:202,1 +DA:203,1 +DA:204,3 +DA:205,1 +DA:206,1 +DA:207,1 +DA:208,3 +DA:209,2 +DA:210,2 +DA:211,2 +DA:212,2 +DA:213,3 +DA:214,1 +DA:215,1 +DA:216,3 +DA:217,3 +DA:218,0 +DA:219,0 +DA:220,1 +DA:221,1 +DA:222,1 +DA:223,1 +DA:224,1 +DA:225,1 +DA:226,1 +DA:227,1 +DA:228,1 +DA:229,1 +DA:230,1 +DA:231,1 +DA:232,1 +DA:233,1 +DA:234,1 +DA:235,1 +DA:236,1 +DA:237,1 +DA:238,1 +LF:238 +LH:220 +BRDA:34,0,0,16 +BRDA:34,1,0,14 +BRDA:34,2,0,2 +BRDA:37,3,0,16 +BRDA:37,4,0,2 +BRDA:37,5,0,14 +BRDA:39,6,0,16 +BRDA:39,7,0,9 +BRDA:39,8,0,0 +BRDA:41,9,0,16 +BRDA:44,10,0,16 +BRDA:44,11,0,14 +BRDA:44,12,0,2 +BRDA:45,13,0,16 +BRDA:46,14,0,1 +BRDA:50,15,0,15 +BRDA:51,16,0,0 +BRDA:77,17,0,14 +BRDA:79,18,0,14 +BRDA:79,19,0,0 +BRDA:80,20,0,14 +BRDA:80,21,0,0 +BRDA:105,22,0,16 +BRDA:107,23,0,1 +BRDA:108,24,0,1 +BRDA:117,25,0,16 +BRDA:118,26,0,2 +BRDA:118,27,0,0 +BRDA:126,28,0,0 +BRDA:134,29,0,2 +BRDA:134,30,0,2 +BRDA:142,31,0,16 +BRDA:142,32,0,2 +BRDA:142,33,0,14 +BRDA:143,34,0,16 +BRDA:144,35,0,2 +BRDA:147,36,0,0 +BRDA:150,37,0,0 +BRDA:154,38,0,0 +BRDA:154,39,0,14 +BRDA:159,40,0,16 +BRDA:160,41,0,0 +BRDA:163,42,0,16 +BRDA:164,43,0,16 +BRDA:164,44,0,2 +BRDA:164,45,0,14 +BRDA:192,46,0,3 +BRDA:193,47,0,3 +BRDA:203,48,0,3 +BRDA:204,49,0,1 +BRDA:208,50,0,2 +BRDA:215,51,0,3 +BRDA:217,52,0,0 +BRDA:223,53,0,3 +BRDA:223,54,0,2 +BRF:55 +BRH:44 +end_of_record +TN: +SF:src\components\timeline-elements\timeline-card-media\timeline-card-media.tsx +FN:42,CardMedia +FN:157,onPlay +FN:164,onPause +FN:171,onEnded +FNF:4 +FNH:1 +FNDA:16,CardMedia +FNDA:0,onPlay +FNDA:0,onPause +FNDA:0,onEnded +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:19,1 +DA:20,1 +DA:21,1 +DA:22,1 +DA:23,1 +DA:24,1 +DA:25,1 +DA:26,1 +DA:27,1 +DA:28,1 +DA:29,1 +DA:30,1 +DA:31,1 +DA:32,1 +DA:33,1 +DA:34,1 +DA:35,1 +DA:36,1 +DA:37,1 +DA:38,1 +DA:39,1 +DA:40,1 +DA:41,1 +DA:42,1 +DA:43,16 +DA:44,16 +DA:45,16 +DA:46,16 +DA:47,16 +DA:48,16 +DA:49,16 +DA:50,16 +DA:51,16 +DA:52,16 +DA:53,16 +DA:54,16 +DA:55,16 +DA:56,16 +DA:57,16 +DA:58,16 +DA:59,16 +DA:60,16 +DA:61,16 +DA:62,16 +DA:63,16 +DA:64,16 +DA:65,16 +DA:66,16 +DA:67,16 +DA:68,16 +DA:69,16 +DA:70,16 +DA:71,16 +DA:72,16 +DA:73,16 +DA:74,16 +DA:75,16 +DA:76,16 +DA:77,16 +DA:78,16 +DA:79,16 +DA:80,16 +DA:81,16 +DA:82,0 +DA:83,0 +DA:84,16 +DA:85,16 +DA:86,7 +DA:87,7 +DA:88,16 +DA:89,9 +DA:90,9 +DA:91,9 +DA:92,16 +DA:93,16 +DA:94,16 +DA:95,16 +DA:96,0 +DA:97,16 +DA:98,16 +DA:99,16 +DA:100,16 +DA:101,0 +DA:102,0 +DA:103,0 +DA:104,0 +DA:105,0 +DA:106,0 +DA:107,0 +DA:108,0 +DA:109,16 +DA:110,16 +DA:111,16 +DA:112,16 +DA:113,16 +DA:114,16 +DA:115,16 +DA:116,16 +DA:117,16 +DA:118,16 +DA:119,16 +DA:120,16 +DA:121,16 +DA:122,16 +DA:123,16 +DA:124,16 +DA:125,16 +DA:126,16 +DA:127,16 +DA:128,16 +DA:129,16 +DA:130,16 +DA:131,16 +DA:132,16 +DA:133,16 +DA:134,16 +DA:135,16 +DA:136,16 +DA:137,16 +DA:138,16 +DA:139,16 +DA:140,16 +DA:141,16 +DA:142,16 +DA:143,16 +DA:144,16 +DA:145,16 +DA:146,16 +DA:147,16 +DA:148,16 +DA:149,16 +DA:150,16 +DA:151,16 +DA:152,16 +DA:153,16 +DA:154,16 +DA:155,16 +DA:156,16 +DA:157,16 +DA:158,0 +DA:159,0 +DA:160,0 +DA:161,0 +DA:162,0 +DA:163,16 +DA:164,16 +DA:165,0 +DA:166,0 +DA:167,0 +DA:168,0 +DA:169,0 +DA:170,16 +DA:171,16 +DA:172,0 +DA:173,0 +DA:174,0 +DA:175,0 +DA:176,0 +DA:177,16 +DA:178,16 +DA:179,16 +DA:180,16 +DA:181,16 +DA:182,16 +DA:183,16 +DA:184,16 +DA:185,16 +DA:186,16 +DA:187,16 +DA:188,16 +DA:189,16 +DA:190,16 +DA:191,16 +DA:192,16 +DA:193,16 +DA:194,16 +DA:195,16 +DA:196,16 +DA:197,16 +DA:198,16 +DA:199,16 +DA:200,16 +DA:201,16 +DA:202,16 +DA:203,16 +DA:204,16 +DA:205,16 +DA:206,16 +DA:207,2 +DA:208,0 +DA:209,0 +DA:210,16 +DA:211,16 +DA:212,16 +DA:213,16 +DA:214,16 +DA:215,0 +DA:216,0 +DA:217,0 +DA:218,0 +DA:219,0 +DA:220,16 +DA:221,16 +DA:222,16 +DA:223,16 +DA:224,16 +DA:225,16 +DA:226,16 +DA:227,16 +DA:228,0 +DA:229,0 +DA:230,0 +DA:231,0 +DA:232,0 +DA:233,16 +DA:234,16 +DA:235,16 +DA:236,16 +DA:237,16 +DA:238,16 +DA:239,16 +DA:240,16 +DA:241,16 +DA:242,16 +DA:243,16 +DA:244,16 +DA:245,16 +DA:246,16 +DA:247,16 +DA:248,16 +DA:249,16 +DA:250,16 +DA:251,16 +DA:252,16 +DA:253,16 +DA:254,16 +DA:255,16 +DA:256,16 +DA:257,16 +DA:258,16 +DA:259,16 +DA:260,16 +DA:261,16 +DA:262,16 +DA:263,16 +DA:264,16 +DA:265,16 +DA:266,16 +DA:267,16 +DA:268,16 +DA:269,16 +DA:270,16 +DA:271,16 +DA:272,2 +DA:273,16 +DA:274,14 +DA:275,14 +DA:276,16 +DA:277,16 +DA:278,16 +DA:279,16 +DA:280,16 +DA:281,16 +DA:282,16 +DA:283,16 +DA:284,16 +DA:285,16 +DA:286,16 +DA:287,16 +DA:288,16 +DA:289,16 +DA:290,16 +DA:291,16 +DA:292,16 +DA:293,16 +DA:294,16 +DA:295,16 +DA:296,16 +DA:297,16 +DA:298,16 +DA:299,16 +DA:300,16 +DA:301,2 +DA:302,2 +DA:303,2 +DA:304,2 +DA:305,2 +DA:306,2 +DA:307,2 +DA:308,2 +DA:309,2 +DA:310,2 +DA:311,2 +DA:312,2 +DA:313,2 +DA:314,2 +DA:315,14 +DA:316,16 +DA:317,16 +DA:318,16 +DA:319,16 +DA:320,16 +DA:321,16 +DA:322,16 +DA:323,16 +DA:324,16 +DA:325,16 +DA:326,16 +DA:327,16 +DA:328,16 +DA:329,16 +DA:330,16 +DA:331,16 +DA:332,16 +DA:333,16 +DA:334,16 +DA:335,16 +DA:336,16 +DA:337,0 +DA:338,16 +DA:339,16 +DA:340,16 +DA:341,16 +DA:342,16 +DA:343,16 +DA:344,16 +DA:345,16 +DA:346,16 +DA:347,16 +DA:348,16 +DA:349,16 +DA:350,16 +DA:351,16 +DA:352,16 +DA:353,16 +DA:354,16 +DA:355,16 +DA:356,16 +DA:357,16 +DA:358,16 +DA:359,16 +DA:360,16 +DA:361,16 +DA:362,16 +DA:363,16 +DA:364,16 +DA:365,16 +DA:366,16 +DA:367,2 +DA:368,0 +DA:369,0 +DA:370,0 +DA:371,0 +DA:372,16 +DA:373,16 +DA:374,16 +DA:375,14 +DA:376,14 +DA:377,0 +DA:378,0 +DA:379,16 +DA:380,16 +DA:381,16 +DA:382,0 +DA:383,0 +DA:384,0 +DA:385,0 +DA:386,0 +DA:387,0 +DA:388,0 +DA:389,0 +DA:390,0 +DA:391,16 +DA:392,16 +DA:393,16 +DA:394,2 +DA:395,2 +DA:396,2 +DA:397,2 +DA:398,2 +DA:399,2 +DA:400,2 +DA:401,14 +DA:402,16 +DA:403,16 +DA:404,16 +DA:405,16 +DA:406,16 +DA:407,1 +DA:408,1 +DA:409,1 +DA:410,1 +LF:410 +LH:356 +BRDA:42,0,0,16 +BRDA:363,1,0,0 +BRDA:366,2,0,2 +BRDA:367,3,0,0 +BRDA:373,4,0,2 +BRDA:373,5,0,2 +BRDA:374,6,0,14 +BRDA:376,7,0,0 +BRDA:381,8,0,0 +BRDA:393,9,0,2 +BRDA:400,10,0,14 +BRDA:403,11,0,0 +BRDA:80,12,0,16 +BRDA:81,13,0,0 +BRDA:85,14,0,7 +BRDA:87,15,0,0 +BRDA:88,16,0,9 +BRDA:90,17,0,0 +BRDA:118,18,0,16 +BRDA:131,19,0,16 +BRDA:139,20,0,7 +BRDA:139,21,0,9 +BRDA:149,22,0,16 +BRDA:185,23,0,16 +BRDA:197,24,0,0 +BRDA:206,25,0,2 +BRDA:207,26,0,0 +BRDA:238,27,0,16 +BRDA:239,28,0,15 +BRDA:245,29,0,16 +BRDA:251,30,0,16 +BRDA:251,31,0,7 +BRDA:251,32,0,4 +BRDA:256,33,0,16 +BRDA:256,34,0,2 +BRDA:261,35,0,16 +BRDA:261,36,0,0 +BRDA:266,37,0,16 +BRDA:270,38,0,16 +BRDA:271,39,0,2 +BRDA:273,40,0,14 +BRDA:278,41,0,16 +BRDA:289,42,0,2 +BRDA:289,43,0,14 +BRDA:300,44,0,2 +BRDA:314,45,0,14 +BRDA:336,46,0,0 +BRDA:350,47,0,16 +BRDA:350,48,0,0 +BRF:49 +BRH:36 +end_of_record +TN: +SF:src\components\timeline-elements\timeline-control\timeline-control.styles.ts +FN:27,Object.defineProperty.enumerable +FN:41,Object.defineProperty.enumerable +FNF:2 +FNH:2 +FNDA:21,Object.defineProperty.enumerable +FNDA:21,Object.defineProperty.enumerable +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:19,1 +DA:20,1 +DA:21,1 +DA:22,1 +DA:23,1 +DA:24,1 +DA:25,1 +DA:26,1 +DA:27,1 +DA:28,1 +DA:29,1 +DA:30,1 +DA:31,1 +DA:32,1 +DA:33,1 +DA:34,1 +DA:35,1 +DA:36,1 +DA:37,1 +DA:38,1 +DA:39,1 +DA:40,1 +DA:41,1 +DA:42,21 +DA:43,16 +DA:44,16 +DA:45,21 +DA:46,1 +DA:47,1 +DA:48,1 +DA:49,1 +DA:50,1 +DA:51,1 +DA:52,1 +DA:53,1 +DA:54,1 +DA:55,1 +DA:56,1 +DA:57,1 +DA:58,1 +DA:59,1 +DA:60,1 +DA:61,1 +DA:62,1 +DA:63,1 +DA:64,1 +DA:65,1 +DA:66,1 +DA:67,1 +DA:68,1 +DA:69,1 +DA:70,1 +DA:71,1 +DA:72,1 +DA:73,1 +DA:74,1 +DA:75,1 +DA:76,1 +DA:77,1 +DA:78,1 +DA:79,1 +DA:80,1 +DA:81,1 +DA:82,1 +DA:83,1 +DA:84,1 +DA:85,1 +LF:85 +LH:85 +BRDA:18,0,0,24 +BRDA:18,1,0,0 +BRDA:27,2,0,21 +BRDA:41,3,0,21 +BRDA:42,4,0,16 +BRDA:49,5,0,21 +BRDA:49,6,0,16 +BRDA:49,7,0,5 +BRF:8 +BRH:7 +end_of_record +TN: +SF:src\components\timeline-elements\timeline-control\timeline-control.tsx +FN:37,TimelineControl +FNF:1 +FNH:1 +FNDA:4,TimelineControl +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:19,1 +DA:20,1 +DA:21,1 +DA:22,1 +DA:23,1 +DA:24,1 +DA:25,1 +DA:26,1 +DA:27,1 +DA:28,1 +DA:29,1 +DA:30,1 +DA:31,1 +DA:32,1 +DA:33,1 +DA:34,1 +DA:35,1 +DA:36,1 +DA:37,1 +DA:38,4 +DA:39,4 +DA:40,4 +DA:41,4 +DA:42,4 +DA:43,4 +DA:44,4 +DA:45,4 +DA:46,4 +DA:47,4 +DA:48,4 +DA:49,4 +DA:50,4 +DA:51,4 +DA:52,4 +DA:53,4 +DA:54,4 +DA:55,4 +DA:56,4 +DA:57,4 +DA:58,4 +DA:59,4 +DA:60,4 +DA:61,4 +DA:62,4 +DA:63,4 +DA:64,4 +DA:65,4 +DA:66,4 +DA:67,4 +DA:68,4 +DA:69,4 +DA:70,4 +DA:71,4 +DA:72,0 +DA:73,0 +DA:74,0 +DA:75,0 +DA:76,0 +DA:77,4 +DA:78,4 +DA:79,4 +DA:80,4 +DA:81,4 +DA:82,4 +DA:83,4 +DA:84,4 +DA:85,4 +DA:86,4 +DA:87,4 +DA:88,4 +DA:89,4 +DA:90,4 +DA:91,4 +DA:92,4 +DA:93,4 +DA:94,4 +DA:95,4 +DA:96,4 +DA:97,4 +DA:98,4 +DA:99,4 +DA:100,4 +DA:101,4 +DA:102,4 +DA:103,4 +DA:104,4 +DA:105,4 +DA:106,4 +DA:107,4 +DA:108,4 +DA:109,4 +DA:110,4 +DA:111,4 +DA:112,4 +DA:113,4 +DA:114,4 +DA:115,4 +DA:116,4 +DA:117,4 +DA:118,4 +DA:119,4 +DA:120,4 +DA:121,4 +DA:122,4 +DA:123,4 +DA:124,4 +DA:125,4 +DA:126,4 +DA:127,4 +DA:128,4 +DA:129,4 +DA:130,4 +DA:131,4 +DA:132,4 +DA:133,4 +DA:134,4 +DA:135,4 +DA:136,4 +DA:137,4 +DA:138,4 +DA:139,4 +DA:140,4 +DA:141,4 +DA:142,4 +DA:143,4 +DA:144,4 +DA:145,4 +DA:146,4 +DA:147,4 +DA:148,4 +DA:149,4 +DA:150,4 +DA:151,4 +DA:152,4 +DA:153,4 +DA:154,4 +DA:155,4 +DA:156,4 +DA:157,4 +DA:158,4 +DA:159,4 +DA:160,4 +DA:161,4 +DA:162,4 +DA:163,4 +DA:164,4 +DA:165,4 +DA:166,4 +DA:167,4 +DA:168,4 +DA:169,4 +DA:170,4 +DA:171,4 +DA:172,4 +DA:173,4 +DA:174,4 +DA:175,4 +DA:176,4 +DA:177,4 +DA:178,4 +DA:179,4 +DA:180,1 +DA:181,1 +DA:182,1 +DA:183,1 +DA:184,1 +DA:185,1 +DA:186,1 +DA:187,1 +DA:188,1 +DA:189,1 +DA:190,4 +DA:191,4 +DA:192,4 +DA:193,4 +DA:194,4 +DA:195,4 +DA:196,4 +DA:197,4 +DA:198,4 +DA:199,4 +DA:200,4 +DA:201,4 +DA:202,4 +DA:203,4 +DA:204,4 +DA:205,4 +DA:206,4 +DA:207,0 +DA:208,4 +DA:209,4 +DA:210,4 +DA:211,4 +DA:212,1 +DA:213,1 +DA:214,1 +DA:215,1 +LF:215 +LH:209 +BRDA:37,0,0,4 +BRDA:114,1,0,0 +BRDA:119,2,0,0 +BRDA:120,3,0,0 +BRDA:131,4,0,0 +BRDA:136,5,0,0 +BRDA:137,6,0,0 +BRDA:148,7,0,0 +BRDA:153,8,0,0 +BRDA:154,9,0,0 +BRDA:165,10,0,0 +BRDA:170,11,0,0 +BRDA:171,12,0,0 +BRDA:179,13,0,1 +BRDA:188,14,0,0 +BRDA:199,15,0,0 +BRDA:202,16,0,0 +BRDA:204,17,0,0 +BRDA:206,18,0,0 +BRDA:54,19,0,4 +BRDA:57,20,0,4 +BRDA:57,21,0,0 +BRDA:62,22,0,4 +BRDA:67,23,0,4 +BRDA:80,24,0,4 +BRDA:80,25,0,0 +BRDA:85,26,0,4 +BRDA:85,27,0,0 +BRDA:90,28,0,4 +BRDA:90,29,0,0 +BRDA:95,30,0,4 +BRDA:95,31,0,0 +BRDA:100,32,0,4 +BRDA:100,33,0,0 +BRF:34 +BRH:11 +end_of_record +TN: +SF:src\components\timeline-elements\timeline-item-title\timeline-card-title.styles.ts +FN:11,Object.defineProperty.enumerable +FN:15,Object.defineProperty.enumerable +FN:16,Object.defineProperty.enumerable +FN:17,Object.defineProperty.enumerable +FN:20,Object.defineProperty.enumerable +FNF:5 +FNH:5 +FNDA:13,Object.defineProperty.enumerable +FNDA:13,Object.defineProperty.enumerable +FNDA:13,Object.defineProperty.enumerable +FNDA:13,Object.defineProperty.enumerable +FNDA:13,Object.defineProperty.enumerable +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:19,1 +DA:20,1 +DA:21,1 +DA:22,1 +DA:23,1 +DA:24,1 +LF:24 +LH:24 +BRDA:11,0,0,13 +BRDA:11,1,0,0 +BRDA:15,2,0,13 +BRDA:15,3,0,6 +BRDA:15,4,0,7 +BRDA:16,5,0,13 +BRDA:16,6,0,3 +BRDA:16,7,0,10 +BRDA:17,8,0,13 +BRDA:17,9,0,0 +BRDA:20,10,0,13 +BRDA:21,11,0,13 +BRDA:22,12,0,8 +BRDA:22,13,0,5 +BRF:14 +BRH:12 +end_of_record +TN: +SF:src\components\timeline-elements\timeline-item-title\timeline-card-title.tsx +FN:18,TimelineItemTitle +FNF:1 +FNH:1 +FNDA:13,TimelineItemTitle +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:19,13 +DA:20,13 +DA:21,13 +DA:22,13 +DA:23,13 +DA:24,13 +DA:25,13 +DA:26,13 +DA:27,13 +DA:28,13 +DA:29,13 +DA:30,13 +DA:31,13 +DA:32,13 +DA:33,13 +DA:34,13 +DA:35,13 +DA:36,13 +DA:37,13 +DA:38,13 +DA:39,13 +DA:40,13 +DA:41,13 +DA:42,13 +DA:43,13 +DA:44,13 +DA:45,13 +DA:46,13 +DA:47,13 +DA:48,1 +DA:49,1 +LF:49 +LH:49 +BRDA:18,0,0,13 +BRDA:29,1,0,13 +BRDA:29,2,0,7 +BRDA:29,3,0,6 +BRF:4 +BRH:4 +end_of_record +TN: +SF:src\components\timeline-elements\timeline-outline\timeline-outline-item-list.tsx +FN:28,OutlineItemList +FN:37,onPointerDown +FNF:2 +FNH:2 +FNDA:3,OutlineItemList +FNDA:1,onPointerDown +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:19,1 +DA:20,1 +DA:21,1 +DA:22,1 +DA:23,1 +DA:24,1 +DA:25,1 +DA:26,1 +DA:27,1 +DA:28,1 +DA:29,3 +DA:30,3 +DA:31,3 +DA:32,3 +DA:33,3 +DA:34,3 +DA:35,6 +DA:36,6 +DA:37,6 +DA:38,6 +DA:39,6 +DA:40,6 +DA:41,6 +DA:42,6 +DA:43,6 +DA:44,6 +DA:45,6 +DA:46,3 +DA:47,1 +DA:48,1 +DA:49,1 +LF:49 +LH:49 +BRDA:28,0,0,3 +BRDA:34,1,0,6 +BRDA:37,2,0,1 +BRF:3 +BRH:3 +end_of_record +TN: +SF:src\components\timeline-elements\timeline-outline\timeline-outline.styles.ts +FN:33,Object.defineProperty.enumerable +FN:37,Object.defineProperty.enumerable +FN:43,Object.defineProperty.enumerable +FN:72,Object.defineProperty.enumerable +FN:80,Object.defineProperty.enumerable +FN:131,Object.defineProperty.enumerable +FN:156,Object.defineProperty.enumerable +FNF:7 +FNH:7 +FNDA:10,Object.defineProperty.enumerable +FNDA:10,Object.defineProperty.enumerable +FNDA:10,Object.defineProperty.enumerable +FNDA:10,Object.defineProperty.enumerable +FNDA:10,Object.defineProperty.enumerable +FNDA:6,Object.defineProperty.enumerable +FNDA:6,Object.defineProperty.enumerable +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:19,1 +DA:20,1 +DA:21,1 +DA:22,1 +DA:23,1 +DA:24,1 +DA:25,1 +DA:26,1 +DA:27,1 +DA:28,1 +DA:29,1 +DA:30,1 +DA:31,1 +DA:32,1 +DA:33,1 +DA:34,1 +DA:35,1 +DA:36,1 +DA:37,1 +DA:38,1 +DA:39,1 +DA:40,1 +DA:41,1 +DA:42,1 +DA:43,1 +DA:44,1 +DA:45,1 +DA:46,10 +DA:47,6 +DA:48,4 +DA:49,4 +DA:50,4 +DA:51,4 +DA:52,1 +DA:53,1 +DA:54,1 +DA:55,1 +DA:56,1 +DA:57,1 +DA:58,1 +DA:59,1 +DA:60,1 +DA:61,1 +DA:62,1 +DA:63,1 +DA:64,1 +DA:65,1 +DA:66,1 +DA:67,1 +DA:68,1 +DA:69,1 +DA:70,1 +DA:71,1 +DA:72,1 +DA:73,1 +DA:74,1 +DA:75,1 +DA:76,1 +DA:77,1 +DA:78,1 +DA:79,1 +DA:80,1 +DA:81,10 +DA:82,0 +DA:83,1 +DA:84,1 +DA:85,1 +DA:86,1 +DA:87,1 +DA:88,1 +DA:89,1 +DA:90,1 +DA:91,1 +DA:92,1 +DA:93,1 +DA:94,1 +DA:95,1 +DA:96,1 +DA:97,1 +DA:98,1 +DA:99,1 +DA:100,1 +DA:101,1 +DA:102,1 +DA:103,1 +DA:104,1 +DA:105,1 +DA:106,1 +DA:107,1 +DA:108,1 +DA:109,1 +DA:110,1 +DA:111,1 +DA:112,1 +DA:113,1 +DA:114,1 +DA:115,1 +DA:116,1 +DA:117,1 +DA:118,1 +DA:119,1 +DA:120,1 +DA:121,1 +DA:122,1 +DA:123,1 +DA:124,1 +DA:125,1 +DA:126,1 +DA:127,1 +DA:128,1 +DA:129,1 +DA:130,1 +DA:131,1 +DA:132,1 +DA:133,1 +DA:134,1 +DA:135,1 +DA:136,1 +DA:137,1 +DA:138,1 +DA:139,1 +DA:140,1 +DA:141,1 +DA:142,1 +DA:143,1 +DA:144,1 +DA:145,1 +DA:146,1 +DA:147,1 +DA:148,1 +DA:149,1 +DA:150,1 +DA:151,1 +DA:152,1 +DA:153,1 +DA:154,1 +DA:155,1 +DA:156,1 +DA:157,1 +DA:158,1 +DA:159,1 +DA:160,1 +DA:161,6 +DA:162,2 +DA:163,1 +DA:164,1 +DA:165,1 +LF:165 +LH:164 +BRDA:33,0,0,10 +BRDA:33,1,0,6 +BRDA:33,2,0,4 +BRDA:37,3,0,10 +BRDA:37,4,0,6 +BRDA:37,5,0,4 +BRDA:43,6,0,10 +BRDA:44,7,0,0 +BRDA:45,8,0,10 +BRDA:46,9,0,6 +BRDA:47,10,0,4 +BRDA:72,11,0,10 +BRDA:72,12,0,4 +BRDA:72,13,0,6 +BRDA:80,14,0,10 +BRDA:81,15,0,0 +BRDA:91,16,0,10 +BRDA:131,17,0,6 +BRDA:131,18,0,2 +BRDA:131,19,0,4 +BRDA:135,20,0,6 +BRDA:156,21,0,6 +BRDA:157,22,0,2 +BRDA:157,23,0,4 +BRDA:160,24,0,6 +BRDA:161,25,0,2 +BRDA:162,26,0,4 +BRF:27 +BRH:25 +end_of_record +TN: +SF:src\components\timeline-elements\timeline-outline\timeline-outline.tsx +FN:50,TimelineOutline +FNF:1 +FNH:1 +FNDA:10,TimelineOutline +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:19,1 +DA:20,1 +DA:21,1 +DA:22,1 +DA:23,1 +DA:24,1 +DA:25,1 +DA:26,1 +DA:27,1 +DA:28,1 +DA:29,1 +DA:30,1 +DA:31,1 +DA:32,1 +DA:33,1 +DA:34,1 +DA:35,1 +DA:36,1 +DA:37,1 +DA:38,1 +DA:39,1 +DA:40,1 +DA:41,1 +DA:42,1 +DA:43,1 +DA:44,1 +DA:45,1 +DA:46,1 +DA:47,1 +DA:48,1 +DA:49,1 +DA:50,1 +DA:51,10 +DA:52,10 +DA:53,10 +DA:54,10 +DA:55,10 +DA:56,10 +DA:57,10 +DA:58,10 +DA:59,10 +DA:60,10 +DA:61,10 +DA:62,10 +DA:63,10 +DA:64,10 +DA:65,10 +DA:66,4 +DA:67,4 +DA:68,0 +DA:69,10 +DA:70,10 +DA:71,10 +DA:72,10 +DA:73,7 +DA:74,3 +DA:75,7 +DA:76,4 +DA:77,4 +DA:78,10 +DA:79,10 +DA:80,10 +DA:81,10 +DA:82,1 +DA:83,1 +DA:84,10 +DA:85,10 +DA:86,10 +DA:87,10 +DA:88,10 +DA:89,10 +DA:90,10 +DA:91,10 +DA:92,10 +DA:93,10 +DA:94,10 +DA:95,10 +DA:96,10 +DA:97,10 +DA:98,10 +DA:99,3 +DA:100,3 +DA:101,3 +DA:102,3 +DA:103,3 +DA:104,10 +DA:105,10 +DA:106,10 +DA:107,10 +DA:108,10 +DA:109,1 +DA:110,1 +LF:110 +LH:109 +BRDA:20,0,0,3 +BRDA:50,1,0,10 +BRDA:60,2,0,0 +BRDA:95,3,0,6 +BRDA:95,4,0,4 +BRDA:98,5,0,3 +BRDA:62,6,0,3 +BRDA:62,7,0,3 +BRDA:65,8,0,4 +BRDA:66,9,0,0 +BRDA:67,10,0,0 +BRDA:72,11,0,7 +BRDA:73,12,0,3 +BRDA:75,13,0,4 +BRDA:81,14,0,1 +BRF:15 +BRH:12 +end_of_record +TN: +SF:src\components\timeline-horizontal\timeline-horizontal.styles.ts +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:19,1 +DA:20,1 +DA:21,1 +DA:22,1 +DA:23,1 +DA:24,1 +DA:25,1 +DA:26,1 +DA:27,1 +DA:28,1 +DA:29,1 +DA:30,1 +DA:31,1 +DA:32,1 +DA:33,1 +DA:34,1 +DA:35,1 +LF:35 +LH:35 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src\components\timeline-horizontal\timeline-horizontal.tsx +FN:27,TimelineHorizontal +FNF:1 +FNH:0 +FNDA:0,TimelineHorizontal +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:19,1 +DA:20,1 +DA:21,1 +DA:22,1 +DA:23,1 +DA:24,1 +DA:25,1 +DA:26,1 +DA:27,1 +DA:28,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:59,0 +DA:60,0 +DA:61,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:68,0 +DA:69,0 +DA:70,0 +DA:71,0 +DA:72,0 +DA:73,0 +DA:74,0 +DA:75,0 +DA:76,0 +DA:77,0 +DA:78,0 +DA:79,0 +DA:80,0 +DA:81,0 +DA:82,0 +DA:83,0 +DA:84,0 +DA:85,0 +DA:86,0 +DA:87,0 +DA:88,0 +DA:89,0 +DA:90,0 +DA:91,0 +DA:92,0 +DA:93,0 +DA:94,0 +DA:95,0 +DA:96,0 +DA:97,0 +DA:98,0 +DA:99,0 +DA:100,1 +DA:101,1 +LF:101 +LH:29 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src\components\timeline-vertical\timeline-point.tsx +FN:84,onClick +FNF:1 +FNH:0 +FNDA:0,onClick +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:19,1 +DA:20,1 +DA:21,1 +DA:22,1 +DA:23,1 +DA:24,1 +DA:25,1 +DA:26,1 +DA:27,1 +DA:28,3 +DA:29,3 +DA:30,3 +DA:31,3 +DA:32,3 +DA:33,3 +DA:34,3 +DA:35,3 +DA:36,3 +DA:37,3 +DA:38,3 +DA:39,3 +DA:40,3 +DA:41,3 +DA:42,3 +DA:43,3 +DA:44,3 +DA:45,3 +DA:46,3 +DA:47,3 +DA:48,3 +DA:49,3 +DA:50,3 +DA:51,3 +DA:52,3 +DA:53,3 +DA:54,3 +DA:55,0 +DA:56,3 +DA:57,3 +DA:58,3 +DA:59,3 +DA:60,3 +DA:61,3 +DA:62,3 +DA:63,3 +DA:64,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:68,3 +DA:69,3 +DA:70,3 +DA:71,3 +DA:72,3 +DA:73,3 +DA:74,3 +DA:75,3 +DA:76,3 +DA:77,3 +DA:78,3 +DA:79,3 +DA:80,3 +DA:81,3 +DA:82,3 +DA:83,3 +DA:84,3 +DA:85,0 +DA:86,0 +DA:87,0 +DA:88,0 +DA:89,0 +DA:90,3 +DA:91,3 +DA:92,3 +DA:93,3 +DA:94,3 +DA:95,3 +DA:96,3 +DA:97,3 +DA:98,3 +DA:99,3 +DA:100,3 +DA:101,3 +DA:102,3 +DA:103,3 +DA:104,3 +DA:105,3 +DA:106,3 +DA:107,3 +DA:108,3 +DA:109,3 +DA:110,3 +DA:111,3 +DA:112,3 +DA:113,3 +DA:114,3 +DA:115,3 +DA:116,3 +DA:117,3 +DA:118,3 +DA:119,3 +DA:120,3 +DA:121,3 +DA:122,3 +DA:123,3 +DA:124,3 +DA:125,3 +DA:126,3 +DA:127,3 +DA:128,3 +DA:129,3 +DA:130,3 +DA:131,3 +DA:132,3 +DA:133,1 +DA:134,1 +DA:135,1 +DA:136,1 +DA:137,1 +DA:138,1 +LF:138 +LH:128 +BRDA:27,0,0,3 +BRDA:126,1,0,0 +BRDA:53,2,0,3 +BRDA:54,3,0,0 +BRDA:57,4,0,0 +BRDA:62,5,0,3 +BRDA:63,6,0,0 +BRDA:72,7,0,3 +BRDA:82,8,0,3 +BRDA:95,9,0,3 +BRF:10 +BRH:6 +end_of_record +TN: +SF:src\components\timeline-vertical\timeline-vertical-item.tsx +FN:40,VerticalItem +FNF:1 +FNH:1 +FNDA:2,VerticalItem +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:19,1 +DA:20,1 +DA:21,1 +DA:22,1 +DA:23,1 +DA:24,1 +DA:25,1 +DA:26,1 +DA:27,1 +DA:28,1 +DA:29,1 +DA:30,1 +DA:31,1 +DA:32,1 +DA:33,1 +DA:34,1 +DA:35,1 +DA:36,1 +DA:37,1 +DA:38,1 +DA:39,1 +DA:40,1 +DA:41,2 +DA:42,2 +DA:43,2 +DA:44,2 +DA:45,2 +DA:46,2 +DA:47,2 +DA:48,2 +DA:49,2 +DA:50,2 +DA:51,2 +DA:52,2 +DA:53,2 +DA:54,2 +DA:55,2 +DA:56,2 +DA:57,2 +DA:58,2 +DA:59,2 +DA:60,2 +DA:61,2 +DA:62,2 +DA:63,2 +DA:64,2 +DA:65,2 +DA:66,2 +DA:67,2 +DA:68,2 +DA:69,2 +DA:70,2 +DA:71,2 +DA:72,2 +DA:73,2 +DA:74,2 +DA:75,2 +DA:76,2 +DA:77,2 +DA:78,2 +DA:79,2 +DA:80,2 +DA:81,2 +DA:82,2 +DA:83,2 +DA:84,2 +DA:85,2 +DA:86,2 +DA:87,0 +DA:88,0 +DA:89,0 +DA:90,0 +DA:91,0 +DA:92,2 +DA:93,2 +DA:94,2 +DA:95,2 +DA:96,2 +DA:97,0 +DA:98,0 +DA:99,0 +DA:100,2 +DA:101,2 +DA:102,2 +DA:103,2 +DA:104,2 +DA:105,2 +DA:106,2 +DA:107,2 +DA:108,2 +DA:109,2 +DA:110,2 +DA:111,2 +DA:112,2 +DA:113,2 +DA:114,2 +DA:115,2 +DA:116,2 +DA:117,2 +DA:118,2 +DA:119,2 +DA:120,2 +DA:121,2 +DA:122,2 +DA:123,2 +DA:124,2 +DA:125,2 +DA:126,2 +DA:127,2 +DA:128,2 +DA:129,2 +DA:130,2 +DA:131,2 +DA:132,2 +DA:133,2 +DA:134,2 +DA:135,2 +DA:136,2 +DA:137,2 +DA:138,2 +DA:139,2 +DA:140,2 +DA:141,2 +DA:142,2 +DA:143,2 +DA:144,2 +DA:145,2 +DA:146,2 +DA:147,2 +DA:148,2 +DA:149,2 +DA:150,2 +DA:151,2 +DA:152,2 +DA:153,2 +DA:154,2 +DA:155,2 +DA:156,2 +DA:157,2 +DA:158,2 +DA:159,2 +DA:160,2 +DA:161,2 +DA:162,2 +DA:163,2 +DA:164,2 +DA:165,2 +DA:166,2 +DA:167,2 +DA:168,2 +DA:169,2 +DA:170,2 +DA:171,2 +DA:172,2 +DA:173,2 +DA:174,2 +DA:175,2 +DA:176,2 +DA:177,2 +DA:178,2 +DA:179,2 +DA:180,2 +DA:181,2 +DA:182,2 +DA:183,2 +DA:184,2 +DA:185,2 +DA:186,2 +DA:187,2 +DA:188,2 +DA:189,2 +DA:190,2 +DA:191,2 +DA:192,2 +DA:193,2 +DA:194,2 +DA:195,2 +DA:196,2 +DA:197,2 +DA:198,2 +DA:199,2 +DA:200,2 +DA:201,2 +DA:202,2 +DA:203,2 +DA:204,2 +DA:205,2 +DA:206,2 +DA:207,2 +DA:208,2 +DA:209,2 +DA:210,2 +DA:211,2 +DA:212,2 +DA:213,2 +DA:214,2 +DA:215,2 +DA:216,2 +DA:217,2 +DA:218,2 +DA:219,2 +DA:220,2 +DA:221,2 +DA:222,2 +DA:223,2 +DA:224,2 +DA:225,2 +DA:226,0 +DA:227,2 +DA:228,2 +DA:229,2 +DA:230,2 +DA:231,2 +DA:232,1 +DA:233,1 +DA:234,1 +DA:235,1 +LF:235 +LH:226 +BRDA:40,0,0,2 +BRDA:138,1,0,0 +BRDA:181,2,0,0 +BRDA:192,3,0,0 +BRDA:200,4,0,0 +BRDA:225,5,0,0 +BRDA:228,6,0,0 +BRDA:103,7,0,2 +BRDA:116,8,0,0 +BRDA:133,9,0,2 +BRDA:134,10,0,0 +BRDA:144,11,0,2 +BRF:12 +BRH:4 +end_of_record +TN: +SF:src\components\timeline-vertical\timeline-vertical-shape.styles.ts +FN:12,Object.defineProperty.enumerable +FN:23,Object.defineProperty.enumerable +FN:24,Object.defineProperty.enumerable +FN:35,Object.defineProperty.enumerable +FNF:4 +FNH:4 +FNDA:3,Object.defineProperty.enumerable +FNDA:3,Object.defineProperty.enumerable +FNDA:3,Object.defineProperty.enumerable +FNDA:3,Object.defineProperty.enumerable +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:19,1 +DA:20,1 +DA:21,1 +DA:22,1 +DA:23,1 +DA:24,1 +DA:25,1 +DA:26,1 +DA:27,1 +DA:28,1 +DA:29,1 +DA:30,1 +DA:31,1 +DA:32,1 +DA:33,1 +DA:34,1 +DA:35,1 +DA:36,1 +DA:37,1 +DA:38,1 +DA:39,1 +DA:40,1 +DA:41,1 +DA:42,1 +DA:43,1 +DA:44,1 +DA:45,1 +DA:46,1 +DA:47,1 +DA:48,1 +DA:49,1 +DA:50,1 +DA:51,1 +LF:51 +LH:51 +BRDA:12,0,0,3 +BRDA:12,1,0,1 +BRDA:12,2,0,2 +BRDA:23,3,0,3 +BRDA:24,4,0,3 +BRDA:24,5,0,1 +BRDA:24,6,0,2 +BRDA:35,7,0,3 +BRDA:41,8,0,3 +BRDA:41,9,0,1 +BRDA:41,10,0,2 +BRDA:50,11,0,3 +BRDA:50,12,0,0 +BRF:13 +BRH:12 +end_of_record +TN: +SF:src\components\timeline-vertical\timeline-vertical.styles.ts +FN:80,Object.defineProperty.enumerable +FN:126,Object.defineProperty.enumerable +FN:127,Object.defineProperty.enumerable +FN:130,Object.defineProperty.enumerable +FN:131,Object.defineProperty.enumerable +FNF:5 +FNH:5 +FNDA:2,Object.defineProperty.enumerable +FNDA:2,Object.defineProperty.enumerable +FNDA:2,Object.defineProperty.enumerable +FNDA:2,Object.defineProperty.enumerable +FNDA:2,Object.defineProperty.enumerable +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:19,1 +DA:20,1 +DA:21,1 +DA:22,1 +DA:23,1 +DA:24,1 +DA:25,1 +DA:26,1 +DA:27,1 +DA:28,1 +DA:29,1 +DA:30,1 +DA:31,1 +DA:32,1 +DA:33,1 +DA:34,1 +DA:35,1 +DA:36,1 +DA:37,1 +DA:38,1 +DA:39,1 +DA:40,1 +DA:41,1 +DA:42,1 +DA:43,1 +DA:44,1 +DA:45,1 +DA:46,1 +DA:47,1 +DA:48,1 +DA:49,1 +DA:50,1 +DA:51,2 +DA:52,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:59,0 +DA:60,0 +DA:61,2 +DA:62,2 +DA:63,2 +DA:64,2 +DA:65,2 +DA:66,1 +DA:67,1 +DA:68,1 +DA:69,1 +DA:70,1 +DA:71,1 +DA:72,1 +DA:73,1 +DA:74,1 +DA:75,1 +DA:76,1 +DA:77,1 +DA:78,1 +DA:79,1 +DA:80,1 +DA:81,2 +DA:82,0 +DA:83,2 +DA:84,0 +DA:85,2 +DA:86,2 +DA:87,2 +DA:88,2 +DA:89,1 +DA:90,2 +DA:91,2 +DA:92,2 +DA:93,2 +DA:94,2 +DA:95,2 +DA:96,2 +DA:97,2 +DA:98,2 +DA:99,2 +DA:100,2 +DA:101,2 +DA:102,0 +DA:103,0 +DA:104,0 +DA:105,0 +DA:106,0 +DA:107,0 +DA:108,0 +DA:109,0 +DA:110,0 +DA:111,0 +DA:112,2 +DA:113,1 +DA:114,1 +DA:115,1 +DA:116,1 +DA:117,1 +DA:118,1 +DA:119,1 +DA:120,1 +DA:121,1 +DA:122,1 +DA:123,1 +DA:124,1 +DA:125,1 +DA:126,1 +DA:127,1 +DA:128,1 +DA:129,1 +DA:130,1 +DA:131,1 +DA:132,1 +DA:133,1 +DA:134,1 +DA:135,1 +DA:136,2 +DA:137,0 +DA:138,2 +DA:139,2 +DA:140,2 +DA:141,1 +DA:142,1 +DA:143,1 +LF:143 +LH:121 +BRDA:50,0,0,2 +BRDA:51,1,0,0 +BRDA:80,2,0,2 +BRDA:81,3,0,0 +BRDA:83,4,0,0 +BRDA:89,5,0,2 +BRDA:101,6,0,0 +BRDA:126,7,0,2 +BRDA:126,8,0,0 +BRDA:126,9,0,0 +BRDA:127,10,0,2 +BRDA:127,11,0,0 +BRDA:130,12,0,2 +BRDA:130,13,0,0 +BRDA:131,14,0,2 +BRDA:131,15,0,0 +BRDA:131,16,0,0 +BRDA:135,17,0,2 +BRDA:136,18,0,0 +BRF:19 +BRH:8 +end_of_record +TN: +SF:src\components\timeline-vertical\timeline-vertical.tsx +FN:26,TimelineVertical +FNF:1 +FNH:0 +FNDA:0,TimelineVertical +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:19,1 +DA:20,1 +DA:21,1 +DA:22,1 +DA:23,1 +DA:24,1 +DA:25,1 +DA:26,1 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:59,0 +DA:60,0 +DA:61,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:68,0 +DA:69,0 +DA:70,0 +DA:71,0 +DA:72,0 +DA:73,0 +DA:74,0 +DA:75,0 +DA:76,0 +DA:77,0 +DA:78,0 +DA:79,0 +DA:80,0 +DA:81,0 +DA:82,0 +DA:83,0 +DA:84,0 +DA:85,0 +DA:86,0 +DA:87,0 +DA:88,0 +DA:89,0 +DA:90,0 +DA:91,0 +DA:92,0 +DA:93,0 +DA:94,0 +DA:95,0 +DA:96,0 +DA:97,0 +DA:98,0 +DA:99,0 +DA:100,0 +DA:101,0 +DA:102,0 +DA:103,0 +DA:104,0 +DA:105,0 +DA:106,0 +DA:107,0 +DA:108,0 +DA:109,0 +DA:110,0 +DA:111,0 +DA:112,0 +DA:113,0 +DA:114,0 +DA:115,0 +DA:116,0 +DA:117,0 +DA:118,0 +DA:119,0 +DA:120,0 +DA:121,0 +DA:122,1 +DA:123,1 +DA:124,1 +DA:125,1 +LF:125 +LH:30 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src\utils\index.ts +FN:4,uniqueID +FN:14,hexToRGBA +FN:22,getDefaultThemeOrDark +FN:29,getDefaultClassNames +FN:39,getDefaultButtonTexts +FN:52,getSlideShowType +FNF:6 +FNH:6 +FNDA:1,uniqueID +FNDA:33,hexToRGBA +FNDA:3,getDefaultThemeOrDark +FNDA:1,getDefaultClassNames +FNDA:1,getDefaultButtonTexts +FNDA:4,getSlideShowType +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,7 +DA:10,7 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,33 +DA:16,33 +DA:17,33 +DA:18,33 +DA:19,33 +DA:20,33 +DA:21,1 +DA:22,1 +DA:23,3 +DA:24,1 +DA:25,1 +DA:26,2 +DA:27,2 +DA:28,1 +DA:29,1 +DA:30,1 +DA:31,1 +DA:32,1 +DA:33,1 +DA:34,1 +DA:35,1 +DA:36,1 +DA:37,1 +DA:38,1 +DA:39,1 +DA:40,1 +DA:41,1 +DA:42,1 +DA:43,1 +DA:44,1 +DA:45,1 +DA:46,1 +DA:47,1 +DA:48,1 +DA:49,1 +DA:50,1 +DA:51,1 +DA:52,1 +DA:53,4 +DA:54,4 +DA:55,4 +DA:56,1 +DA:57,1 +DA:58,4 +DA:59,1 +DA:60,1 +DA:61,2 +DA:62,4 +DA:63,1 +DA:64,1 +DA:65,1 +DA:66,1 +DA:67,1 +LF:67 +LH:67 +BRDA:4,0,0,1 +BRDA:8,1,0,7 +BRDA:14,2,0,33 +BRDA:22,3,0,3 +BRDA:23,4,0,1 +BRDA:25,5,0,2 +BRDA:29,6,0,1 +BRDA:39,7,0,1 +BRDA:52,8,0,4 +BRDA:55,9,0,1 +BRDA:57,10,0,3 +BRDA:58,11,0,1 +BRDA:60,12,0,2 +BRDA:62,13,0,1 +BRF:14 +BRH:14 +end_of_record diff --git a/package.json b/package.json index 44cec046..274d1aca 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "classnames": "^2.3.2", "dayjs": "^1.11.10", "focus-visible": "^5.2.0", - "styled-components": "^6.1.0", + "styled-components": "^6.1.1", "stylis": "^4.3.0" }, "peerDependencies": { @@ -54,13 +54,13 @@ "registry": "https://registry.npmjs.org/" }, "devDependencies": { - "@babel/core": "^7.23.2", + "@babel/core": "^7.23.3", "@babel/plugin-proposal-optional-chaining": "^7.21.0", - "@babel/plugin-transform-runtime": "^7.23.2", - "@babel/plugin-transform-typescript": "^7.22.15", - "@babel/preset-env": "^7.23.2", - "@babel/preset-react": "^7.22.15", - "@babel/preset-typescript": "^7.23.2", + "@babel/plugin-transform-runtime": "^7.23.3", + "@babel/plugin-transform-typescript": "^7.23.3", + "@babel/preset-env": "^7.23.3", + "@babel/preset-react": "^7.23.3", + "@babel/preset-typescript": "^7.23.3", "@emotion/babel-plugin": "^11.11.0", "@jest/types": "^29.6.3", "@rollup/plugin-babel": "^6.0.4", @@ -69,31 +69,31 @@ "@rollup/plugin-node-resolve": "^15.2.3", "@rollup/plugin-strip": "^3.0.4", "@rollup/plugin-terser": "^0.4.4", - "@size-limit/preset-big-lib": "^10.0.2", + "@size-limit/preset-big-lib": "^11.0.0", "@stylelint/postcss-css-in-js": "^0.38.0", "@testing-library/dom": "^9.3.3", "@testing-library/jest-dom": "^6.1.4", - "@testing-library/react": "^14.0.0", + "@testing-library/react": "^14.1.2", "@testing-library/react-hooks": "^8.0.1", "@testing-library/user-event": "^14.5.1", - "@types/jest": "^29.5.7", - "@types/node": "^20.8.10", - "@types/react": "^18.2.36", - "@types/react-dom": "^18.2.14", + "@types/jest": "^29.5.8", + "@types/node": "^20.9.2", + "@types/react": "^18.2.37", + "@types/react-dom": "^18.2.15", "@types/react-router-dom": "^5.3.3", - "@types/styled-components": "^5.1.29", + "@types/styled-components": "^5.1.30", "@types/testing-library__jest-dom": "^6.0.0", - "@typescript-eslint/eslint-plugin": "^6.10.0", - "@typescript-eslint/parser": "^6.10.0", - "@vitejs/plugin-react": "^4.1.1", + "@typescript-eslint/eslint-plugin": "^6.11.0", + "@typescript-eslint/parser": "^6.11.0", + "@vitejs/plugin-react": "^4.2.0", "@vitest/coverage-v8": "^0.34.6", "autoprefixer": "^10.4.16", "babel-loader": "^9.1.3", "babel-plugin-styled-components": "^2.1.4", "c8": "^8.0.1", "cssnano": "^6.0.1", - "cypress": "13.4.0", - "eslint": "^8.53.0", + "cypress": "13.5.1", + "eslint": "^8.54.0", "eslint-config-prettier": "^9.0.0", "eslint-plugin-import": "^2.29.0", "eslint-plugin-jsx-a11y": "^6.8.0", @@ -102,18 +102,18 @@ "eslint-plugin-typescript-sort-keys": "^3.1.0", "husky": "^8.0.3", "jsdom": "^22.1.0", - "lint-staged": "^15.0.2", + "lint-staged": "^15.1.0", "postcss": "^8.4.31", "postcss-preset-env": "^9.3.0", "postcss-syntax": "^0.36.2", - "prettier": "^3.0.3", + "prettier": "^3.1.0", "pretty-quick": "^3.1.3", "react": "^18.2.0", "react-dom": "^18.2.0", "react-is": "^18.2.0", - "react-router-dom": "^6.18.0", + "react-router-dom": "^6.19.0", "rimraf": "^5.0.5", - "rollup": "^4.3.0", + "rollup": "^4.5.0", "rollup-plugin-analyzer": "^4.0.0", "rollup-plugin-copy": "^3.5.0", "rollup-plugin-delete": "^2.0.0", @@ -122,9 +122,9 @@ "rollup-plugin-typescript2": "^0.36.0", "sass": "^1.69.5", "semver": "^7.5.4", - "size-limit": "^10.0.2", - "snyk": "^1.1238.0", - "start-server-and-test": "^2.0.2", + "size-limit": "^11.0.0", + "snyk": "^1.1248.0", + "start-server-and-test": "^2.0.3", "stylelint": "^15.11.0", "stylelint-config-recommended": "^13.0.0", "stylelint-config-styled-components": "^0.1.1", @@ -132,7 +132,7 @@ "stylelint-processor-styled-components": "^1.10.0", "typescript": "^5.2.2", "typescript-plugin-styled-components": "^3.0.0", - "vite": "^4.5.0", + "vite": "^5.0.0", "vite-tsconfig-paths": "^4.2.1", "vitest": "^0.34.6" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 176f7f6d..6def9a54 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -20,34 +20,34 @@ dependencies: specifier: ^5.2.0 version: 5.2.0 styled-components: - specifier: ^6.1.0 - version: 6.1.0(react-dom@18.2.0)(react@18.2.0) + specifier: ^6.1.1 + version: 6.1.1(react-dom@18.2.0)(react@18.2.0) stylis: specifier: ^4.3.0 version: 4.3.0 devDependencies: '@babel/core': - specifier: ^7.23.2 - version: 7.23.2 + specifier: ^7.23.3 + version: 7.23.3 '@babel/plugin-proposal-optional-chaining': specifier: ^7.21.0 - version: 7.21.0(@babel/core@7.23.2) + version: 7.21.0(@babel/core@7.23.3) '@babel/plugin-transform-runtime': - specifier: ^7.23.2 - version: 7.23.2(@babel/core@7.23.2) + specifier: ^7.23.3 + version: 7.23.3(@babel/core@7.23.3) '@babel/plugin-transform-typescript': - specifier: ^7.22.15 - version: 7.22.15(@babel/core@7.23.2) + specifier: ^7.23.3 + version: 7.23.3(@babel/core@7.23.3) '@babel/preset-env': - specifier: ^7.23.2 - version: 7.23.2(@babel/core@7.23.2) + specifier: ^7.23.3 + version: 7.23.3(@babel/core@7.23.3) '@babel/preset-react': - specifier: ^7.22.15 - version: 7.22.15(@babel/core@7.23.2) + specifier: ^7.23.3 + version: 7.23.3(@babel/core@7.23.3) '@babel/preset-typescript': - specifier: ^7.23.2 - version: 7.23.2(@babel/core@7.23.2) + specifier: ^7.23.3 + version: 7.23.3(@babel/core@7.23.3) '@emotion/babel-plugin': specifier: ^11.11.0 version: 11.11.0 @@ -56,25 +56,25 @@ devDependencies: version: 29.6.3 '@rollup/plugin-babel': specifier: ^6.0.4 - version: 6.0.4(@babel/core@7.23.2)(rollup@4.3.0) + version: 6.0.4(@babel/core@7.23.3)(rollup@4.5.0) '@rollup/plugin-buble': specifier: ^1.0.3 - version: 1.0.3(rollup@4.3.0) + version: 1.0.3(rollup@4.5.0) '@rollup/plugin-commonjs': specifier: ^25.0.7 - version: 25.0.7(rollup@4.3.0) + version: 25.0.7(rollup@4.5.0) '@rollup/plugin-node-resolve': specifier: ^15.2.3 - version: 15.2.3(rollup@4.3.0) + version: 15.2.3(rollup@4.5.0) '@rollup/plugin-strip': specifier: ^3.0.4 - version: 3.0.4(rollup@4.3.0) + version: 3.0.4(rollup@4.5.0) '@rollup/plugin-terser': specifier: ^0.4.4 - version: 0.4.4(rollup@4.3.0) + version: 0.4.4(rollup@4.5.0) '@size-limit/preset-big-lib': - specifier: ^10.0.2 - version: 10.0.2(size-limit@10.0.2) + specifier: ^11.0.0 + version: 11.0.0(size-limit@11.0.0) '@stylelint/postcss-css-in-js': specifier: ^0.38.0 version: 0.38.0(postcss-syntax@0.36.2)(postcss@8.4.31) @@ -83,46 +83,46 @@ devDependencies: version: 9.3.3 '@testing-library/jest-dom': specifier: ^6.1.4 - version: 6.1.4(@types/jest@29.5.7)(vitest@0.34.6) + version: 6.1.4(@types/jest@29.5.8)(vitest@0.34.6) '@testing-library/react': - specifier: ^14.0.0 - version: 14.0.0(react-dom@18.2.0)(react@18.2.0) + specifier: ^14.1.2 + version: 14.1.2(react-dom@18.2.0)(react@18.2.0) '@testing-library/react-hooks': specifier: ^8.0.1 - version: 8.0.1(@types/react@18.2.36)(react-dom@18.2.0)(react@18.2.0) + version: 8.0.1(@types/react@18.2.37)(react-dom@18.2.0)(react@18.2.0) '@testing-library/user-event': specifier: ^14.5.1 version: 14.5.1(@testing-library/dom@9.3.3) '@types/jest': - specifier: ^29.5.7 - version: 29.5.7 + specifier: ^29.5.8 + version: 29.5.8 '@types/node': - specifier: ^20.8.10 - version: 20.8.10 + specifier: ^20.9.2 + version: 20.9.2 '@types/react': - specifier: ^18.2.36 - version: 18.2.36 + specifier: ^18.2.37 + version: 18.2.37 '@types/react-dom': - specifier: ^18.2.14 - version: 18.2.14 + specifier: ^18.2.15 + version: 18.2.15 '@types/react-router-dom': specifier: ^5.3.3 version: 5.3.3 '@types/styled-components': - specifier: ^5.1.29 - version: 5.1.29 + specifier: ^5.1.30 + version: 5.1.30 '@types/testing-library__jest-dom': specifier: ^6.0.0 - version: 6.0.0(@types/jest@29.5.7)(vitest@0.34.6) + version: 6.0.0(@types/jest@29.5.8)(vitest@0.34.6) '@typescript-eslint/eslint-plugin': - specifier: ^6.10.0 - version: 6.10.0(@typescript-eslint/parser@6.10.0)(eslint@8.53.0)(typescript@5.2.2) + specifier: ^6.11.0 + version: 6.11.0(@typescript-eslint/parser@6.11.0)(eslint@8.54.0)(typescript@5.2.2) '@typescript-eslint/parser': - specifier: ^6.10.0 - version: 6.10.0(eslint@8.53.0)(typescript@5.2.2) + specifier: ^6.11.0 + version: 6.11.0(eslint@8.54.0)(typescript@5.2.2) '@vitejs/plugin-react': - specifier: ^4.1.1 - version: 4.1.1(vite@4.5.0) + specifier: ^4.2.0 + version: 4.2.0(vite@5.0.0) '@vitest/coverage-v8': specifier: ^0.34.6 version: 0.34.6(vitest@0.34.6) @@ -131,10 +131,10 @@ devDependencies: version: 10.4.16(postcss@8.4.31) babel-loader: specifier: ^9.1.3 - version: 9.1.3(@babel/core@7.23.2)(webpack@5.89.0) + version: 9.1.3(@babel/core@7.23.3)(webpack@5.89.0) babel-plugin-styled-components: specifier: ^2.1.4 - version: 2.1.4(@babel/core@7.23.2)(styled-components@6.1.0) + version: 2.1.4(@babel/core@7.23.3)(styled-components@6.1.1) c8: specifier: ^8.0.1 version: 8.0.1 @@ -142,29 +142,29 @@ devDependencies: specifier: ^6.0.1 version: 6.0.1(postcss@8.4.31) cypress: - specifier: 13.4.0 - version: 13.4.0 + specifier: 13.5.1 + version: 13.5.1 eslint: - specifier: ^8.53.0 - version: 8.53.0 + specifier: ^8.54.0 + version: 8.54.0 eslint-config-prettier: specifier: ^9.0.0 - version: 9.0.0(eslint@8.53.0) + version: 9.0.0(eslint@8.54.0) eslint-plugin-import: specifier: ^2.29.0 - version: 2.29.0(@typescript-eslint/parser@6.10.0)(eslint@8.53.0) + version: 2.29.0(@typescript-eslint/parser@6.11.0)(eslint@8.54.0) eslint-plugin-jsx-a11y: specifier: ^6.8.0 - version: 6.8.0(eslint@8.53.0) + version: 6.8.0(eslint@8.54.0) eslint-plugin-react: specifier: ^7.33.2 - version: 7.33.2(eslint@8.53.0) + version: 7.33.2(eslint@8.54.0) eslint-plugin-sort-keys-fix: specifier: ^1.1.2 version: 1.1.2 eslint-plugin-typescript-sort-keys: specifier: ^3.1.0 - version: 3.1.0(@typescript-eslint/parser@6.10.0)(eslint@8.53.0)(typescript@5.2.2) + version: 3.1.0(@typescript-eslint/parser@6.11.0)(eslint@8.54.0)(typescript@5.2.2) husky: specifier: ^8.0.3 version: 8.0.3 @@ -172,8 +172,8 @@ devDependencies: specifier: ^22.1.0 version: 22.1.0 lint-staged: - specifier: ^15.0.2 - version: 15.0.2 + specifier: ^15.1.0 + version: 15.1.0 postcss: specifier: ^8.4.31 version: 8.4.31 @@ -184,11 +184,11 @@ devDependencies: specifier: ^0.36.2 version: 0.36.2(postcss@8.4.31) prettier: - specifier: ^3.0.3 - version: 3.0.3 + specifier: ^3.1.0 + version: 3.1.0 pretty-quick: specifier: ^3.1.3 - version: 3.1.3(prettier@3.0.3) + version: 3.1.3(prettier@3.1.0) react: specifier: ^18.2.0 version: 18.2.0 @@ -199,14 +199,14 @@ devDependencies: specifier: ^18.2.0 version: 18.2.0 react-router-dom: - specifier: ^6.18.0 - version: 6.18.0(react-dom@18.2.0)(react@18.2.0) + specifier: ^6.19.0 + version: 6.19.0(react-dom@18.2.0)(react@18.2.0) rimraf: specifier: ^5.0.5 version: 5.0.5 rollup: - specifier: ^4.3.0 - version: 4.3.0 + specifier: ^4.5.0 + version: 4.5.0 rollup-plugin-analyzer: specifier: ^4.0.0 version: 4.0.0 @@ -218,13 +218,13 @@ devDependencies: version: 2.0.0 rollup-plugin-peer-deps-external: specifier: ^2.2.4 - version: 2.2.4(rollup@4.3.0) + version: 2.2.4(rollup@4.5.0) rollup-plugin-postcss: specifier: ^4.0.2 version: 4.0.2(postcss@8.4.31) rollup-plugin-typescript2: specifier: ^0.36.0 - version: 0.36.0(rollup@4.3.0)(typescript@5.2.2) + version: 0.36.0(rollup@4.5.0)(typescript@5.2.2) sass: specifier: ^1.69.5 version: 1.69.5 @@ -232,14 +232,14 @@ devDependencies: specifier: 7.5.4 version: 7.5.4 size-limit: - specifier: ^10.0.2 - version: 10.0.2 + specifier: ^11.0.0 + version: 11.0.0 snyk: - specifier: ^1.1238.0 - version: 1.1238.0 + specifier: ^1.1248.0 + version: 1.1248.0 start-server-and-test: - specifier: ^2.0.2 - version: 2.0.2 + specifier: ^2.0.3 + version: 2.0.3 stylelint: specifier: ^15.11.0 version: 15.11.0(typescript@5.2.2) @@ -262,11 +262,11 @@ devDependencies: specifier: ^3.0.0 version: 3.0.0(typescript@5.2.2) vite: - specifier: ^4.5.0 - version: 4.5.0(@types/node@20.8.10)(sass@1.69.5) + specifier: ^5.0.0 + version: 5.0.0(@types/node@20.9.2)(sass@1.69.5) vite-tsconfig-paths: specifier: ^4.2.1 - version: 4.2.1(typescript@5.2.2)(vite@4.5.0) + version: 4.2.1(typescript@5.2.2)(vite@5.0.0) vitest: specifier: ^0.34.6 version: 0.34.6(jsdom@22.1.0)(sass@1.69.5) @@ -298,25 +298,25 @@ packages: chalk: 2.4.2 dev: true - /@babel/compat-data@7.23.2: - resolution: {integrity: sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==} + /@babel/compat-data@7.23.3: + resolution: {integrity: sha512-BmR4bWbDIoFJmJ9z2cZ8Gmm2MXgEDgjdWgpKmKWUt54UGFJdlj31ECtbaDvCG/qVdG3AQ1SfpZEs01lUFbzLOQ==} engines: {node: '>=6.9.0'} dev: true - /@babel/core@7.23.2: - resolution: {integrity: sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==} + /@babel/core@7.23.3: + resolution: {integrity: sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 '@babel/code-frame': 7.22.13 - '@babel/generator': 7.23.0 + '@babel/generator': 7.23.3 '@babel/helper-compilation-targets': 7.22.15 - '@babel/helper-module-transforms': 7.23.0(@babel/core@7.23.2) + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) '@babel/helpers': 7.23.2 - '@babel/parser': 7.23.0 + '@babel/parser': 7.23.3 '@babel/template': 7.22.15 - '@babel/traverse': 7.23.2 - '@babel/types': 7.23.0 + '@babel/traverse': 7.23.3 + '@babel/types': 7.23.3 convert-source-map: 2.0.0 debug: 4.3.4(supports-color@8.1.1) gensync: 1.0.0-beta.2 @@ -326,11 +326,11 @@ packages: - supports-color dev: true - /@babel/generator@7.23.0: - resolution: {integrity: sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==} + /@babel/generator@7.23.3: + resolution: {integrity: sha512-keeZWAV4LU3tW0qRi19HRpabC/ilM0HRBBzf9/k8FFiG4KVpiv0FIy4hHfLfFQZNhziCTPTmd59zoyv6DNISzg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.20 jsesc: 2.5.2 @@ -340,63 +340,63 @@ packages: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 dev: true /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15: resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 dev: true /@babel/helper-compilation-targets@7.22.15: resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/compat-data': 7.23.2 + '@babel/compat-data': 7.23.3 '@babel/helper-validator-option': 7.22.15 browserslist: 4.22.1 lru-cache: 5.1.1 semver: 7.5.4 dev: true - /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.23.2): + /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.23.3): resolution: {integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.22.5 - '@babel/helper-member-expression-to-functions': 7.22.15 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.2) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.3) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 7.5.4 dev: true - /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.23.2): + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.23.3): resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-annotate-as-pure': 7.22.5 regexpu-core: 5.3.2 semver: 7.5.4 dev: true - /@babel/helper-define-polyfill-provider@0.4.3(@babel/core@7.23.2): + /@babel/helper-define-polyfill-provider@0.4.3(@babel/core@7.23.3): resolution: {integrity: sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 debug: 4.3.4(supports-color@8.1.1) @@ -411,34 +411,26 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/helper-function-name@7.22.5: - resolution: {integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.22.15 - '@babel/types': 7.23.0 - dev: true - /@babel/helper-function-name@7.23.0: resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.22.15 - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 dev: true /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 dev: true - /@babel/helper-member-expression-to-functions@7.22.15: - resolution: {integrity: sha512-qLNsZbgrNh0fDQBCPocSL8guki1hcPvltGDv/NxvUoABwFq7GkKSu1nRXeJkVZc+wJvne2E0RKQz+2SQrz6eAA==} + /@babel/helper-member-expression-to-functions@7.23.0: + resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 dev: true /@babel/helper-module-imports@7.22.15: @@ -452,16 +444,16 @@ packages: resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 dev: true - /@babel/helper-module-transforms@7.23.0(@babel/core@7.23.2): - resolution: {integrity: sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==} + /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-module-imports': 7.22.15 '@babel/helper-simple-access': 7.22.5 @@ -473,7 +465,7 @@ packages: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 dev: true /@babel/helper-plugin-utils@7.22.5: @@ -481,27 +473,27 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.23.2): + /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.23.3): resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-wrap-function': 7.22.20 dev: true - /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.2): + /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.3): resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-member-expression-to-functions': 7.22.15 + '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 dev: true @@ -509,21 +501,21 @@ packages: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 dev: true /@babel/helper-skip-transparent-expression-wrappers@7.22.5: resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 dev: true /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 dev: true /@babel/helper-string-parser@7.22.5: @@ -547,7 +539,7 @@ packages: dependencies: '@babel/helper-function-name': 7.23.0 '@babel/template': 7.22.15 - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 dev: true /@babel/helpers@7.23.2: @@ -555,8 +547,8 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.22.15 - '@babel/traverse': 7.23.2 - '@babel/types': 7.23.0 + '@babel/traverse': 7.23.3 + '@babel/types': 7.23.3 transitivePeerDependencies: - supports-color dev: true @@ -575,1019 +567,1033 @@ packages: engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 dev: true - /@babel/parser@7.23.0: - resolution: {integrity: sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==} + /@babel/parser@7.23.3: + resolution: {integrity: sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 dev: true - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.15(@babel/core@7.23.2): - resolution: {integrity: sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==} + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.15(@babel/core@7.23.2): - resolution: {integrity: sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==} + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.23.0(@babel/core@7.23.2) + '@babel/plugin-transform-optional-chaining': 7.23.3(@babel/core@7.23.3) dev: true - /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.23.2): + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-XaJak1qcityzrX0/IU5nKHb34VaibwP3saKqG6a/tppelgllOH13LUann4ZCIBcVOeE6H18K4Vx9QKkVww3z/w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.23.3): resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.2) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.3) dev: true - /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.2): + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.3): resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 dev: true - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.2): + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.3): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.2): + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.3): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.23.2): + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.23.3): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.23.2): + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.23.3): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.23.2): + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.23.3): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==} + /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==} + /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.2): + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.3): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.2): + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.3): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.23.2): + /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.23.3): resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.2): + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.3): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.2): + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.3): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.2): + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.3): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.2): + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.3): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.2): + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.3): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.2): + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.3): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.23.2): + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.23.3): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.2): + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.3): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} + /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.23.2): + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.23.3): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.2 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.2) + '@babel/core': 7.23.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==} + /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-async-generator-functions@7.23.2(@babel/core@7.23.2): - resolution: {integrity: sha512-BBYVGxbDVHfoeXbOwcagAkOQAm9NxoTdMGfTqghu1GrvadSaw6iW3Je6IcL5PNOw8VwjxqBECXy50/iCQSY/lQ==} + /@babel/plugin-transform-async-generator-functions@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-59GsVNavGxAXCDDbakWSMJhajASb4kBCqDjqJsv+p5nKdbz7istmZ3HrX3L2LuiI80+zsOADCvooqQH3qGCucQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.2) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.2) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.3) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.3) dev: true - /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==} + /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.2) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.3) dev: true - /@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==} + /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-block-scoping@7.23.0(@babel/core@7.23.2): - resolution: {integrity: sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g==} + /@babel/plugin-transform-block-scoping@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-QPZxHrThbQia7UdvfpaRRlq/J9ciz1J4go0k+lPBXbgaNeY7IQrBj/9ceWjvMMI07/ZBzHl/F0R/2K0qH7jCVw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==} + /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.2) + '@babel/core': 7.23.3 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-class-static-block@7.22.11(@babel/core@7.23.2): - resolution: {integrity: sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==} + /@babel/plugin-transform-class-static-block@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-PENDVxdr7ZxKPyi5Ffc0LjXdnJyrJxyqF5T5YjlVg4a0VFfQHW0r8iAtRiDXkfHlu1wwcvdtnndGYIeJLSuRMQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: - '@babel/core': 7.23.2 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.2) + '@babel/core': 7.23.3 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.2) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.3) dev: true - /@babel/plugin-transform-classes@7.22.15(@babel/core@7.23.2): - resolution: {integrity: sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==} + /@babel/plugin-transform-classes@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-FGEQmugvAEu2QtgtU0uTASXevfLMFfBeVCIIdcQhn/uBQsMTjBajdnAtanQlOcuihWh10PZ7+HWvc7NtBwP74w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.2) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.3) '@babel/helper-split-export-declaration': 7.22.6 globals: 11.12.0 dev: true - /@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==} + /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 '@babel/template': 7.22.15 dev: true - /@babel/plugin-transform-destructuring@7.23.0(@babel/core@7.23.2): - resolution: {integrity: sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg==} + /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==} + /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.2) + '@babel/core': 7.23.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==} + /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-dynamic-import@7.22.11(@babel/core@7.23.2): - resolution: {integrity: sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==} + /@babel/plugin-transform-dynamic-import@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-vTG+cTGxPFou12Rj7ll+eD5yWeNl5/8xvQvF08y5Gv3v4mZQoyFf8/n9zg4q5vvCWt5jmgymfzMAldO7orBn7A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.2) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.3) dev: true - /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==} + /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-export-namespace-from@7.22.11(@babel/core@7.23.2): - resolution: {integrity: sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==} + /@babel/plugin-transform-export-namespace-from@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-yCLhW34wpJWRdTxxWtFZASJisihrfyMOTOQexhVzA78jlU+dH7Dw+zQgcPepQ5F3C6bAIiblZZ+qBggJdHiBAg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.2) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.3) dev: true - /@babel/plugin-transform-for-of@7.22.15(@babel/core@7.23.2): - resolution: {integrity: sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==} + /@babel/plugin-transform-for-of@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-X8jSm8X1CMwxmK878qsUGJRmbysKNbdpTv/O1/v0LuY/ZkZrng5WYiekYSdg9m09OTmDDUWeEDsTE+17WYbAZw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-function-name@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==} + /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-json-strings@7.22.11(@babel/core@7.23.2): - resolution: {integrity: sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==} + /@babel/plugin-transform-json-strings@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-H9Ej2OiISIZowZHaBwF0tsJOih1PftXJtE8EWqlEIwpc7LMTGq0rPOrywKLQ4nefzx8/HMR0D3JGXoMHYvhi0A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.2) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.3) dev: true - /@babel/plugin-transform-literals@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==} + /@babel/plugin-transform-literals@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-logical-assignment-operators@7.22.11(@babel/core@7.23.2): - resolution: {integrity: sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==} + /@babel/plugin-transform-logical-assignment-operators@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-+pD5ZbxofyOygEp+zZAfujY2ShNCXRpDRIPOiBmTO693hhyOEteZgl876Xs9SAHPQpcV0vz8LvA/T+w8AzyX8A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.2) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.3) dev: true - /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==} + /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-modules-amd@7.23.0(@babel/core@7.23.2): - resolution: {integrity: sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw==} + /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 - '@babel/helper-module-transforms': 7.23.0(@babel/core@7.23.2) + '@babel/core': 7.23.3 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-modules-commonjs@7.23.0(@babel/core@7.23.2): - resolution: {integrity: sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ==} + /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 - '@babel/helper-module-transforms': 7.23.0(@babel/core@7.23.2) + '@babel/core': 7.23.3 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-simple-access': 7.22.5 dev: true - /@babel/plugin-transform-modules-systemjs@7.23.0(@babel/core@7.23.2): - resolution: {integrity: sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg==} + /@babel/plugin-transform-modules-systemjs@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.23.0(@babel/core@7.23.2) + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-validator-identifier': 7.22.20 dev: true - /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==} + /@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 - '@babel/helper-module-transforms': 7.23.0(@babel/core@7.23.2) + '@babel/core': 7.23.3 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.23.2): + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.23.3): resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.2 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.2) + '@babel/core': 7.23.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-new-target@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==} + /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-nullish-coalescing-operator@7.22.11(@babel/core@7.23.2): - resolution: {integrity: sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==} + /@babel/plugin-transform-nullish-coalescing-operator@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-xzg24Lnld4DYIdysyf07zJ1P+iIfJpxtVFOzX4g+bsJ3Ng5Le7rXx9KwqKzuyaUeRnt+I1EICwQITqc0E2PmpA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.2) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.3) dev: true - /@babel/plugin-transform-numeric-separator@7.22.11(@babel/core@7.23.2): - resolution: {integrity: sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==} + /@babel/plugin-transform-numeric-separator@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-s9GO7fIBi/BLsZ0v3Rftr6Oe4t0ctJ8h4CCXfPoEJwmvAPMyNrfkOOJzm6b9PX9YXcCJWWQd/sBF/N26eBiMVw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.2) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.3) dev: true - /@babel/plugin-transform-object-rest-spread@7.22.15(@babel/core@7.23.2): - resolution: {integrity: sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q==} + /@babel/plugin-transform-object-rest-spread@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-VxHt0ANkDmu8TANdE9Kc0rndo/ccsmfe2Cx2y5sI4hu3AukHQ5wAu4cM7j3ba8B9548ijVyclBU+nuDQftZsog==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.23.2 - '@babel/core': 7.23.2 + '@babel/compat-data': 7.23.3 + '@babel/core': 7.23.3 '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.2) - '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.23.2) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.3) dev: true - /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==} + /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.2) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.3) dev: true - /@babel/plugin-transform-optional-catch-binding@7.22.11(@babel/core@7.23.2): - resolution: {integrity: sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==} + /@babel/plugin-transform-optional-catch-binding@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-LxYSb0iLjUamfm7f1D7GpiS4j0UAC8AOiehnsGAP8BEsIX8EOi3qV6bbctw8M7ZvLtcoZfZX5Z7rN9PlWk0m5A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.2) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.3) dev: true - /@babel/plugin-transform-optional-chaining@7.23.0(@babel/core@7.23.2): - resolution: {integrity: sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g==} + /@babel/plugin-transform-optional-chaining@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-zvL8vIfIUgMccIAK1lxjvNv572JHFJIKb4MWBz5OGdBQA0fB0Xluix5rmOby48exiJc987neOmP/m9Fnpkz3Tg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.2) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.3) dev: true - /@babel/plugin-transform-parameters@7.22.15(@babel/core@7.23.2): - resolution: {integrity: sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==} + /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==} + /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.2) + '@babel/core': 7.23.3 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-private-property-in-object@7.22.11(@babel/core@7.23.2): - resolution: {integrity: sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==} + /@babel/plugin-transform-private-property-in-object@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-a5m2oLNFyje2e/rGKjVfAELTVI5mbA0FeZpBnkOWWV7eSmKQ+T/XW0Vf+29ScLzSxX+rnsarvU0oie/4m6hkxA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.2) + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.2) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.3) dev: true - /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==} + /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-react-display-name@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==} + /@babel/plugin-transform-react-display-name@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.23.2): + /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.23.3): resolution: {integrity: sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 - '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.23.2) + '@babel/core': 7.23.3 + '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.23.3) dev: true - /@babel/plugin-transform-react-jsx-self@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==} + /@babel/plugin-transform-react-jsx-self@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-react-jsx-source@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==} + /@babel/plugin-transform-react-jsx-source@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.23.2): + /@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.23.3): resolution: {integrity: sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.2) - '@babel/types': 7.23.0 + '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.3) + '@babel/types': 7.23.3 dev: true - /@babel/plugin-transform-react-pure-annotations@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA==} + /@babel/plugin-transform-react-pure-annotations@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-regenerator@7.22.10(@babel/core@7.23.2): - resolution: {integrity: sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==} + /@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 regenerator-transform: 0.15.2 dev: true - /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==} + /@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-runtime@7.23.2(@babel/core@7.23.2): - resolution: {integrity: sha512-XOntj6icgzMS58jPVtQpiuF6ZFWxQiJavISGx5KGjRj+3gqZr8+N6Kx+N9BApWzgS+DOjIZfXXj0ZesenOWDyA==} + /@babel/plugin-transform-runtime@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-XcQ3X58CKBdBnnZpPaQjgVMePsXtSZzHoku70q9tUAQp02ggPQNM04BF3RvlW1GSM/McbSOQAzEK4MXbS7/JFg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - babel-plugin-polyfill-corejs2: 0.4.6(@babel/core@7.23.2) - babel-plugin-polyfill-corejs3: 0.8.6(@babel/core@7.23.2) - babel-plugin-polyfill-regenerator: 0.5.3(@babel/core@7.23.2) + babel-plugin-polyfill-corejs2: 0.4.6(@babel/core@7.23.3) + babel-plugin-polyfill-corejs3: 0.8.6(@babel/core@7.23.3) + babel-plugin-polyfill-regenerator: 0.5.3(@babel/core@7.23.3) semver: 7.5.4 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==} + /@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-spread@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==} + /@babel/plugin-transform-spread@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: true - /@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==} + /@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==} + /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==} + /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-typescript@7.22.15(@babel/core@7.23.2): - resolution: {integrity: sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA==} + /@babel/plugin-transform-typescript@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-ogV0yWnq38CFwH20l2Afz0dfKuZBx9o/Y2Rmh5vuSS0YD1hswgEgTfyTzuSrT2q9btmHRSqYoSfwFUVaC1M1Jw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.2) + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.23.2) + '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.3) dev: true - /@babel/plugin-transform-unicode-escapes@7.22.10(@babel/core@7.23.2): - resolution: {integrity: sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==} + /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==} + /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.2) + '@babel/core': 7.23.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==} + /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.2) + '@babel/core': 7.23.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==} + /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.2 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.2) + '@babel/core': 7.23.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/preset-env@7.23.2(@babel/core@7.23.2): - resolution: {integrity: sha512-BW3gsuDD+rvHL2VO2SjAUNTBe5YrjsTiDyqamPDWY723na3/yPQ65X5oQkFVJZ0o50/2d+svm1rkPoJeR1KxVQ==} + /@babel/preset-env@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-ovzGc2uuyNfNAs/jyjIGxS8arOHS5FENZaNn4rtE7UdKMMkqHCvboHfcuhWLZNX5cB44QfcGNWjaevxMzzMf+Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.23.2 - '@babel/core': 7.23.2 + '@babel/compat-data': 7.23.3 + '@babel/core': 7.23.3 '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-validator-option': 7.22.15 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.15(@babel/core@7.23.2) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.15(@babel/core@7.23.2) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.2) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.2) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.2) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.2) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.2) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.2) - '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.2) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.2) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.2) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.2) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.2) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.2) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.2) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.2) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.2) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.2) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.23.2) - '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-async-generator-functions': 7.23.2(@babel/core@7.23.2) - '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-block-scoping': 7.23.0(@babel/core@7.23.2) - '@babel/plugin-transform-class-properties': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-class-static-block': 7.22.11(@babel/core@7.23.2) - '@babel/plugin-transform-classes': 7.22.15(@babel/core@7.23.2) - '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-destructuring': 7.23.0(@babel/core@7.23.2) - '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-duplicate-keys': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-dynamic-import': 7.22.11(@babel/core@7.23.2) - '@babel/plugin-transform-exponentiation-operator': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-export-namespace-from': 7.22.11(@babel/core@7.23.2) - '@babel/plugin-transform-for-of': 7.22.15(@babel/core@7.23.2) - '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-json-strings': 7.22.11(@babel/core@7.23.2) - '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-logical-assignment-operators': 7.22.11(@babel/core@7.23.2) - '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-modules-amd': 7.23.0(@babel/core@7.23.2) - '@babel/plugin-transform-modules-commonjs': 7.23.0(@babel/core@7.23.2) - '@babel/plugin-transform-modules-systemjs': 7.23.0(@babel/core@7.23.2) - '@babel/plugin-transform-modules-umd': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-new-target': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-nullish-coalescing-operator': 7.22.11(@babel/core@7.23.2) - '@babel/plugin-transform-numeric-separator': 7.22.11(@babel/core@7.23.2) - '@babel/plugin-transform-object-rest-spread': 7.22.15(@babel/core@7.23.2) - '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-optional-catch-binding': 7.22.11(@babel/core@7.23.2) - '@babel/plugin-transform-optional-chaining': 7.23.0(@babel/core@7.23.2) - '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.23.2) - '@babel/plugin-transform-private-methods': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-private-property-in-object': 7.22.11(@babel/core@7.23.2) - '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-regenerator': 7.22.10(@babel/core@7.23.2) - '@babel/plugin-transform-reserved-words': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-typeof-symbol': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-unicode-escapes': 7.22.10(@babel/core@7.23.2) - '@babel/plugin-transform-unicode-property-regex': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.23.2) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.23.2) - '@babel/types': 7.23.0 - babel-plugin-polyfill-corejs2: 0.4.6(@babel/core@7.23.2) - babel-plugin-polyfill-corejs3: 0.8.6(@babel/core@7.23.2) - babel-plugin-polyfill-regenerator: 0.5.3(@babel/core@7.23.2) - core-js-compat: 3.33.2 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.3) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.3) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.3) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.3) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.3) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.3) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.3) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.3) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.3) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.23.3) + '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-async-generator-functions': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-block-scoping': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-class-static-block': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-classes': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-dynamic-import': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-export-namespace-from': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-for-of': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-json-strings': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-logical-assignment-operators': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-modules-systemjs': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.23.3) + '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-nullish-coalescing-operator': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-numeric-separator': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-object-rest-spread': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-optional-catch-binding': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-optional-chaining': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-private-property-in-object': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-reserved-words': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-sticky-regex': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-typeof-symbol': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-unicode-escapes': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-unicode-property-regex': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-unicode-sets-regex': 7.23.3(@babel/core@7.23.3) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.23.3) + babel-plugin-polyfill-corejs2: 0.4.6(@babel/core@7.23.3) + babel-plugin-polyfill-corejs3: 0.8.6(@babel/core@7.23.3) + babel-plugin-polyfill-regenerator: 0.5.3(@babel/core@7.23.3) + core-js-compat: 3.33.3 semver: 7.5.4 transitivePeerDependencies: - supports-color dev: true - /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.23.2): + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.23.3): resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 esutils: 2.0.3 dev: true - /@babel/preset-react@7.22.15(@babel/core@7.23.2): - resolution: {integrity: sha512-Csy1IJ2uEh/PecCBXXoZGAZBeCATTuePzCSB7dLYWS0vOEj6CNpjxIhW4duWwZodBNueH7QO14WbGn8YyeuN9w==} + /@babel/preset-react@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-validator-option': 7.22.15 - '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.23.2) - '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-react-pure-annotations': 7.22.5(@babel/core@7.23.2) + '@babel/plugin-transform-react-display-name': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.23.3) + '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.23.3) + '@babel/plugin-transform-react-pure-annotations': 7.23.3(@babel/core@7.23.3) dev: true - /@babel/preset-typescript@7.23.2(@babel/core@7.23.2): - resolution: {integrity: sha512-u4UJc1XsS1GhIGteM8rnGiIvf9rJpiVgMEeCnwlLA7WJPC+jcXWJAGxYmeqs5hOZD8BbAfnV5ezBOxQbb4OUxA==} + /@babel/preset-typescript@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-validator-option': 7.22.15 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-modules-commonjs': 7.23.0(@babel/core@7.23.2) - '@babel/plugin-transform-typescript': 7.22.15(@babel/core@7.23.2) + '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-typescript': 7.23.3(@babel/core@7.23.3) dev: true /@babel/regjsgen@0.8.0: resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} dev: true - /@babel/runtime@7.21.0: - resolution: {integrity: sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==} - engines: {node: '>=6.9.0'} - dependencies: - regenerator-runtime: 0.13.11 - dev: true - /@babel/runtime@7.22.10: resolution: {integrity: sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==} engines: {node: '>=6.9.0'} @@ -1621,8 +1627,8 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.22.13 - '@babel/parser': 7.23.0 - '@babel/types': 7.23.0 + '@babel/parser': 7.23.3 + '@babel/types': 7.23.3 dev: true /@babel/traverse@7.19.3: @@ -1630,31 +1636,31 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.22.13 - '@babel/generator': 7.23.0 + '@babel/generator': 7.23.3 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 '@babel/parser': 7.19.3 - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 debug: 4.3.4(supports-color@8.1.1) globals: 11.12.0 transitivePeerDependencies: - supports-color dev: true - /@babel/traverse@7.23.2: - resolution: {integrity: sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==} + /@babel/traverse@7.23.3: + resolution: {integrity: sha512-+K0yF1/9yR0oHdE0StHuEj3uTPzwwbrLGfNOndVJVV2TqA5+j3oljJUb4nmB954FLGjNem976+B+eDuLIjesiQ==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.22.13 - '@babel/generator': 7.23.0 + '@babel/generator': 7.23.3 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.23.0 - '@babel/types': 7.23.0 + '@babel/parser': 7.23.3 + '@babel/types': 7.23.3 debug: 4.3.4(supports-color@8.1.1) globals: 11.12.0 transitivePeerDependencies: @@ -1670,6 +1676,15 @@ packages: to-fast-properties: 2.0.0 dev: true + /@babel/types@7.23.3: + resolution: {integrity: sha512-OZnvoH2l8PK5eUvEcUyCt/sXgr/h+UWpVuBbOljwcrAgUl6lpchoQ++PHGyQy1AtYnVA6CEq3y5xeEI10brpXw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + dev: true + /@bcoe/v8-coverage@0.2.3: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} dev: true @@ -2142,8 +2157,8 @@ packages: resolution: {integrity: sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==} dev: true - /@esbuild/android-arm64@0.18.20: - resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} + /@esbuild/android-arm64@0.19.6: + resolution: {integrity: sha512-KQ/hbe9SJvIJ4sR+2PcZ41IBV+LPJyYp6V1K1P1xcMRup9iYsBoQn4MzE3mhMLOld27Au2eDcLlIREeKGUXpHQ==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -2151,8 +2166,8 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.18.20: - resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} + /@esbuild/android-arm@0.19.6: + resolution: {integrity: sha512-muPzBqXJKCbMYoNbb1JpZh/ynl0xS6/+pLjrofcR3Nad82SbsCogYzUE6Aq9QT3cLP0jR/IVK/NHC9b90mSHtg==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -2160,8 +2175,8 @@ packages: dev: true optional: true - /@esbuild/android-x64@0.18.20: - resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} + /@esbuild/android-x64@0.19.6: + resolution: {integrity: sha512-VVJVZQ7p5BBOKoNxd0Ly3xUM78Y4DyOoFKdkdAe2m11jbh0LEU4bPles4e/72EMl4tapko8o915UalN/5zhspg==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -2169,8 +2184,8 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64@0.18.20: - resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} + /@esbuild/darwin-arm64@0.19.6: + resolution: {integrity: sha512-91LoRp/uZAKx6ESNspL3I46ypwzdqyDLXZH7x2QYCLgtnaU08+AXEbabY2yExIz03/am0DivsTtbdxzGejfXpA==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -2178,8 +2193,8 @@ packages: dev: true optional: true - /@esbuild/darwin-x64@0.18.20: - resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} + /@esbuild/darwin-x64@0.19.6: + resolution: {integrity: sha512-QCGHw770ubjBU1J3ZkFJh671MFajGTYMZumPs9E/rqU52md6lIil97BR0CbPq6U+vTh3xnTNDHKRdR8ggHnmxQ==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -2187,8 +2202,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64@0.18.20: - resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} + /@esbuild/freebsd-arm64@0.19.6: + resolution: {integrity: sha512-J53d0jGsDcLzWk9d9SPmlyF+wzVxjXpOH7jVW5ae7PvrDst4kiAz6sX+E8btz0GB6oH12zC+aHRD945jdjF2Vg==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -2196,8 +2211,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64@0.18.20: - resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} + /@esbuild/freebsd-x64@0.19.6: + resolution: {integrity: sha512-hn9qvkjHSIB5Z9JgCCjED6YYVGCNpqB7dEGavBdG6EjBD8S/UcNUIlGcB35NCkMETkdYwfZSvD9VoDJX6VeUVA==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -2205,8 +2220,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm64@0.18.20: - resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} + /@esbuild/linux-arm64@0.19.6: + resolution: {integrity: sha512-HQCOrk9XlH3KngASLaBfHpcoYEGUt829A9MyxaI8RMkfRA8SakG6YQEITAuwmtzFdEu5GU4eyhKcpv27dFaOBg==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -2214,8 +2229,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm@0.18.20: - resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} + /@esbuild/linux-arm@0.19.6: + resolution: {integrity: sha512-G8IR5zFgpXad/Zp7gr7ZyTKyqZuThU6z1JjmRyN1vSF8j0bOlGzUwFSMTbctLAdd7QHpeyu0cRiuKrqK1ZTwvQ==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -2223,8 +2238,8 @@ packages: dev: true optional: true - /@esbuild/linux-ia32@0.18.20: - resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} + /@esbuild/linux-ia32@0.19.6: + resolution: {integrity: sha512-22eOR08zL/OXkmEhxOfshfOGo8P69k8oKHkwkDrUlcB12S/sw/+COM4PhAPT0cAYW/gpqY2uXp3TpjQVJitz7w==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -2232,8 +2247,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.18.20: - resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} + /@esbuild/linux-loong64@0.19.6: + resolution: {integrity: sha512-82RvaYAh/SUJyjWA8jDpyZCHQjmEggL//sC7F3VKYcBMumQjUL3C5WDl/tJpEiKtt7XrWmgjaLkrk205zfvwTA==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -2241,8 +2256,8 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el@0.18.20: - resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} + /@esbuild/linux-mips64el@0.19.6: + resolution: {integrity: sha512-8tvnwyYJpR618vboIv2l8tK2SuK/RqUIGMfMENkeDGo3hsEIrpGldMGYFcWxWeEILe5Fi72zoXLmhZ7PR23oQA==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -2250,8 +2265,8 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64@0.18.20: - resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} + /@esbuild/linux-ppc64@0.19.6: + resolution: {integrity: sha512-Qt+D7xiPajxVNk5tQiEJwhmarNnLPdjXAoA5uWMpbfStZB0+YU6a3CtbWYSy+sgAsnyx4IGZjWsTzBzrvg/fMA==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -2259,8 +2274,8 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64@0.18.20: - resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} + /@esbuild/linux-riscv64@0.19.6: + resolution: {integrity: sha512-lxRdk0iJ9CWYDH1Wpnnnc640ajF4RmQ+w6oHFZmAIYu577meE9Ka/DCtpOrwr9McMY11ocbp4jirgGgCi7Ls/g==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -2268,8 +2283,8 @@ packages: dev: true optional: true - /@esbuild/linux-s390x@0.18.20: - resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} + /@esbuild/linux-s390x@0.19.6: + resolution: {integrity: sha512-MopyYV39vnfuykHanRWHGRcRC3AwU7b0QY4TI8ISLfAGfK+tMkXyFuyT1epw/lM0pflQlS53JoD22yN83DHZgA==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -2277,8 +2292,8 @@ packages: dev: true optional: true - /@esbuild/linux-x64@0.18.20: - resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} + /@esbuild/linux-x64@0.19.6: + resolution: {integrity: sha512-UWcieaBzsN8WYbzFF5Jq7QULETPcQvlX7KL4xWGIB54OknXJjBO37sPqk7N82WU13JGWvmDzFBi1weVBajPovg==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -2286,8 +2301,8 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64@0.18.20: - resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} + /@esbuild/netbsd-x64@0.19.6: + resolution: {integrity: sha512-EpWiLX0fzvZn1wxtLxZrEW+oQED9Pwpnh+w4Ffv8ZLuMhUoqR9q9rL4+qHW8F4Mg5oQEKxAoT0G+8JYNqCiR6g==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -2295,8 +2310,8 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64@0.18.20: - resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} + /@esbuild/openbsd-x64@0.19.6: + resolution: {integrity: sha512-fFqTVEktM1PGs2sLKH4M5mhAVEzGpeZJuasAMRnvDZNCV0Cjvm1Hu35moL2vC0DOrAQjNTvj4zWrol/lwQ8Deg==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -2304,8 +2319,8 @@ packages: dev: true optional: true - /@esbuild/sunos-x64@0.18.20: - resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} + /@esbuild/sunos-x64@0.19.6: + resolution: {integrity: sha512-M+XIAnBpaNvaVAhbe3uBXtgWyWynSdlww/JNZws0FlMPSBy+EpatPXNIlKAdtbFVII9OpX91ZfMb17TU3JKTBA==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -2313,8 +2328,8 @@ packages: dev: true optional: true - /@esbuild/win32-arm64@0.18.20: - resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} + /@esbuild/win32-arm64@0.19.6: + resolution: {integrity: sha512-2DchFXn7vp/B6Tc2eKdTsLzE0ygqKkNUhUBCNtMx2Llk4POIVMUq5rUYjdcedFlGLeRe1uLCpVvCmE+G8XYybA==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -2322,8 +2337,8 @@ packages: dev: true optional: true - /@esbuild/win32-ia32@0.18.20: - resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} + /@esbuild/win32-ia32@0.19.6: + resolution: {integrity: sha512-PBo/HPDQllyWdjwAVX+Gl2hH0dfBydL97BAH/grHKC8fubqp02aL4S63otZ25q3sBdINtOBbz1qTZQfXbP4VBg==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -2331,8 +2346,8 @@ packages: dev: true optional: true - /@esbuild/win32-x64@0.18.20: - resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} + /@esbuild/win32-x64@0.19.6: + resolution: {integrity: sha512-OE7yIdbDif2kKfrGa+V0vx/B3FJv2L4KnIiLlvtibPyO9UkgO3rzYE0HhpREo2vmJ1Ixq1zwm9/0er+3VOSZJA==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -2340,13 +2355,13 @@ packages: dev: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.53.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.54.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.53.0 + eslint: 8.54.0 eslint-visitor-keys: 3.4.3 dev: true @@ -2363,7 +2378,7 @@ packages: debug: 4.3.4(supports-color@8.1.1) espree: 9.6.1 globals: 13.23.0 - ignore: 5.2.4 + ignore: 5.3.0 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -2372,8 +2387,8 @@ packages: - supports-color dev: true - /@eslint/js@8.53.0: - resolution: {integrity: sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==} + /@eslint/js@8.54.0: + resolution: {integrity: sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true @@ -2445,7 +2460,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 20.8.10 + '@types/node': 20.9.2 '@types/yargs': 17.0.24 chalk: 4.1.2 dev: true @@ -2522,12 +2537,12 @@ packages: dev: true optional: true - /@remix-run/router@1.11.0: - resolution: {integrity: sha512-BHdhcWgeiudl91HvVa2wxqZjSHbheSgIiDvxrF1VjFzBzpTtuDPkOdOi3Iqvc08kXtFkLjhbS+ML9aM8mJS+wQ==} + /@remix-run/router@1.12.0: + resolution: {integrity: sha512-2hXv036Bux90e1GXTWSMfNzfDDK8LA8JYEWfyHxzvwdp6GyoWEovKc9cotb3KCKmkdwsIBuFGX7ScTWyiHv7Eg==} engines: {node: '>=14.0.0'} dev: true - /@rollup/plugin-babel@6.0.4(@babel/core@7.23.2)(rollup@4.3.0): + /@rollup/plugin-babel@6.0.4(@babel/core@7.23.3)(rollup@4.5.0): resolution: {integrity: sha512-YF7Y52kFdFT/xVSuVdjkV5ZdX/3YtmX0QulG+x0taQOtJdHYzVU61aSSkAgVJ7NOv6qPkIYiJSgSWWN/DM5sGw==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2540,13 +2555,13 @@ packages: rollup: optional: true dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-module-imports': 7.22.15 - '@rollup/pluginutils': 5.0.5(rollup@4.3.0) - rollup: 4.3.0 + '@rollup/pluginutils': 5.0.5(rollup@4.5.0) + rollup: 4.5.0 dev: true - /@rollup/plugin-buble@1.0.3(rollup@4.3.0): + /@rollup/plugin-buble@1.0.3(rollup@4.5.0): resolution: {integrity: sha512-QYD9BKkJoof0FdCFeSYYhF6/Y8e0Mnf+098xGgmWOFJ4UPHlWujjqOYeVwEm2hJPOmlR5k7HPUdAjqtOWhN64Q==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2555,13 +2570,13 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.5(rollup@4.3.0) + '@rollup/pluginutils': 5.0.5(rollup@4.5.0) '@types/buble': 0.19.2 buble: 0.20.0 - rollup: 4.3.0 + rollup: 4.5.0 dev: true - /@rollup/plugin-commonjs@25.0.7(rollup@4.3.0): + /@rollup/plugin-commonjs@25.0.7(rollup@4.5.0): resolution: {integrity: sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2570,16 +2585,16 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.5(rollup@4.3.0) + '@rollup/pluginutils': 5.0.5(rollup@4.5.0) commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 magic-string: 0.30.5 - rollup: 4.3.0 + rollup: 4.5.0 dev: true - /@rollup/plugin-node-resolve@15.2.3(rollup@4.3.0): + /@rollup/plugin-node-resolve@15.2.3(rollup@4.5.0): resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2588,16 +2603,16 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.5(rollup@4.3.0) + '@rollup/pluginutils': 5.0.5(rollup@4.5.0) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-builtin-module: 3.2.1 is-module: 1.0.0 resolve: 1.22.8 - rollup: 4.3.0 + rollup: 4.5.0 dev: true - /@rollup/plugin-strip@3.0.4(rollup@4.3.0): + /@rollup/plugin-strip@3.0.4(rollup@4.5.0): resolution: {integrity: sha512-LDRV49ZaavxUo2YoKKMQjCxzCxugu1rCPQa0lDYBOWLj6vtzBMr8DcoJjsmg+s450RbKbe3qI9ZLaSO+O1oNbg==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2606,13 +2621,13 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.5(rollup@4.3.0) + '@rollup/pluginutils': 5.0.5(rollup@4.5.0) estree-walker: 2.0.2 magic-string: 0.30.5 - rollup: 4.3.0 + rollup: 4.5.0 dev: true - /@rollup/plugin-terser@0.4.4(rollup@4.3.0): + /@rollup/plugin-terser@0.4.4(rollup@4.5.0): resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2621,7 +2636,7 @@ packages: rollup: optional: true dependencies: - rollup: 4.3.0 + rollup: 4.5.0 serialize-javascript: 6.0.1 smob: 1.4.1 terser: 5.21.0 @@ -2635,7 +2650,7 @@ packages: picomatch: 2.3.1 dev: true - /@rollup/pluginutils@5.0.5(rollup@4.3.0): + /@rollup/pluginutils@5.0.5(rollup@4.5.0): resolution: {integrity: sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2647,145 +2662,145 @@ packages: '@types/estree': 1.0.2 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 4.3.0 + rollup: 4.5.0 dev: true - /@rollup/rollup-android-arm-eabi@4.3.0: - resolution: {integrity: sha512-/4pns6BYi8MXdwnXM44yoGAcFYVHL/BYlB2q1HXZ6AzH++LaiEVWFpBWQ/glXhbMbv3E3o09igrHFbP/snhAvA==} + /@rollup/rollup-android-arm-eabi@4.5.0: + resolution: {integrity: sha512-OINaBGY+Wc++U0rdr7BLuFClxcoWaVW3vQYqmQq6B3bqQ/2olkaoz+K8+af/Mmka/C2yN5j+L9scBkv4BtKsDA==} cpu: [arm] os: [android] requiresBuild: true dev: true optional: true - /@rollup/rollup-android-arm64@4.3.0: - resolution: {integrity: sha512-nLO/JsL9idr416vzi3lHm3Xm+QZh4qHij8k3Er13kZr5YhL7/+kBAx84kDmPc7HMexLmwisjDCeDIKNFp8mDlQ==} + /@rollup/rollup-android-arm64@4.5.0: + resolution: {integrity: sha512-UdMf1pOQc4ZmUA/NTmKhgJTBimbSKnhPS2zJqucqFyBRFPnPDtwA8MzrGNTjDeQbIAWfpJVAlxejw+/lQyBK/w==} cpu: [arm64] os: [android] requiresBuild: true dev: true optional: true - /@rollup/rollup-darwin-arm64@4.3.0: - resolution: {integrity: sha512-dGhVBlllt4iHwTGy21IEoMOTN5wZoid19zEIxsdY29xcEiOEHqzDa7Sqrkh5OE7LKCowL61eFJXxYe/+pYa7ZQ==} + /@rollup/rollup-darwin-arm64@4.5.0: + resolution: {integrity: sha512-L0/CA5p/idVKI+c9PcAPGorH6CwXn6+J0Ys7Gg1axCbTPgI8MeMlhA6fLM9fK+ssFhqogMHFC8HDvZuetOii7w==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /@rollup/rollup-darwin-x64@4.3.0: - resolution: {integrity: sha512-h8wRfHeLEbU3NzaP1Oku7BYXCJQiTRr+8U0lklyOQXxXiEpHLL8tk1hFl+tezoRKLcPJD7joKaK74ASsqt3Ekg==} + /@rollup/rollup-darwin-x64@4.5.0: + resolution: {integrity: sha512-QZCbVqU26mNlLn8zi/XDDquNmvcr4ON5FYAHQQsyhrHx8q+sQi/6xduoznYXwk/KmKIXG5dLfR0CvY+NAWpFYQ==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.3.0: - resolution: {integrity: sha512-wP4VgR/gfV18sylTuym3sxRTkAgUR2vh6YLeX/GEznk5jCYcYSlx585XlcUcl0c8UffIZlRJ09raWSX3JDb4GA==} + /@rollup/rollup-linux-arm-gnueabihf@4.5.0: + resolution: {integrity: sha512-VpSQ+xm93AeV33QbYslgf44wc5eJGYfYitlQzAi3OObu9iwrGXEnmu5S3ilkqE3Pr/FkgOiJKV/2p0ewf4Hrtg==} cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm64-gnu@4.3.0: - resolution: {integrity: sha512-v/14JCYVkqRSJeQbxFx4oUkwVQQw6lFMN7bd4vuARBc3X2lmomkxBsc+BFiIDL/BK+CTx5AOh/k9XmqDnKWRVg==} + /@rollup/rollup-linux-arm64-gnu@4.5.0: + resolution: {integrity: sha512-OrEyIfpxSsMal44JpEVx9AEcGpdBQG1ZuWISAanaQTSMeStBW+oHWwOkoqR54bw3x8heP8gBOyoJiGg+fLY8qQ==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm64-musl@4.3.0: - resolution: {integrity: sha512-tNhfYqFH5OxtRzfkTOKdgFYlPSZnlDLNW4+leNEvQZhwTJxoTwsZAAhR97l3qVry/kkLyJPBK+Q8EAJLPinDIg==} + /@rollup/rollup-linux-arm64-musl@4.5.0: + resolution: {integrity: sha512-1H7wBbQuE6igQdxMSTjtFfD+DGAudcYWhp106z/9zBA8OQhsJRnemO4XGavdzHpGhRtRxbgmUGdO3YQgrWf2RA==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-gnu@4.3.0: - resolution: {integrity: sha512-pw77m8QywdsoFdFOgmc8roF1inBI0rciqzO8ffRUgLoq7+ee9o5eFqtEcS6hHOOplgifAUUisP8cAnwl9nUYPw==} + /@rollup/rollup-linux-x64-gnu@4.5.0: + resolution: {integrity: sha512-FVyFI13tXw5aE65sZdBpNjPVIi4Q5mARnL/39UIkxvSgRAIqCo5sCpCELk0JtXHGee2owZz5aNLbWNfBHzr71Q==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-musl@4.3.0: - resolution: {integrity: sha512-tJs7v2MnV2F8w6X1UpPHl/43OfxjUy9SuJ2ZPoxn79v9vYteChVYO/ueLHCpRMmyTUIVML3N9z4azl9ENH8Xxg==} + /@rollup/rollup-linux-x64-musl@4.5.0: + resolution: {integrity: sha512-eBPYl2sLpH/o8qbSz6vPwWlDyThnQjJfcDOGFbNjmjb44XKC1F5dQfakOsADRVrXCNzM6ZsSIPDG5dc6HHLNFg==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-arm64-msvc@4.3.0: - resolution: {integrity: sha512-OKGxp6kATQdTyI2DF+e9s+hB3/QZB45b6e+dzcfW1SUqiF6CviWyevhmT4USsMEdP3mlpC9zxLz3Oh+WaTMOSw==} + /@rollup/rollup-win32-arm64-msvc@4.5.0: + resolution: {integrity: sha512-xaOHIfLOZypoQ5U2I6rEaugS4IYtTgP030xzvrBf5js7p9WI9wik07iHmsKaej8Z83ZDxN5GyypfoyKV5O5TJA==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-ia32-msvc@4.3.0: - resolution: {integrity: sha512-DDZ5AH68JJ2ClQFEA1aNnfA7Ybqyeh0644rGbrLOdNehTmzfICHiWSn0OprzYi9HAshTPQvlwrM+bi2kuaIOjQ==} + /@rollup/rollup-win32-ia32-msvc@4.5.0: + resolution: {integrity: sha512-Al6quztQUrHwcOoU2TuFblUQ5L+/AmPBXFR6dUvyo4nRj2yQRK0WIUaGMF/uwKulvRcXkpHe3k9A8Vf93VDktA==} cpu: [ia32] os: [win32] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-x64-msvc@4.3.0: - resolution: {integrity: sha512-dMvGV8p92GQ8jhNlGIKpyhVZPzJlT258pPrM5q2F8lKcc9Iv9BbfdnhX1OfinYWnb9ms5zLw6MlaMnqLfUkKnQ==} + /@rollup/rollup-win32-x64-msvc@4.5.0: + resolution: {integrity: sha512-8kdW+brNhI/NzJ4fxDufuJUjepzINqJKLGHuxyAtpPG9bMbn8P5mtaCcbOm0EzLJ+atg+kF9dwg8jpclkVqx5w==} cpu: [x64] os: [win32] requiresBuild: true dev: true optional: true - /@sentry-internal/tracing@7.77.0: - resolution: {integrity: sha512-8HRF1rdqWwtINqGEdx8Iqs9UOP/n8E0vXUu3Nmbqj4p5sQPA7vvCfq+4Y4rTqZFc7sNdFpDsRION5iQEh8zfZw==} + /@sentry-internal/tracing@7.80.1: + resolution: {integrity: sha512-5gZ4LPIj2vpQl2/dHBM4uXMi9OI5E0VlOhJQt0foiuN6JJeiOjdpJFcfVqJk69wrc0deVENTtgKKktxqMwVeWQ==} engines: {node: '>=8'} dependencies: - '@sentry/core': 7.77.0 - '@sentry/types': 7.77.0 - '@sentry/utils': 7.77.0 + '@sentry/core': 7.80.1 + '@sentry/types': 7.80.1 + '@sentry/utils': 7.80.1 dev: true - /@sentry/core@7.77.0: - resolution: {integrity: sha512-Tj8oTYFZ/ZD+xW8IGIsU6gcFXD/gfE+FUxUaeSosd9KHwBQNOLhZSsYo/tTVf/rnQI/dQnsd4onPZLiL+27aTg==} + /@sentry/core@7.80.1: + resolution: {integrity: sha512-3Yh+O9Q86MxwIuJFYtuSSoUCpdx99P1xDAqL0FIPTJ+ekaVMiUJq9NmyaNh9uN2myPSmxvEXW6q3z37zta9ZHg==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.77.0 - '@sentry/utils': 7.77.0 + '@sentry/types': 7.80.1 + '@sentry/utils': 7.80.1 dev: true - /@sentry/node@7.77.0: - resolution: {integrity: sha512-Ob5tgaJOj0OYMwnocc6G/CDLWC7hXfVvKX/ofkF98+BbN/tQa5poL+OwgFn9BA8ud8xKzyGPxGU6LdZ8Oh3z/g==} + /@sentry/node@7.80.1: + resolution: {integrity: sha512-0NWfcZMlyQphKWsvyzfhGm2dCBk5DUPqOGW/vGx18G4tCCYtFcAIj/mCp/4XOEcZRPQgb9vkm+sidGD6DnwWlA==} engines: {node: '>=8'} dependencies: - '@sentry-internal/tracing': 7.77.0 - '@sentry/core': 7.77.0 - '@sentry/types': 7.77.0 - '@sentry/utils': 7.77.0 + '@sentry-internal/tracing': 7.80.1 + '@sentry/core': 7.80.1 + '@sentry/types': 7.80.1 + '@sentry/utils': 7.80.1 https-proxy-agent: 5.0.1 transitivePeerDependencies: - supports-color dev: true - /@sentry/types@7.77.0: - resolution: {integrity: sha512-nfb00XRJVi0QpDHg+JkqrmEBHsqBnxJu191Ded+Cs1OJ5oPXEW6F59LVcBScGvMqe+WEk1a73eH8XezwfgrTsA==} + /@sentry/types@7.80.1: + resolution: {integrity: sha512-CVu4uPVTOI3U9kYiOdA085R7jX5H1oVODbs9y+A8opJ0dtJTMueCXgZyE8oXQ0NjGVs6HEeaLkOuiV0mj8X3yw==} engines: {node: '>=8'} dev: true - /@sentry/utils@7.77.0: - resolution: {integrity: sha512-NmM2kDOqVchrey3N5WSzdQoCsyDkQkiRxExPaNI2oKQ/jMWHs9yt0tSy7otPBcXs0AP59ihl75Bvm1tDRcsp5g==} + /@sentry/utils@7.80.1: + resolution: {integrity: sha512-bfFm2e/nEn+b9++QwjNEYCbS7EqmteT8uf0XUs7PljusSimIqqxDtK1pfD9zjynPgC8kW/fVBKv0pe2LufomeA==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.77.0 + '@sentry/types': 7.80.1 dev: true /@sideway/address@4.1.4: @@ -2806,6 +2821,11 @@ packages: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true + /@sindresorhus/merge-streams@1.0.0: + resolution: {integrity: sha512-rUV5WyJrJLoloD4NDN1V1+LDMDWOa4OTsT4yYJwQNpTU6FWxkxHpL7eu4w+DmiH8x/EAM1otkPE1+LaspIbplw==} + engines: {node: '>=18'} + dev: true + /@sitespeed.io/tracium@0.3.3: resolution: {integrity: sha512-dNZafjM93Y+F+sfwTO5gTpsGXlnc/0Q+c2+62ViqP3gkMWvHEMSKkaEHgVJLcLg3i/g19GSIPziiKpgyne07Bw==} engines: {node: '>=8'} @@ -2815,25 +2835,24 @@ packages: - supports-color dev: true - /@size-limit/file@10.0.2(size-limit@10.0.2): - resolution: {integrity: sha512-27jzgQtER/2WP4+ciLe8aExkceSfqQFSDEbFVhXnbpFvQBqGZ7uEQG9bDX7a5VGxTdMtGwzZndMsCOlinmLzSg==} + /@size-limit/file@11.0.0(size-limit@11.0.0): + resolution: {integrity: sha512-tTg6sSiFbiogiof3GV4iIRCPS4+46Hvq4QWXGXp00Be/tOnpglXF62xNpCfFwefx9YCXxCyeYSqqaRBjpRCsmQ==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: - size-limit: 10.0.2 + size-limit: 11.0.0 dependencies: - semver: 7.5.4 - size-limit: 10.0.2 + size-limit: 11.0.0 dev: true - /@size-limit/preset-big-lib@10.0.2(size-limit@10.0.2): - resolution: {integrity: sha512-ZodYdXdPBIWuVDyBcnkFzHOEfVluG2RcVYf5qc7ZpkpbdTEgwVqZJG77Tgnst9ajl+4+g/jTJcRlik/4MeyAbA==} + /@size-limit/preset-big-lib@11.0.0(size-limit@11.0.0): + resolution: {integrity: sha512-S6Gy8fbxvsLyeLcwKW9xpQ1f1DEYq7xGNKoOpYTdtVNrum4HT6gDBVaMmppAuwVSRRt//N2ms4q29RnL60UZrw==} peerDependencies: - size-limit: 10.0.2 + size-limit: 11.0.0 dependencies: - '@size-limit/file': 10.0.2(size-limit@10.0.2) - '@size-limit/time': 10.0.2(size-limit@10.0.2) - '@size-limit/webpack': 10.0.2(size-limit@10.0.2) - size-limit: 10.0.2 + '@size-limit/file': 11.0.0(size-limit@11.0.0) + '@size-limit/time': 11.0.0(size-limit@11.0.0) + '@size-limit/webpack': 11.0.0(size-limit@11.0.0) + size-limit: 11.0.0 transitivePeerDependencies: - '@swc/core' - bufferutil @@ -2845,14 +2864,14 @@ packages: - webpack-cli dev: true - /@size-limit/time@10.0.2(size-limit@10.0.2): - resolution: {integrity: sha512-0YaQDTjrdrp671kyj8R7hxo72lwR3kleWuEIKMguKCNiPrpk5o+fE0CiQEAzuxkmmo+5O5saS72pG67o+ok+Ag==} + /@size-limit/time@11.0.0(size-limit@11.0.0): + resolution: {integrity: sha512-FqQ3mAUBvumePWHh6eQcY9w9WnNAppTrjH2zhYF5YBUkS32V8xNZWGA7iw32LSBaFM7yHOR5+h3YIRipZoztNg==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: - size-limit: 10.0.2 + size-limit: 11.0.0 dependencies: estimo: 2.3.6 - size-limit: 10.0.2 + size-limit: 11.0.0 transitivePeerDependencies: - bufferutil - encoding @@ -2860,14 +2879,14 @@ packages: - utf-8-validate dev: true - /@size-limit/webpack@10.0.2(size-limit@10.0.2): - resolution: {integrity: sha512-dw+26aHKYKZaLr0xxKdUYb/VIws+W4ED6rw4Te8OfoTtZZ9cx4NxiKzYGAs/OUSmEUPGFxa12qj8iMW4nrxTWQ==} + /@size-limit/webpack@11.0.0(size-limit@11.0.0): + resolution: {integrity: sha512-AFF8/JBOcU7KUgkLUo93DmrfexRZz/7+qVwye+I4fbMgl/lRtoonNbgwGTdjvwZBjQLTGkWLtSPK5xGYbIdpGA==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: - size-limit: 10.0.2 + size-limit: 11.0.0 dependencies: nanoid: 5.0.3 - size-limit: 10.0.2 + size-limit: 11.0.0 webpack: 5.89.0 transitivePeerDependencies: - '@swc/core' @@ -2883,7 +2902,7 @@ packages: postcss: '>=7.0.0' postcss-syntax: '>=0.36.2' dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 postcss: 8.4.31 postcss-syntax: 0.36.2(postcss@8.4.31) transitivePeerDependencies: @@ -2904,7 +2923,7 @@ packages: pretty-format: 27.5.1 dev: true - /@testing-library/jest-dom@6.1.4(@types/jest@29.5.7)(vitest@0.34.6): + /@testing-library/jest-dom@6.1.4(@types/jest@29.5.8)(vitest@0.34.6): resolution: {integrity: sha512-wpoYrCYwSZ5/AxcrjLxJmCU6I5QAJXslEeSiMQqaWmP2Kzpd1LvF/qxmAIW2qposULGWq2gw30GgVNFLSc2Jnw==} engines: {node: '>=14', npm: '>=6', yarn: '>=1'} peerDependencies: @@ -2924,7 +2943,7 @@ packages: dependencies: '@adobe/css-tools': 4.3.1 '@babel/runtime': 7.23.2 - '@types/jest': 29.5.7 + '@types/jest': 29.5.8 aria-query: 5.3.0 chalk: 3.0.0 css.escape: 1.5.1 @@ -2934,7 +2953,7 @@ packages: vitest: 0.34.6(jsdom@22.1.0)(sass@1.69.5) dev: true - /@testing-library/react-hooks@8.0.1(@types/react@18.2.36)(react-dom@18.2.0)(react@18.2.0): + /@testing-library/react-hooks@8.0.1(@types/react@18.2.37)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-Aqhl2IVmLt8IovEVarNDFuJDVWVvhnr9/GCU6UUnrYXwgDFF9h2L2o2P9KBni1AST5sT6riAyoukFLyjQUgD/g==} engines: {node: '>=12'} peerDependencies: @@ -2951,22 +2970,22 @@ packages: optional: true dependencies: '@babel/runtime': 7.22.10 - '@types/react': 18.2.36 + '@types/react': 18.2.37 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-error-boundary: 3.1.4(react@18.2.0) dev: true - /@testing-library/react@14.0.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-S04gSNJbYE30TlIMLTzv6QCTzt9AqIF5y6s6SzVFILNcNvbV/jU96GeiTPillGQo+Ny64M/5PV7klNYYgv5Dfg==} + /@testing-library/react@14.1.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-z4p7DVBTPjKM5qDZ0t5ZjzkpSNb+fZy1u6bzO7kk8oeGagpPCAtgh4cx1syrfp7a+QWkM021jGqjJaxJJnXAZg==} engines: {node: '>=14'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.2 '@testing-library/dom': 9.3.3 - '@types/react-dom': 18.2.14 + '@types/react-dom': 18.2.15 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: true @@ -2997,8 +3016,8 @@ packages: /@types/babel__core@7.20.4: resolution: {integrity: sha512-mLnSC22IC4vcWiuObSRjrLd9XcBTGf59vUSoq2jkQDJ/QQ8PMI9rSuzE+aEV8karUMbskw07bKYoUJCKTUaygg==} dependencies: - '@babel/parser': 7.23.0 - '@babel/types': 7.23.0 + '@babel/parser': 7.23.3 + '@babel/types': 7.23.3 '@types/babel__generator': 7.6.7 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.4 @@ -3007,20 +3026,20 @@ packages: /@types/babel__generator@7.6.7: resolution: {integrity: sha512-6Sfsq+EaaLrw4RmdFWE9Onp63TOUue71AWb4Gpa6JxzgTYtimbM086WnYTy2U67AofR++QKCo08ZP6pwx8YFHQ==} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 dev: true /@types/babel__template@7.4.4: resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} dependencies: - '@babel/parser': 7.23.0 - '@babel/types': 7.23.0 + '@babel/parser': 7.23.3 + '@babel/types': 7.23.3 dev: true /@types/babel__traverse@7.20.4: resolution: {integrity: sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA==} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 dev: true /@types/buble@0.19.2: @@ -3050,7 +3069,7 @@ packages: resolution: {integrity: sha512-f5ORu2hcBbKei97U73mf+l9t4zTGl74IqZ0GQk4oVea/VS8tQZYkUveSYojk+frraAVYId0V2WC9O4PTNru2FQ==} dependencies: '@types/estree': 1.0.5 - '@types/json-schema': 7.0.14 + '@types/json-schema': 7.0.15 dev: true /@types/estree@1.0.2: @@ -3064,24 +3083,24 @@ packages: /@types/fs-extra@8.1.3: resolution: {integrity: sha512-7IdV01N0u/CaVO0fuY1YmEg14HQN3+EW8mpNgg6NEfxEl/lzCa5OxlBu3iFsCAdamnYOcTQ7oEi43Xc/67Rgzw==} dependencies: - '@types/node': 20.8.10 + '@types/node': 20.9.2 dev: true /@types/glob@7.2.0: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.8.10 + '@types/node': 20.9.2 dev: true /@types/history@4.7.11: resolution: {integrity: sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==} dev: true - /@types/hoist-non-react-statics@3.3.4: - resolution: {integrity: sha512-ZchYkbieA+7tnxwX/SCBySx9WwvWR8TaP5tb2jRAzwvLb/rWchGw3v0w3pqUbUvj0GCwW2Xz/AVPSk6kUGctXQ==} + /@types/hoist-non-react-statics@3.3.5: + resolution: {integrity: sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==} dependencies: - '@types/react': 18.2.36 + '@types/react': 18.2.37 hoist-non-react-statics: 3.3.2 dev: true @@ -3101,8 +3120,8 @@ packages: '@types/istanbul-lib-report': 3.0.0 dev: true - /@types/jest@29.5.7: - resolution: {integrity: sha512-HLyetab6KVPSiF+7pFcUyMeLsx25LDNDemw9mGsJBkai/oouwrjTycocSDYopMEwFhN2Y4s9oPyOCZNofgSt2g==} + /@types/jest@29.5.8: + resolution: {integrity: sha512-fXEFTxMV2Co8ZF5aYFJv+YeA08RTYJfhtN5c9JSv/mFEMe+xxjufCb+PHL+bJcMs/ebPUsBu+UNTEz+ydXrR6g==} dependencies: expect: 29.7.0 pretty-format: 29.7.0 @@ -3116,6 +3135,10 @@ packages: resolution: {integrity: sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==} dev: true + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + dev: true + /@types/json5@0.0.29: resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} dev: true @@ -3132,14 +3155,14 @@ packages: resolution: {integrity: sha512-Kfe/D3hxHTusnPNRbycJE1N77WHDsdS4AjUYIzlDzhDrS47NrwuL3YW4VITxwR7KCVpzwgy4Rbj829KSSQmwXQ==} dev: true - /@types/node@18.18.8: - resolution: {integrity: sha512-OLGBaaK5V3VRBS1bAkMVP2/W9B+H8meUfl866OrMNQqt7wDgdpWPp5o6gmIc9pB+lIQHSq4ZL8ypeH1vPxcPaQ==} + /@types/node@18.18.10: + resolution: {integrity: sha512-luANqZxPmjTll8bduz4ACs/lNTCLuWssCyjqTY9yLdsv1xnViQp3ISKwsEWOIecO13JWUqjVdig/Vjjc09o8uA==} dependencies: undici-types: 5.26.5 dev: true - /@types/node@20.8.10: - resolution: {integrity: sha512-TlgT8JntpcbmKUFzjhsyhGfP2fsiz1Mv56im6enJ905xG1DAYesxJaeSbGqQmAw8OWPdhyJGhGSQGKRNJ45u9w==} + /@types/node@20.9.2: + resolution: {integrity: sha512-WHZXKFCEyIUJzAwh3NyyTHYSR35SevJ6mZ1nWwJafKtiQbqRTIKSRcw3Ma3acqgsent3RRDqeVwpHntMk+9irg==} dependencies: undici-types: 5.26.5 dev: true @@ -3152,21 +3175,21 @@ packages: resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} dev: true - /@types/prop-types@15.7.9: - resolution: {integrity: sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g==} + /@types/prop-types@15.7.10: + resolution: {integrity: sha512-mxSnDQxPqsZxmeShFH+uwQ4kO4gcJcGahjjMFeLbKE95IAZiiZyiEepGZjtXJ7hN/yfu0bu9xN2ajcU0JcxX6A==} dev: true - /@types/react-dom@18.2.14: - resolution: {integrity: sha512-V835xgdSVmyQmI1KLV2BEIUgqEuinxp9O4G6g3FqO/SqLac049E53aysv0oEFD2kHfejeKU+ZqL2bcFWj9gLAQ==} + /@types/react-dom@18.2.15: + resolution: {integrity: sha512-HWMdW+7r7MR5+PZqJF6YFNSCtjz1T0dsvo/f1BV6HkV+6erD/nA7wd9NM00KVG83zf2nJ7uATPO9ttdIPvi3gg==} dependencies: - '@types/react': 18.2.36 + '@types/react': 18.2.37 dev: true /@types/react-router-dom@5.3.3: resolution: {integrity: sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==} dependencies: '@types/history': 4.7.11 - '@types/react': 18.2.36 + '@types/react': 18.2.37 '@types/react-router': 5.1.19 dev: true @@ -3174,14 +3197,14 @@ packages: resolution: {integrity: sha512-Fv/5kb2STAEMT3wHzdKQK2z8xKq38EDIGVrutYLmQVVLe+4orDFquU52hQrULnEHinMKv9FSA6lf9+uNT1ITtA==} dependencies: '@types/history': 4.7.11 - '@types/react': 18.2.36 + '@types/react': 18.2.37 dev: true - /@types/react@18.2.36: - resolution: {integrity: sha512-o9XFsHYLLZ4+sb9CWUYwHqFVoG61SesydF353vFMMsQziiyRu8np4n2OYMUSDZ8XuImxDr9c5tR7gidlH29Vnw==} + /@types/react@18.2.37: + resolution: {integrity: sha512-RGAYMi2bhRgEXT3f4B92WTohopH6bIXw05FuGlmJEnv/omEn190+QYEIYxIAuIBdKgboYYdVved2p1AxZVQnaw==} dependencies: - '@types/prop-types': 15.7.9 - '@types/scheduler': 0.16.5 + '@types/prop-types': 15.7.10 + '@types/scheduler': 0.16.6 csstype: 3.1.2 dev: true @@ -3189,42 +3212,46 @@ packages: resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} dev: true - /@types/scheduler@0.16.5: - resolution: {integrity: sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw==} + /@types/scheduler@0.16.6: + resolution: {integrity: sha512-Vlktnchmkylvc9SnwwwozTv04L/e1NykF5vgoQ0XTmI8DD+wxfjQuHuvHS3p0r2jz2x2ghPs2h1FVeDirIteWA==} dev: true /@types/semver@7.5.4: resolution: {integrity: sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==} dev: true + /@types/semver@7.5.5: + resolution: {integrity: sha512-+d+WYC1BxJ6yVOgUgzK8gWvp5qF8ssV5r4nsDcZWKRWcDQLQ619tvWAxJQYGgBrO1MnLJC7a5GtiYsAoQ47dJg==} + dev: true + /@types/sinonjs__fake-timers@8.1.1: resolution: {integrity: sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==} dev: true - /@types/sizzle@2.3.5: - resolution: {integrity: sha512-tAe4Q+OLFOA/AMD+0lq8ovp8t3ysxAOeaScnfNdZpUxaGl51ZMDEITxkvFl1STudQ58mz6gzVGl9VhMKhwRnZQ==} + /@types/sizzle@2.3.6: + resolution: {integrity: sha512-m04Om5Gz6kbjUwAQ7XJJQ30OdEFsSmAVsvn4NYwcTRyMVpKKa1aPuESw1n2CxS5fYkOQv3nHgDKeNa8e76fUkw==} dev: true - /@types/stack-utils@2.0.2: - resolution: {integrity: sha512-g7CK9nHdwjK2n0ymT2CW698FuWJRIx+RP6embAzZ2Qi8/ilIrA1Imt2LVSeHUzKvpoi7BhmmQcXz95eS0f2JXw==} + /@types/stack-utils@2.0.3: + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} dev: true - /@types/styled-components@5.1.29: - resolution: {integrity: sha512-5h/ah9PAblggQ6Laa4peplT4iY5ddA8qM1LMD4HzwToUWs3hftfy0fayeRgbtH1JZUdw5CCaowmz7Lnb8SjIxQ==} + /@types/styled-components@5.1.30: + resolution: {integrity: sha512-xxJqw0s1myRTgrzHgG5tKHS9hK+KNhjbKMXDWlHRo9eDNVVUqf147QUGYUqwyCDkFyGr2pi1qJKFMEy0ACZb0A==} dependencies: - '@types/hoist-non-react-statics': 3.3.4 - '@types/react': 18.2.36 + '@types/hoist-non-react-statics': 3.3.5 + '@types/react': 18.2.37 csstype: 3.1.2 dev: true - /@types/stylis@4.2.2: - resolution: {integrity: sha512-Rm17MsTpQQP5Jq4BF7CdrxJsDufoiL/q5IbJZYZmOZAJALyijgF7BzLgobXUqraNcQdqFYLYGeglDp6QzaxPpg==} + /@types/stylis@4.2.3: + resolution: {integrity: sha512-86XLCVEmWagiUEbr2AjSbeY4qHN9jMm3pgM3PuBYfLIbT0MpDSnA3GA/4W7KoH/C/eeK77kNaeIxZzjhKYIBgw==} - /@types/testing-library__jest-dom@6.0.0(@types/jest@29.5.7)(vitest@0.34.6): + /@types/testing-library__jest-dom@6.0.0(@types/jest@29.5.8)(vitest@0.34.6): resolution: {integrity: sha512-bnreXCgus6IIadyHNlN/oI5FfX4dWgvGhOPvpr7zzCYDGAPIfvyIoAozMBINmhmsVuqV0cncejF2y5KC7ScqOg==} deprecated: This is a stub types definition. @testing-library/jest-dom provides its own type definitions, so you do not need this installed. dependencies: - '@testing-library/jest-dom': 6.1.4(@types/jest@29.5.7)(vitest@0.34.6) + '@testing-library/jest-dom': 6.1.4(@types/jest@29.5.8)(vitest@0.34.6) transitivePeerDependencies: - '@jest/globals' - '@types/jest' @@ -3242,16 +3269,16 @@ packages: '@types/yargs-parser': 21.0.0 dev: true - /@types/yauzl@2.10.2: - resolution: {integrity: sha512-Km7XAtUIduROw7QPgvcft0lIupeG8a8rdKL8RiSyKvlE7dYY31fEn41HVuQsRFDuROA8tA4K2UVL+WdfFmErBA==} + /@types/yauzl@2.10.3: + resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} requiresBuild: true dependencies: - '@types/node': 20.8.10 + '@types/node': 20.9.2 dev: true optional: true - /@typescript-eslint/eslint-plugin@6.10.0(@typescript-eslint/parser@6.10.0)(eslint@8.53.0)(typescript@5.2.2): - resolution: {integrity: sha512-uoLj4g2OTL8rfUQVx2AFO1hp/zja1wABJq77P6IclQs6I/m9GLrm7jCdgzZkvWdDCQf1uEvoa8s8CupsgWQgVg==} + /@typescript-eslint/eslint-plugin@6.11.0(@typescript-eslint/parser@6.11.0)(eslint@8.54.0)(typescript@5.2.2): + resolution: {integrity: sha512-uXnpZDc4VRjY4iuypDBKzW1rz9T5YBBK0snMn8MaTSNd2kMlj50LnLBABELjJiOL5YHk7ZD8hbSpI9ubzqYI0w==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha @@ -3262,15 +3289,15 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 6.10.0(eslint@8.53.0)(typescript@5.2.2) - '@typescript-eslint/scope-manager': 6.10.0 - '@typescript-eslint/type-utils': 6.10.0(eslint@8.53.0)(typescript@5.2.2) - '@typescript-eslint/utils': 6.10.0(eslint@8.53.0)(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.10.0 + '@typescript-eslint/parser': 6.11.0(eslint@8.54.0)(typescript@5.2.2) + '@typescript-eslint/scope-manager': 6.11.0 + '@typescript-eslint/type-utils': 6.11.0(eslint@8.54.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.11.0(eslint@8.54.0)(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.11.0 debug: 4.3.4(supports-color@8.1.1) - eslint: 8.53.0 + eslint: 8.54.0 graphemer: 1.4.0 - ignore: 5.2.4 + ignore: 5.3.0 natural-compare: 1.4.0 semver: 7.5.4 ts-api-utils: 1.0.3(typescript@5.2.2) @@ -3279,21 +3306,21 @@ packages: - supports-color dev: true - /@typescript-eslint/experimental-utils@5.62.0(eslint@8.53.0)(typescript@5.2.2): + /@typescript-eslint/experimental-utils@5.62.0(eslint@8.54.0)(typescript@5.2.2): resolution: {integrity: sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@8.53.0)(typescript@5.2.2) - eslint: 8.53.0 + '@typescript-eslint/utils': 5.62.0(eslint@8.54.0)(typescript@5.2.2) + eslint: 8.54.0 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/parser@6.10.0(eslint@8.53.0)(typescript@5.2.2): - resolution: {integrity: sha512-+sZwIj+s+io9ozSxIWbNB5873OSdfeBEH/FR0re14WLI6BaKuSOnnwCJ2foUiu8uXf4dRp1UqHP0vrZ1zXGrog==} + /@typescript-eslint/parser@6.11.0(eslint@8.54.0)(typescript@5.2.2): + resolution: {integrity: sha512-+whEdjk+d5do5nxfxx73oanLL9ghKO3EwM9kBCkUtWMRwWuPaFv9ScuqlYfQ6pAD6ZiJhky7TZ2ZYhrMsfMxVQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -3302,12 +3329,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.10.0 - '@typescript-eslint/types': 6.10.0 - '@typescript-eslint/typescript-estree': 6.10.0(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.10.0 + '@typescript-eslint/scope-manager': 6.11.0 + '@typescript-eslint/types': 6.11.0 + '@typescript-eslint/typescript-estree': 6.11.0(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.11.0 debug: 4.3.4(supports-color@8.1.1) - eslint: 8.53.0 + eslint: 8.54.0 typescript: 5.2.2 transitivePeerDependencies: - supports-color @@ -3321,16 +3348,16 @@ packages: '@typescript-eslint/visitor-keys': 5.62.0 dev: true - /@typescript-eslint/scope-manager@6.10.0: - resolution: {integrity: sha512-TN/plV7dzqqC2iPNf1KrxozDgZs53Gfgg5ZHyw8erd6jd5Ta/JIEcdCheXFt9b1NYb93a1wmIIVW/2gLkombDg==} + /@typescript-eslint/scope-manager@6.11.0: + resolution: {integrity: sha512-0A8KoVvIURG4uhxAdjSaxy8RdRE//HztaZdG8KiHLP8WOXSk0vlF7Pvogv+vlJA5Rnjj/wDcFENvDaHb+gKd1A==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.10.0 - '@typescript-eslint/visitor-keys': 6.10.0 + '@typescript-eslint/types': 6.11.0 + '@typescript-eslint/visitor-keys': 6.11.0 dev: true - /@typescript-eslint/type-utils@6.10.0(eslint@8.53.0)(typescript@5.2.2): - resolution: {integrity: sha512-wYpPs3hgTFblMYwbYWPT3eZtaDOjbLyIYuqpwuLBBqhLiuvJ+9sEp2gNRJEtR5N/c9G1uTtQQL5AhV0fEPJYcg==} + /@typescript-eslint/type-utils@6.11.0(eslint@8.54.0)(typescript@5.2.2): + resolution: {integrity: sha512-nA4IOXwZtqBjIoYrJcYxLRO+F9ri+leVGoJcMW1uqr4r1Hq7vW5cyWrA43lFbpRvQ9XgNrnfLpIkO3i1emDBIA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -3339,10 +3366,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.10.0(typescript@5.2.2) - '@typescript-eslint/utils': 6.10.0(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/typescript-estree': 6.11.0(typescript@5.2.2) + '@typescript-eslint/utils': 6.11.0(eslint@8.54.0)(typescript@5.2.2) debug: 4.3.4(supports-color@8.1.1) - eslint: 8.53.0 + eslint: 8.54.0 ts-api-utils: 1.0.3(typescript@5.2.2) typescript: 5.2.2 transitivePeerDependencies: @@ -3354,8 +3381,8 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/types@6.10.0: - resolution: {integrity: sha512-36Fq1PWh9dusgo3vH7qmQAj5/AZqARky1Wi6WpINxB6SkQdY5vQoT2/7rW7uBIsPDcvvGCLi4r10p0OJ7ITAeg==} + /@typescript-eslint/types@6.11.0: + resolution: {integrity: sha512-ZbEzuD4DwEJxwPqhv3QULlRj8KYTAnNsXxmfuUXFCxZmO6CF2gM/y+ugBSAQhrqaJL3M+oe4owdWunaHM6beqA==} engines: {node: ^16.0.0 || >=18.0.0} dev: true @@ -3380,8 +3407,8 @@ packages: - supports-color dev: true - /@typescript-eslint/typescript-estree@6.10.0(typescript@5.2.2): - resolution: {integrity: sha512-ek0Eyuy6P15LJVeghbWhSrBCj/vJpPXXR+EpaRZqou7achUWL8IdYnMSC5WHAeTWswYQuP2hAZgij/bC9fanBg==} + /@typescript-eslint/typescript-estree@6.11.0(typescript@5.2.2): + resolution: {integrity: sha512-Aezzv1o2tWJwvZhedzvD5Yv7+Lpu1by/U1LZ5gLc4tCx8jUmuSCMioPFRjliN/6SJIvY6HpTtJIWubKuYYYesQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -3389,8 +3416,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.10.0 - '@typescript-eslint/visitor-keys': 6.10.0 + '@typescript-eslint/types': 6.11.0 + '@typescript-eslint/visitor-keys': 6.11.0 debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 @@ -3401,19 +3428,19 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@5.62.0(eslint@8.53.0)(typescript@5.2.2): + /@typescript-eslint/utils@5.62.0(eslint@8.54.0)(typescript@5.2.2): resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) '@types/json-schema': 7.0.14 '@types/semver': 7.5.4 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2) - eslint: 8.53.0 + eslint: 8.54.0 eslint-scope: 5.1.1 semver: 7.5.4 transitivePeerDependencies: @@ -3421,19 +3448,19 @@ packages: - typescript dev: true - /@typescript-eslint/utils@6.10.0(eslint@8.53.0)(typescript@5.2.2): - resolution: {integrity: sha512-v+pJ1/RcVyRc0o4wAGux9x42RHmAjIGzPRo538Z8M1tVx6HOnoQBCX/NoadHQlZeC+QO2yr4nNSFWOoraZCAyg==} + /@typescript-eslint/utils@6.11.0(eslint@8.54.0)(typescript@5.2.2): + resolution: {integrity: sha512-p23ibf68fxoZy605dc0dQAEoUsoiNoP3MD9WQGiHLDuTSOuqoTsa4oAy+h3KDkTcxbbfOtUjb9h3Ta0gT4ug2g==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) - '@types/json-schema': 7.0.14 - '@types/semver': 7.5.4 - '@typescript-eslint/scope-manager': 6.10.0 - '@typescript-eslint/types': 6.10.0 - '@typescript-eslint/typescript-estree': 6.10.0(typescript@5.2.2) - eslint: 8.53.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.5 + '@typescript-eslint/scope-manager': 6.11.0 + '@typescript-eslint/types': 6.11.0 + '@typescript-eslint/typescript-estree': 6.11.0(typescript@5.2.2) + eslint: 8.54.0 semver: 7.5.4 transitivePeerDependencies: - supports-color @@ -3448,11 +3475,11 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@typescript-eslint/visitor-keys@6.10.0: - resolution: {integrity: sha512-xMGluxQIEtOM7bqFCo+rCMh5fqI+ZxV5RUUOa29iVPz1OgCZrtc7rFnz5cLUazlkPKYqX+75iuDq7m0HQ48nCg==} + /@typescript-eslint/visitor-keys@6.11.0: + resolution: {integrity: sha512-+SUN/W7WjBr05uRxPggJPSzyB8zUpaYo2hByKasWbqr3PM8AXfZt8UHdNpBS1v9SA62qnSSMF3380SwDqqprgQ==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.10.0 + '@typescript-eslint/types': 6.11.0 eslint-visitor-keys: 3.4.3 dev: true @@ -3460,18 +3487,18 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@vitejs/plugin-react@4.1.1(vite@4.5.0): - resolution: {integrity: sha512-Jie2HERK+uh27e+ORXXwEP5h0Y2lS9T2PRGbfebiHGlwzDO0dEnd2aNtOR/qjBlPb1YgxwAONeblL1xqLikLag==} + /@vitejs/plugin-react@4.2.0(vite@5.0.0): + resolution: {integrity: sha512-+MHTH/e6H12kRp5HUkzOGqPMksezRMmW+TNzlh/QXfI8rRf6l2Z2yH/v12no1UvTwhZgEDMuQ7g7rrfMseU6FQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - vite: ^4.2.0 + vite: ^4.2.0 || ^5.0.0 dependencies: - '@babel/core': 7.23.2 - '@babel/plugin-transform-react-jsx-self': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-react-jsx-source': 7.22.5(@babel/core@7.23.2) + '@babel/core': 7.23.3 + '@babel/plugin-transform-react-jsx-self': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.23.3) '@types/babel__core': 7.20.4 react-refresh: 0.14.0 - vite: 4.5.0(@types/node@20.8.10)(sass@1.69.5) + vite: 5.0.0(@types/node@20.9.2)(sass@1.69.5) transitivePeerDependencies: - supports-color dev: true @@ -4078,11 +4105,12 @@ packages: engines: {node: '>=4'} dev: true - /axios@0.27.2(debug@4.3.4): - resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==} + /axios@1.6.2(debug@4.3.4): + resolution: {integrity: sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==} dependencies: follow-redirects: 1.15.3(debug@4.3.4) form-data: 4.0.0 + proxy-from-env: 1.1.0 transitivePeerDependencies: - debug dev: true @@ -4093,14 +4121,14 @@ packages: dequal: 2.0.3 dev: true - /babel-loader@9.1.3(@babel/core@7.23.2)(webpack@5.89.0): + /babel-loader@9.1.3(@babel/core@7.23.3)(webpack@5.89.0): resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==} engines: {node: '>= 14.15.0'} peerDependencies: '@babel/core': ^7.12.0 webpack: '>=5' dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 find-cache-dir: 4.0.0 schema-utils: 4.2.0 webpack: 5.89.0 @@ -4115,53 +4143,53 @@ packages: resolve: 1.22.4 dev: true - /babel-plugin-polyfill-corejs2@0.4.6(@babel/core@7.23.2): + /babel-plugin-polyfill-corejs2@0.4.6(@babel/core@7.23.3): resolution: {integrity: sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/compat-data': 7.23.2 - '@babel/core': 7.23.2 - '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.2) + '@babel/compat-data': 7.23.3 + '@babel/core': 7.23.3 + '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.3) semver: 7.5.4 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-corejs3@0.8.6(@babel/core@7.23.2): + /babel-plugin-polyfill-corejs3@0.8.6(@babel/core@7.23.3): resolution: {integrity: sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.23.2 - '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.2) - core-js-compat: 3.33.2 + '@babel/core': 7.23.3 + '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.3) + core-js-compat: 3.33.3 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-regenerator@0.5.3(@babel/core@7.23.2): + /babel-plugin-polyfill-regenerator@0.5.3(@babel/core@7.23.3): resolution: {integrity: sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.23.2 - '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.2) + '@babel/core': 7.23.3 + '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.3) transitivePeerDependencies: - supports-color dev: true - /babel-plugin-styled-components@2.1.4(@babel/core@7.23.2)(styled-components@6.1.0): + /babel-plugin-styled-components@2.1.4(@babel/core@7.23.3)(styled-components@6.1.1): resolution: {integrity: sha512-Xgp9g+A/cG47sUyRwwYxGM4bR/jDRg5N6it/8+HxCnbT5XNKSKDT9xm4oag/osgqjC2It/vH0yXsomOG6k558g==} peerDependencies: styled-components: '>= 2' dependencies: '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-module-imports': 7.22.5 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.2) + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.3) lodash: 4.17.21 picomatch: 2.3.1 - styled-components: 6.1.0(react-dom@18.2.0)(react@18.2.0) + styled-components: 6.1.1(react-dom@18.2.0)(react@18.2.0) transitivePeerDependencies: - '@babel/core' dev: true @@ -4616,8 +4644,8 @@ packages: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} dev: true - /core-js-compat@3.33.2: - resolution: {integrity: sha512-axfo+wxFVxnqf8RvxTzoAlzW4gRoacrHeoFlc9n0x50+7BEyZL/Rt3hicaED1/CEd7I6tPCPVUYcJwCMO5XUYw==} + /core-js-compat@3.33.3: + resolution: {integrity: sha512-cNzGqFsh3Ot+529GIXacjTJ7kegdt5fPXxCBVS1G0iaZpuo/tBz399ymceLJveQhFFZ8qThHiP3fzuoQjKN2ow==} dependencies: browserslist: 4.22.1 dev: true @@ -4930,17 +4958,17 @@ packages: /csstype@3.1.2: resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} - /cypress@13.4.0: - resolution: {integrity: sha512-KeWNC9xSHG/ewZURVbaQsBQg2mOKw4XhjJZFKjWbEjgZCdxpPXLpJnfq5Jns1Gvnjp6AlnIfpZfWFlDgVKXdWQ==} + /cypress@13.5.1: + resolution: {integrity: sha512-yqLViT0D/lPI8Kkm7ciF/x/DCK/H/DnogdGyiTnQgX4OVR2aM30PtK+kvklTOD1u3TuItiD9wUQAF8EYWtyZug==} engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0} hasBin: true requiresBuild: true dependencies: '@cypress/request': 3.0.1 '@cypress/xvfb': 1.2.4(supports-color@8.1.1) - '@types/node': 18.18.8 + '@types/node': 18.18.10 '@types/sinonjs__fake-timers': 8.1.1 - '@types/sizzle': 2.3.5 + '@types/sizzle': 2.3.6 arch: 2.2.0 blob-util: 2.0.2 bluebird: 3.7.2 @@ -5446,8 +5474,8 @@ packages: safe-array-concat: 1.0.1 dev: true - /es-module-lexer@1.3.1: - resolution: {integrity: sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==} + /es-module-lexer@1.4.1: + resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==} dev: true /es-set-tostringtag@2.0.1: @@ -5493,34 +5521,34 @@ packages: resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} dev: true - /esbuild@0.18.20: - resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + /esbuild@0.19.6: + resolution: {integrity: sha512-Xl7dntjA2OEIvpr9j0DVxxnog2fyTGnyVoQXAMQI6eR3mf9zCQds7VIKUDCotDgE/p4ncTgeRqgX8t5d6oP4Gw==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.18.20 - '@esbuild/android-arm64': 0.18.20 - '@esbuild/android-x64': 0.18.20 - '@esbuild/darwin-arm64': 0.18.20 - '@esbuild/darwin-x64': 0.18.20 - '@esbuild/freebsd-arm64': 0.18.20 - '@esbuild/freebsd-x64': 0.18.20 - '@esbuild/linux-arm': 0.18.20 - '@esbuild/linux-arm64': 0.18.20 - '@esbuild/linux-ia32': 0.18.20 - '@esbuild/linux-loong64': 0.18.20 - '@esbuild/linux-mips64el': 0.18.20 - '@esbuild/linux-ppc64': 0.18.20 - '@esbuild/linux-riscv64': 0.18.20 - '@esbuild/linux-s390x': 0.18.20 - '@esbuild/linux-x64': 0.18.20 - '@esbuild/netbsd-x64': 0.18.20 - '@esbuild/openbsd-x64': 0.18.20 - '@esbuild/sunos-x64': 0.18.20 - '@esbuild/win32-arm64': 0.18.20 - '@esbuild/win32-ia32': 0.18.20 - '@esbuild/win32-x64': 0.18.20 + '@esbuild/android-arm': 0.19.6 + '@esbuild/android-arm64': 0.19.6 + '@esbuild/android-x64': 0.19.6 + '@esbuild/darwin-arm64': 0.19.6 + '@esbuild/darwin-x64': 0.19.6 + '@esbuild/freebsd-arm64': 0.19.6 + '@esbuild/freebsd-x64': 0.19.6 + '@esbuild/linux-arm': 0.19.6 + '@esbuild/linux-arm64': 0.19.6 + '@esbuild/linux-ia32': 0.19.6 + '@esbuild/linux-loong64': 0.19.6 + '@esbuild/linux-mips64el': 0.19.6 + '@esbuild/linux-ppc64': 0.19.6 + '@esbuild/linux-riscv64': 0.19.6 + '@esbuild/linux-s390x': 0.19.6 + '@esbuild/linux-x64': 0.19.6 + '@esbuild/netbsd-x64': 0.19.6 + '@esbuild/openbsd-x64': 0.19.6 + '@esbuild/sunos-x64': 0.19.6 + '@esbuild/win32-arm64': 0.19.6 + '@esbuild/win32-ia32': 0.19.6 + '@esbuild/win32-x64': 0.19.6 dev: true /escalade@3.1.1: @@ -5543,13 +5571,13 @@ packages: engines: {node: '>=10'} dev: true - /eslint-config-prettier@9.0.0(eslint@8.53.0): + /eslint-config-prettier@9.0.0(eslint@8.54.0): resolution: {integrity: sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.53.0 + eslint: 8.54.0 dev: true /eslint-import-resolver-node@0.3.9: @@ -5562,7 +5590,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.10.0)(eslint-import-resolver-node@0.3.9)(eslint@8.53.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.11.0)(eslint-import-resolver-node@0.3.9)(eslint@8.54.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -5583,15 +5611,15 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.10.0(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.11.0(eslint@8.54.0)(typescript@5.2.2) debug: 3.2.7(supports-color@8.1.1) - eslint: 8.53.0 + eslint: 8.54.0 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.10.0)(eslint@8.53.0): + /eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.11.0)(eslint@8.54.0): resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==} engines: {node: '>=4'} peerDependencies: @@ -5601,16 +5629,16 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.10.0(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.11.0(eslint@8.54.0)(typescript@5.2.2) array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 array.prototype.flat: 1.3.2 array.prototype.flatmap: 1.3.2 debug: 3.2.7(supports-color@8.1.1) doctrine: 2.1.0 - eslint: 8.53.0 + eslint: 8.54.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.10.0)(eslint-import-resolver-node@0.3.9)(eslint@8.53.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.11.0)(eslint-import-resolver-node@0.3.9)(eslint@8.54.0) hasown: 2.0.0 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -5626,7 +5654,7 @@ packages: - supports-color dev: true - /eslint-plugin-jsx-a11y@6.8.0(eslint@8.53.0): + /eslint-plugin-jsx-a11y@6.8.0(eslint@8.54.0): resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} engines: {node: '>=4.0'} peerDependencies: @@ -5642,7 +5670,7 @@ packages: damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 es-iterator-helpers: 1.0.15 - eslint: 8.53.0 + eslint: 8.54.0 hasown: 2.0.0 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 @@ -5651,7 +5679,7 @@ packages: object.fromentries: 2.0.7 dev: true - /eslint-plugin-react@7.33.2(eslint@8.53.0): + /eslint-plugin-react@7.33.2(eslint@8.54.0): resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==} engines: {node: '>=4'} peerDependencies: @@ -5662,7 +5690,7 @@ packages: array.prototype.tosorted: 1.1.1 doctrine: 2.1.0 es-iterator-helpers: 1.0.13 - eslint: 8.53.0 + eslint: 8.54.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.5 minimatch: 3.1.2 @@ -5686,7 +5714,7 @@ packages: requireindex: 1.2.0 dev: true - /eslint-plugin-typescript-sort-keys@3.1.0(@typescript-eslint/parser@6.10.0)(eslint@8.53.0)(typescript@5.2.2): + /eslint-plugin-typescript-sort-keys@3.1.0(@typescript-eslint/parser@6.11.0)(eslint@8.54.0)(typescript@5.2.2): resolution: {integrity: sha512-rgZeYfEguqKni/V7sbmgFu9/94UDAQd7YqNd0J7Qhw7SdLIGd0iBk2KgpjhRhe2ge4rPSLDIdFWwUiDqBOst6Q==} engines: {node: '>= 16'} peerDependencies: @@ -5694,9 +5722,9 @@ packages: eslint: ^7 || ^8 typescript: ^3 || ^4 || ^5 dependencies: - '@typescript-eslint/experimental-utils': 5.62.0(eslint@8.53.0)(typescript@5.2.2) - '@typescript-eslint/parser': 6.10.0(eslint@8.53.0)(typescript@5.2.2) - eslint: 8.53.0 + '@typescript-eslint/experimental-utils': 5.62.0(eslint@8.54.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.11.0(eslint@8.54.0)(typescript@5.2.2) + eslint: 8.54.0 json-schema: 0.4.0 natural-compare-lite: 1.4.0 typescript: 5.2.2 @@ -5730,15 +5758,15 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint@8.53.0: - resolution: {integrity: sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==} + /eslint@8.54.0: + resolution: {integrity: sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) '@eslint-community/regexpp': 4.10.0 '@eslint/eslintrc': 2.1.3 - '@eslint/js': 8.53.0 + '@eslint/js': 8.54.0 '@humanwhocodes/config-array': 0.11.13 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 @@ -5760,7 +5788,7 @@ packages: glob-parent: 6.0.2 globals: 13.23.0 graphemer: 1.4.0 - ignore: 5.2.4 + ignore: 5.3.0 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 @@ -5954,7 +5982,7 @@ packages: get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: - '@types/yauzl': 2.10.2 + '@types/yauzl': 2.10.3 transitivePeerDependencies: - supports-color dev: true @@ -6026,7 +6054,7 @@ packages: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flat-cache: 3.1.1 + flat-cache: 3.2.0 dev: true /file-entry-cache@7.0.1: @@ -6102,6 +6130,15 @@ packages: rimraf: 3.0.2 dev: true + /flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flatted: 3.2.9 + keyv: 4.5.4 + rimraf: 3.0.2 + dev: true + /flatted@3.2.9: resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} dev: true @@ -6454,7 +6491,7 @@ packages: dir-glob: 3.0.1 fast-glob: 3.3.1 glob: 7.2.3 - ignore: 5.2.4 + ignore: 5.3.0 merge2: 1.4.1 slash: 3.0.0 dev: true @@ -6471,15 +6508,16 @@ packages: slash: 3.0.0 dev: true - /globby@13.2.2: - resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + /globby@14.0.0: + resolution: {integrity: sha512-/1WM/LNHRAOH9lZta77uGbq0dAEQM+XjNesWwhlERDVenqothRbnzTrL3/LrIoEPPjeUHC3vrS6TwoyxeHs7MQ==} + engines: {node: '>=18'} dependencies: - dir-glob: 3.0.1 + '@sindresorhus/merge-streams': 1.0.0 fast-glob: 3.3.2 - ignore: 5.2.4 - merge2: 1.4.1 - slash: 4.0.0 + ignore: 5.3.0 + path-type: 5.0.0 + slash: 5.1.0 + unicorn-magic: 0.1.0 dev: true /globjoin@0.1.4: @@ -6685,6 +6723,11 @@ packages: engines: {node: '>= 4'} dev: true + /ignore@5.3.0: + resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} + engines: {node: '>= 4'} + dev: true + /immutable@4.3.4: resolution: {integrity: sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==} dev: true @@ -7138,7 +7181,7 @@ packages: dependencies: '@babel/code-frame': 7.22.13 '@jest/types': 29.6.3 - '@types/stack-utils': 2.0.2 + '@types/stack-utils': 2.0.3 chalk: 4.1.2 graceful-fs: 4.2.11 micromatch: 4.0.5 @@ -7152,7 +7195,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.8.10 + '@types/node': 20.9.2 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -7163,7 +7206,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.8.10 + '@types/node': 20.9.2 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true @@ -7368,8 +7411,8 @@ packages: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} dev: true - /lint-staged@15.0.2: - resolution: {integrity: sha512-vnEy7pFTHyVuDmCAIFKR5QDO8XLVlPFQQyujQ/STOxe40ICWqJ6knS2wSJ/ffX/Lw0rz83luRDh+ET7toN+rOw==} + /lint-staged@15.1.0: + resolution: {integrity: sha512-ZPKXWHVlL7uwVpy8OZ7YQjYDAuO5X4kMh0XgZvPNxLcCCngd0PO5jKQyy3+s4TL2EnHoIXIzP1422f/l3nZKMw==} engines: {node: '>=18.12.0'} hasBin: true dependencies: @@ -7382,7 +7425,7 @@ packages: micromatch: 4.0.5 pidtree: 0.6.0 string-argv: 0.3.2 - yaml: 2.3.3 + yaml: 2.3.4 transitivePeerDependencies: - supports-color dev: true @@ -8147,6 +8190,11 @@ packages: engines: {node: '>=8'} dev: true + /path-type@5.0.0: + resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} + engines: {node: '>=12'} + dev: true + /pathe@1.1.1: resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} dev: true @@ -9260,8 +9308,8 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /prettier@3.0.3: - resolution: {integrity: sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==} + /prettier@3.1.0: + resolution: {integrity: sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw==} engines: {node: '>=14'} hasBin: true dev: true @@ -9289,7 +9337,7 @@ packages: react-is: 18.2.0 dev: true - /pretty-quick@3.1.3(prettier@3.0.3): + /pretty-quick@3.1.3(prettier@3.1.0): resolution: {integrity: sha512-kOCi2FJabvuh1as9enxYmrnBC6tVMoVOenMaBqRfsvBHB0cbpYHjdQEpSglpASDFEXVwplpcGR4CLEaisYAFcA==} engines: {node: '>=10.13'} hasBin: true @@ -9302,7 +9350,7 @@ packages: ignore: 5.2.0 mri: 1.2.0 multimatch: 4.0.0 - prettier: 3.0.3 + prettier: 3.1.0 dev: true /process@0.11.10: @@ -9450,26 +9498,26 @@ packages: engines: {node: '>=0.10.0'} dev: true - /react-router-dom@6.18.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-Ubrue4+Ercc/BoDkFQfc6og5zRQ4A8YxSO3Knsne+eRbZ+IepAsK249XBH/XaFuOYOYr3L3r13CXTLvYt5JDjw==} + /react-router-dom@6.19.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-N6dWlcgL2w0U5HZUUqU2wlmOrSb3ighJmtQ438SWbhB1yuLTXQ8yyTBMK3BSvVjp7gBtKurT554nCtMOgxCZmQ==} engines: {node: '>=14.0.0'} peerDependencies: react: '>=16.8' react-dom: '>=16.8' dependencies: - '@remix-run/router': 1.11.0 + '@remix-run/router': 1.12.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-router: 6.18.0(react@18.2.0) + react-router: 6.19.0(react@18.2.0) dev: true - /react-router@6.18.0(react@18.2.0): - resolution: {integrity: sha512-vk2y7Dsy8wI02eRRaRmOs9g2o+aE72YCx5q9VasT1N9v+lrdB79tIqrjMfByHiY5+6aYkH2rUa5X839nwWGPDg==} + /react-router@6.19.0(react@18.2.0): + resolution: {integrity: sha512-0W63PKCZ7+OuQd7Tm+RbkI8kCLmn4GPjDbX61tWljPxWgqTKlEpeQUwPkT1DRjYhF8KSihK0hQpmhU4uxVMcdw==} engines: {node: '>=14.0.0'} peerDependencies: react: '>=16.8' dependencies: - '@remix-run/router': 1.11.0 + '@remix-run/router': 1.12.0 react: 18.2.0 dev: true @@ -9649,7 +9697,7 @@ packages: /request-progress@3.0.0: resolution: {integrity: sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==} dependencies: - throttleit: 1.0.0 + throttleit: 1.0.1 dev: true /require-directory@2.1.1: @@ -9792,12 +9840,12 @@ packages: del: 5.1.0 dev: true - /rollup-plugin-peer-deps-external@2.2.4(rollup@4.3.0): + /rollup-plugin-peer-deps-external@2.2.4(rollup@4.5.0): resolution: {integrity: sha512-AWdukIM1+k5JDdAqV/Cxd+nejvno2FVLVeZ74NKggm3Q5s9cbbcOgUPGdbxPi4BXu7xGaZ8HG12F+thImYu/0g==} peerDependencies: rollup: '*' dependencies: - rollup: 4.3.0 + rollup: 4.5.0 dev: true /rollup-plugin-postcss@4.0.2(postcss@8.4.31): @@ -9824,7 +9872,7 @@ packages: - ts-node dev: true - /rollup-plugin-typescript2@0.36.0(rollup@4.3.0)(typescript@5.2.2): + /rollup-plugin-typescript2@0.36.0(rollup@4.5.0)(typescript@5.2.2): resolution: {integrity: sha512-NB2CSQDxSe9+Oe2ahZbf+B4bh7pHwjV5L+RSYpCu7Q5ROuN94F9b6ioWwKfz3ueL3KTtmX4o2MUH2cgHDIEUsw==} peerDependencies: rollup: '>=1.26.3' @@ -9833,7 +9881,7 @@ packages: '@rollup/pluginutils': 4.2.1 find-cache-dir: 3.3.2 fs-extra: 10.1.0 - rollup: 4.3.0 + rollup: 4.5.0 semver: 7.5.4 tslib: 2.6.2 typescript: 5.2.2 @@ -9845,31 +9893,23 @@ packages: estree-walker: 0.6.1 dev: true - /rollup@3.29.4: - resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} - engines: {node: '>=14.18.0', npm: '>=8.0.0'} - hasBin: true - optionalDependencies: - fsevents: 2.3.3 - dev: true - - /rollup@4.3.0: - resolution: {integrity: sha512-scIi1NrKLDIYSPK66jjECtII7vIgdAMFmFo8h6qm++I6nN9qDSV35Ku6erzGVqYjx+lj+j5wkusRMr++8SyDZg==} + /rollup@4.5.0: + resolution: {integrity: sha512-41xsWhzxqjMDASCxH5ibw1mXk+3c4TNI2UjKbLxe6iEzrSQnqOzmmK8/3mufCPbzHNJ2e04Fc1ddI35hHy+8zg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.3.0 - '@rollup/rollup-android-arm64': 4.3.0 - '@rollup/rollup-darwin-arm64': 4.3.0 - '@rollup/rollup-darwin-x64': 4.3.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.3.0 - '@rollup/rollup-linux-arm64-gnu': 4.3.0 - '@rollup/rollup-linux-arm64-musl': 4.3.0 - '@rollup/rollup-linux-x64-gnu': 4.3.0 - '@rollup/rollup-linux-x64-musl': 4.3.0 - '@rollup/rollup-win32-arm64-msvc': 4.3.0 - '@rollup/rollup-win32-ia32-msvc': 4.3.0 - '@rollup/rollup-win32-x64-msvc': 4.3.0 + '@rollup/rollup-android-arm-eabi': 4.5.0 + '@rollup/rollup-android-arm64': 4.5.0 + '@rollup/rollup-darwin-arm64': 4.5.0 + '@rollup/rollup-darwin-x64': 4.5.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.5.0 + '@rollup/rollup-linux-arm64-gnu': 4.5.0 + '@rollup/rollup-linux-arm64-musl': 4.5.0 + '@rollup/rollup-linux-x64-gnu': 4.5.0 + '@rollup/rollup-linux-x64-musl': 4.5.0 + '@rollup/rollup-win32-arm64-msvc': 4.5.0 + '@rollup/rollup-win32-ia32-msvc': 4.5.0 + '@rollup/rollup-win32-x64-msvc': 4.5.0 fsevents: 2.3.3 dev: true @@ -9955,7 +9995,7 @@ packages: resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/json-schema': 7.0.14 + '@types/json-schema': 7.0.15 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) dev: true @@ -10050,14 +10090,14 @@ packages: engines: {node: '>=14'} dev: true - /size-limit@10.0.2: - resolution: {integrity: sha512-ULFHMr+OQjuyqdGSqkDGY3XfnGO0l3cIfJaNe6F6ZqO+QzWUYunZh9DYHovNctsN7R9fR9gzzzW4Ze8TiJ060g==} + /size-limit@11.0.0: + resolution: {integrity: sha512-6+i4rE1GRzx/vRpuitRYQiZJNTXJjde+4P2NPg8AK7pURrE1+hA3mGstzvT8vQ8DuYFnvp9fh4CHM7Heq3EKXA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true dependencies: bytes-iec: 3.1.1 chokidar: 3.5.3 - globby: 13.2.2 + globby: 14.0.0 lilconfig: 2.1.0 nanospinner: 1.1.0 picocolors: 1.0.0 @@ -10068,9 +10108,9 @@ packages: engines: {node: '>=8'} dev: true - /slash@4.0.0: - resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} - engines: {node: '>=12'} + /slash@5.1.0: + resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} + engines: {node: '>=14.16'} dev: true /slice-ansi@3.0.0: @@ -10103,13 +10143,13 @@ packages: resolution: {integrity: sha512-9LK+E7Hv5R9u4g4C3p+jjLstaLe11MDsL21UpYaCNmapvMkYhqCV4A/f/3gyH8QjMyh6l68q9xC85vihY9ahMQ==} dev: true - /snyk@1.1238.0: - resolution: {integrity: sha512-JDYAL1bFwHuRqmSsSxMKjy8MKCDRn3oQ4kLVVk1WoDb58nVrqxULOLV0qTz8l6x4VWqphJf26MWZqQwcSgPAjQ==} + /snyk@1.1248.0: + resolution: {integrity: sha512-bQ7I1JeKX5RllIGUxPzMOVg1kTzgY7QCbbxSp/4Alkkg0zBCEb6/XCgrVS++PbnfkpiUaE7qzDhrgT0xrEG4aA==} engines: {node: '>=12'} hasBin: true requiresBuild: true dependencies: - '@sentry/node': 7.77.0 + '@sentry/node': 7.80.1 global-agent: 3.0.0 transitivePeerDependencies: - supports-color @@ -10205,8 +10245,8 @@ packages: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} dev: true - /start-server-and-test@2.0.2: - resolution: {integrity: sha512-4sGS2QmETUwqeBUqtTLP7OqXp3PdDnevaWlPlrFQgn8+7uCgVg4Do7/H/ZhAAVyvnL3DqKyANhnLgcgxrjhrMA==} + /start-server-and-test@2.0.3: + resolution: {integrity: sha512-QsVObjfjFZKJE6CS6bSKNwWZCKBG6975/jKRPPGFfFh+yOQglSeGXiNWjzgQNXdphcBI9nXbyso9tPfX4YAUhg==} engines: {node: '>=16'} hasBin: true dependencies: @@ -10217,7 +10257,7 @@ packages: execa: 5.1.1 lazy-ass: 1.6.0 ps-tree: 1.2.0 - wait-on: 7.1.0(debug@4.3.4) + wait-on: 7.2.0(debug@4.3.4) transitivePeerDependencies: - supports-color dev: true @@ -10397,8 +10437,8 @@ packages: resolution: {integrity: sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==} dev: true - /styled-components@6.1.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-VWNfYYBuXzuLS/QYEeoPgMErP26WL+dX9//rEh80B2mmlS1yRxRxuL5eax4m6ybYEUoHWlTy2XOU32767mlMkg==} + /styled-components@6.1.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-cpZZP5RrKRIClBW5Eby4JM1wElLVP4NQrJbJ0h10TidTyJf4SIIwa3zLXOoPb4gJi8MsJ8mjq5mu2IrEhZIAcQ==} engines: {node: '>= 16'} peerDependencies: react: '>= 16.8.0' @@ -10406,7 +10446,7 @@ packages: dependencies: '@emotion/is-prop-valid': 1.2.1 '@emotion/unitless': 0.8.1 - '@types/stylis': 4.2.2 + '@types/stylis': 4.2.3 css-to-react-native: 3.2.0 csstype: 3.1.2 postcss: 8.4.31 @@ -10693,8 +10733,8 @@ packages: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: true - /throttleit@1.0.0: - resolution: {integrity: sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==} + /throttleit@1.0.1: + resolution: {integrity: sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==} dev: true /through@2.3.8: @@ -10982,6 +11022,11 @@ packages: engines: {node: '>=4'} dev: true + /unicorn-magic@0.1.0: + resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} + engines: {node: '>=18'} + dev: true + /universalify@0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} @@ -11085,7 +11130,7 @@ packages: extsprintf: 1.3.0 dev: true - /vite-node@0.34.6(@types/node@20.8.10)(sass@1.69.5): + /vite-node@0.34.6(@types/node@20.9.2)(sass@1.69.5): resolution: {integrity: sha512-nlBMJ9x6n7/Amaz6F3zJ97EBwR2FkzhBRxF5e+jE6LA3yi6Wtc2lyTij1OnDMIr34v5g/tVQtsVAzhT0jc5ygA==} engines: {node: '>=v14.18.0'} hasBin: true @@ -11095,7 +11140,7 @@ packages: mlly: 1.4.2 pathe: 1.1.1 picocolors: 1.0.0 - vite: 4.5.0(@types/node@20.8.10)(sass@1.69.5) + vite: 5.0.0(@types/node@20.9.2)(sass@1.69.5) transitivePeerDependencies: - '@types/node' - less @@ -11107,7 +11152,7 @@ packages: - terser dev: true - /vite-tsconfig-paths@4.2.1(typescript@5.2.2)(vite@4.5.0): + /vite-tsconfig-paths@4.2.1(typescript@5.2.2)(vite@5.0.0): resolution: {integrity: sha512-GNUI6ZgPqT3oervkvzU+qtys83+75N/OuDaQl7HmOqFTb0pjZsuARrRipsyJhJ3enqV8beI1xhGbToR4o78nSQ==} peerDependencies: vite: '*' @@ -11118,18 +11163,18 @@ packages: debug: 4.3.4(supports-color@8.1.1) globrex: 0.1.2 tsconfck: 2.1.2(typescript@5.2.2) - vite: 4.5.0(@types/node@20.8.10)(sass@1.69.5) + vite: 5.0.0(@types/node@20.9.2)(sass@1.69.5) transitivePeerDependencies: - supports-color - typescript dev: true - /vite@4.5.0(@types/node@20.8.10)(sass@1.69.5): - resolution: {integrity: sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==} - engines: {node: ^14.18.0 || >=16.0.0} + /vite@5.0.0(@types/node@20.9.2)(sass@1.69.5): + resolution: {integrity: sha512-ESJVM59mdyGpsiNAeHQOR/0fqNoOyWPYesFto8FFZugfmhdHx8Fzd8sF3Q/xkVhZsyOxHfdM7ieiVAorI9RjFw==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: - '@types/node': '>= 14' + '@types/node': ^18.0.0 || >=20.0.0 less: '*' lightningcss: ^1.21.0 sass: '*' @@ -11152,10 +11197,10 @@ packages: terser: optional: true dependencies: - '@types/node': 20.8.10 - esbuild: 0.18.20 + '@types/node': 20.9.2 + esbuild: 0.19.6 postcss: 8.4.31 - rollup: 3.29.4 + rollup: 4.5.0 sass: 1.69.5 optionalDependencies: fsevents: 2.3.3 @@ -11194,7 +11239,7 @@ packages: dependencies: '@types/chai': 4.3.6 '@types/chai-subset': 1.3.3 - '@types/node': 20.8.10 + '@types/node': 20.9.2 '@vitest/expect': 0.34.6 '@vitest/runner': 0.34.6 '@vitest/snapshot': 0.34.6 @@ -11214,8 +11259,8 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.7.0 - vite: 4.5.0(@types/node@20.8.10)(sass@1.69.5) - vite-node: 0.34.6(@types/node@20.8.10)(sass@1.69.5) + vite: 5.0.0(@types/node@20.9.2)(sass@1.69.5) + vite-node: 0.34.6(@types/node@20.9.2)(sass@1.69.5) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -11234,12 +11279,12 @@ packages: xml-name-validator: 4.0.0 dev: true - /wait-on@7.1.0(debug@4.3.4): - resolution: {integrity: sha512-U7TF/OYYzAg+OoiT/B8opvN48UHt0QYMi4aD3PjRFpybQ+o6czQF8Ig3SKCCMJdxpBrCalIJ4O00FBof27Fu9Q==} + /wait-on@7.2.0(debug@4.3.4): + resolution: {integrity: sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==} engines: {node: '>=12.0.0'} hasBin: true dependencies: - axios: 0.27.2(debug@4.3.4) + axios: 1.6.2(debug@4.3.4) joi: 17.11.0 lodash: 4.17.21 minimist: 1.2.8 @@ -11290,7 +11335,7 @@ packages: browserslist: 4.22.1 chrome-trace-event: 1.0.3 enhanced-resolve: 5.15.0 - es-module-lexer: 1.3.1 + es-module-lexer: 1.4.1 eslint-scope: 5.1.1 events: 3.3.0 glob-to-regexp: 0.4.1 @@ -11512,8 +11557,8 @@ packages: engines: {node: '>= 6'} dev: true - /yaml@2.3.3: - resolution: {integrity: sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ==} + /yaml@2.3.4: + resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} engines: {node: '>= 14'} dev: true diff --git a/src/components/timeline-elements/timeline-card-content/__tests__/__snapshots__/content-footer.test.tsx.snap b/src/components/timeline-elements/timeline-card-content/__tests__/__snapshots__/content-footer.test.tsx.snap index 2a4638be..2e48b611 100644 --- a/src/components/timeline-elements/timeline-card-content/__tests__/__snapshots__/content-footer.test.tsx.snap +++ b/src/components/timeline-elements/timeline-card-content/__tests__/__snapshots__/content-footer.test.tsx.snap @@ -3,12 +3,12 @@ exports[`ContentFooter > should match snapshot 1`] = `
diff --git a/src/components/timeline-elements/timeline-card-content/__tests__/__snapshots__/content-header.test.tsx.snap b/src/components/timeline-elements/timeline-card-content/__tests__/__snapshots__/content-header.test.tsx.snap index efdde6ae..c9fe4518 100644 --- a/src/components/timeline-elements/timeline-card-content/__tests__/__snapshots__/content-header.test.tsx.snap +++ b/src/components/timeline-elements/timeline-card-content/__tests__/__snapshots__/content-header.test.tsx.snap @@ -3,16 +3,16 @@ exports[`Content Header > should match the snapshot 1`] = `

title

content

diff --git a/src/components/timeline-elements/timeline-card-media/__tests__/__snapshots__/timeline-card-media.test.tsx.snap b/src/components/timeline-elements/timeline-card-media/__tests__/__snapshots__/timeline-card-media.test.tsx.snap index 95f22ac2..67951802 100644 --- a/src/components/timeline-elements/timeline-card-media/__tests__/__snapshots__/timeline-card-media.test.tsx.snap +++ b/src/components/timeline-elements/timeline-card-media/__tests__/__snapshots__/timeline-card-media.test.tsx.snap @@ -3,16 +3,16 @@ exports[`Timeline Card media > should match the snapshot ( IMAGE ) 1`] = `
Image should match the snapshot ( IMAGE ) 1`] = `

This is another test

@@ -39,27 +39,27 @@ exports[`Timeline Card media > should match the snapshot ( IMAGE ) 1`] = ` exports[`Timeline Card media > should match the snapshot ( VIDEO ) 1`] = `