From 8b77bd4ce34b363b7fdbac12d242dfa294da4ae1 Mon Sep 17 00:00:00 2001 From: prabhuignoto Date: Wed, 21 Feb 2024 01:45:39 +0530 Subject: [PATCH] fix all test cases --- coverage/base.css | 224 - coverage/block-navigation.js | 87 - coverage/clover.xml | 5723 -------------- coverage/components/common/styles/index.html | 116 - .../components/common/styles/index.ts.html | 142 - coverage/components/common/test/index.html | 116 - .../components/common/test/index.tsx.html | 334 - coverage/components/common/themes/index.html | 116 - .../components/common/themes/index.ts.html | 226 - coverage/components/effects/index.html | 146 - .../effects/useCloseClickOutside.ts.html | 220 - .../components/effects/useMatchMedia.ts.html | 223 - .../effects/useNewScrollPosition.ts.html | 349 - coverage/components/elements/list/index.html | 146 - .../elements/list/list-item.tsx.html | 271 - .../elements/list/list.styles.ts.html | 412 - .../components/elements/list/list.tsx.html | 349 - .../components/elements/popover/index.html | 131 - .../elements/popover/index.tsx.html | 340 - .../elements/popover/popover.styles.ts.html | 367 - .../timeline-elements/memoized/index.html | 116 - .../timeline-elements/memoized/index.tsx.html | 607 -- .../card-animations.styles.ts.html | 220 - .../content-footer.tsx.html | 436 -- .../content-header.tsx.html | 244 - .../details-text.tsx.html | 283 - .../timeline-card-content/index.html | 206 - .../text-or-content.tsx.html | 451 -- .../timeline-card-content.styles.ts.html | 1339 ---- .../timeline-card-content.tsx.html | 1471 ---- .../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 | 673 -- .../timeline-control/index.html | 131 - .../timeline-control.styles.ts.html | 352 - .../timeline-control.tsx.html | 766 -- .../timeline-item-title/index.html | 131 - .../timeline-card-title.styles.ts.html | 157 - .../timeline-card-title.tsx.html | 232 - .../components/timeline-horizontal/index.html | 131 - .../timeline-horizontal.styles.ts.html | 190 - .../timeline-horizontal.tsx.html | 394 - .../components/timeline-vertical/index.html | 176 - .../timeline-vertical/timeline-point.tsx.html | 493 -- .../timeline-vertical-item.tsx.html | 790 -- .../timeline-vertical-shape.styles.ts.html | 244 - .../timeline-vertical.styles.ts.html | 517 -- .../timeline-vertical.tsx.html | 430 -- coverage/components/timeline/index.html | 161 - .../timeline-popover-elements.tsx.html | 490 -- .../timeline/timeline-toolbar.tsx.html | 427 - .../timeline/timeline.style.ts.html | 571 -- .../components/timeline/timeline.tsx.html | 1555 ---- coverage/components/toolbar/index.html | 131 - coverage/components/toolbar/index.tsx.html | 214 - .../components/toolbar/toolbar.styles.ts.html | 184 - coverage/favicon.png | Bin 445 -> 0 bytes coverage/index.html | 356 - coverage/lcov-report/base.css | 224 - coverage/lcov-report/block-navigation.js | 87 - .../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 | 226 - .../lcov-report/components/effects/index.html | 146 - .../effects/useCloseClickOutside.ts.html | 220 - .../components/effects/useMatchMedia.ts.html | 223 - .../effects/useNewScrollPosition.ts.html | 349 - .../components/elements/list/index.html | 146 - .../elements/list/list-item.tsx.html | 271 - .../elements/list/list.styles.ts.html | 412 - .../components/elements/list/list.tsx.html | 349 - .../components/elements/popover/index.html | 131 - .../elements/popover/index.tsx.html | 340 - .../elements/popover/popover.styles.ts.html | 367 - .../timeline-elements/memoized/index.html | 116 - .../timeline-elements/memoized/index.tsx.html | 607 -- .../card-animations.styles.ts.html | 220 - .../content-footer.tsx.html | 436 -- .../content-header.tsx.html | 244 - .../details-text.tsx.html | 283 - .../timeline-card-content/index.html | 206 - .../text-or-content.tsx.html | 451 -- .../timeline-card-content.styles.ts.html | 1339 ---- .../timeline-card-content.tsx.html | 1471 ---- .../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 | 673 -- .../timeline-control/index.html | 131 - .../timeline-control.styles.ts.html | 352 - .../timeline-control.tsx.html | 766 -- .../timeline-item-title/index.html | 131 - .../timeline-card-title.styles.ts.html | 157 - .../timeline-card-title.tsx.html | 232 - .../components/timeline-horizontal/index.html | 131 - .../timeline-horizontal.styles.ts.html | 190 - .../timeline-horizontal.tsx.html | 394 - .../components/timeline-vertical/index.html | 176 - .../timeline-vertical/timeline-point.tsx.html | 493 -- .../timeline-vertical-item.tsx.html | 790 -- .../timeline-vertical-shape.styles.ts.html | 244 - .../timeline-vertical.styles.ts.html | 517 -- .../timeline-vertical.tsx.html | 430 -- .../components/timeline/index.html | 161 - .../timeline-popover-elements.tsx.html | 490 -- .../timeline/timeline-toolbar.tsx.html | 427 - .../timeline/timeline.style.ts.html | 571 -- .../components/timeline/timeline.tsx.html | 1555 ---- .../lcov-report/components/toolbar/index.html | 131 - .../components/toolbar/index.tsx.html | 214 - .../components/toolbar/toolbar.styles.ts.html | 184 - coverage/lcov-report/favicon.png | Bin 445 -> 0 bytes coverage/lcov-report/index.html | 356 - coverage/lcov-report/prettify.css | 1 - coverage/lcov-report/prettify.js | 2 - coverage/lcov-report/sort-arrow-sprite.png | Bin 138 -> 0 bytes coverage/lcov-report/sorter.js | 196 - coverage/lcov-report/utils/index.html | 116 - coverage/lcov-report/utils/index.ts.html | 349 - coverage/lcov.info | 6845 ----------------- coverage/prettify.css | 1 - coverage/prettify.js | 2 - coverage/sort-arrow-sprite.png | Bin 138 -> 0 bytes coverage/sorter.js | 196 - coverage/utils/index.html | 116 - coverage/utils/index.ts.html | 349 - package.json | 8 +- pnpm-lock.yaml | 774 +- src/components/common/test/index.tsx | 12 + src/components/effects/useMatchMedia.ts | 3 +- src/components/elements/list/list-item.tsx | 4 +- src/components/elements/list/list.styles.ts | 8 +- .../popover/__tests__/popover.test.tsx | 42 +- src/components/elements/popover/index.tsx | 36 +- .../elements/popover/popover.model.ts | 2 +- .../elements/popover/popover.styles.ts | 32 +- .../content-header.test.tsx.snap | 2 +- .../__tests__/timeline-card-content.test.tsx | 27 +- .../timeline-card-media.test.tsx.snap | 4 +- .../timeline-horizontal-card.test.tsx.snap | 2 +- .../timeline-horizontal-card.test.tsx | 16 +- .../timeline-control.test.tsx.snap | 2 +- .../timeline-control/timeline-control.tsx | 2 +- .../timeline-point.test.tsx.snap | 4 +- .../timeline-vertical-item.test.tsx.snap | 22 +- .../__tests__/layout-switcher.test.tsx | 135 +- .../timeline/timeline-popover-elements.tsx | 27 +- src/components/timeline/timeline-toolbar.tsx | 6 +- .../toolbar/__tests__/toolbar.test.tsx | 48 + src/components/toolbar/toolbar.styles.ts | 2 +- src/utils/index.ts | 2 +- src/utils/utils.test.ts | 1 + vitest.config.mts | 2 +- 163 files changed, 686 insertions(+), 59913 deletions(-) delete mode 100644 coverage/base.css delete mode 100644 coverage/block-navigation.js delete mode 100644 coverage/clover.xml delete mode 100644 coverage/components/common/styles/index.html delete mode 100644 coverage/components/common/styles/index.ts.html delete mode 100644 coverage/components/common/test/index.html delete mode 100644 coverage/components/common/test/index.tsx.html delete mode 100644 coverage/components/common/themes/index.html delete mode 100644 coverage/components/common/themes/index.ts.html delete mode 100644 coverage/components/effects/index.html delete mode 100644 coverage/components/effects/useCloseClickOutside.ts.html delete mode 100644 coverage/components/effects/useMatchMedia.ts.html delete mode 100644 coverage/components/effects/useNewScrollPosition.ts.html delete mode 100644 coverage/components/elements/list/index.html delete mode 100644 coverage/components/elements/list/list-item.tsx.html delete mode 100644 coverage/components/elements/list/list.styles.ts.html delete mode 100644 coverage/components/elements/list/list.tsx.html delete mode 100644 coverage/components/elements/popover/index.html delete mode 100644 coverage/components/elements/popover/index.tsx.html delete mode 100644 coverage/components/elements/popover/popover.styles.ts.html delete mode 100644 coverage/components/timeline-elements/memoized/index.html delete mode 100644 coverage/components/timeline-elements/memoized/index.tsx.html delete mode 100644 coverage/components/timeline-elements/timeline-card-content/card-animations.styles.ts.html delete mode 100644 coverage/components/timeline-elements/timeline-card-content/content-footer.tsx.html delete mode 100644 coverage/components/timeline-elements/timeline-card-content/content-header.tsx.html delete mode 100644 coverage/components/timeline-elements/timeline-card-content/details-text.tsx.html delete mode 100644 coverage/components/timeline-elements/timeline-card-content/index.html delete mode 100644 coverage/components/timeline-elements/timeline-card-content/text-or-content.tsx.html delete mode 100644 coverage/components/timeline-elements/timeline-card-content/timeline-card-content.styles.ts.html delete mode 100644 coverage/components/timeline-elements/timeline-card-content/timeline-card-content.tsx.html delete mode 100644 coverage/components/timeline-elements/timeline-card-media/index.html delete mode 100644 coverage/components/timeline-elements/timeline-card-media/timeline-card-media-buttons.tsx.html delete mode 100644 coverage/components/timeline-elements/timeline-card-media/timeline-card-media.styles.ts.html delete mode 100644 coverage/components/timeline-elements/timeline-card-media/timeline-card-media.tsx.html delete mode 100644 coverage/components/timeline-elements/timeline-card/index.html delete mode 100644 coverage/components/timeline-elements/timeline-card/timeline-horizontal-card.styles.ts.html delete mode 100644 coverage/components/timeline-elements/timeline-card/timeline-horizontal-card.tsx.html delete mode 100644 coverage/components/timeline-elements/timeline-control/index.html delete mode 100644 coverage/components/timeline-elements/timeline-control/timeline-control.styles.ts.html delete mode 100644 coverage/components/timeline-elements/timeline-control/timeline-control.tsx.html delete mode 100644 coverage/components/timeline-elements/timeline-item-title/index.html delete mode 100644 coverage/components/timeline-elements/timeline-item-title/timeline-card-title.styles.ts.html delete mode 100644 coverage/components/timeline-elements/timeline-item-title/timeline-card-title.tsx.html delete mode 100644 coverage/components/timeline-horizontal/index.html delete mode 100644 coverage/components/timeline-horizontal/timeline-horizontal.styles.ts.html delete mode 100644 coverage/components/timeline-horizontal/timeline-horizontal.tsx.html delete mode 100644 coverage/components/timeline-vertical/index.html delete mode 100644 coverage/components/timeline-vertical/timeline-point.tsx.html delete mode 100644 coverage/components/timeline-vertical/timeline-vertical-item.tsx.html delete mode 100644 coverage/components/timeline-vertical/timeline-vertical-shape.styles.ts.html delete mode 100644 coverage/components/timeline-vertical/timeline-vertical.styles.ts.html delete mode 100644 coverage/components/timeline-vertical/timeline-vertical.tsx.html delete mode 100644 coverage/components/timeline/index.html delete mode 100644 coverage/components/timeline/timeline-popover-elements.tsx.html delete mode 100644 coverage/components/timeline/timeline-toolbar.tsx.html delete mode 100644 coverage/components/timeline/timeline.style.ts.html delete mode 100644 coverage/components/timeline/timeline.tsx.html delete mode 100644 coverage/components/toolbar/index.html delete mode 100644 coverage/components/toolbar/index.tsx.html delete mode 100644 coverage/components/toolbar/toolbar.styles.ts.html delete mode 100644 coverage/favicon.png delete mode 100644 coverage/index.html delete mode 100644 coverage/lcov-report/base.css delete mode 100644 coverage/lcov-report/block-navigation.js delete mode 100644 coverage/lcov-report/components/common/styles/index.html delete mode 100644 coverage/lcov-report/components/common/styles/index.ts.html delete mode 100644 coverage/lcov-report/components/common/test/index.html delete mode 100644 coverage/lcov-report/components/common/test/index.tsx.html delete mode 100644 coverage/lcov-report/components/common/themes/index.html delete mode 100644 coverage/lcov-report/components/common/themes/index.ts.html delete mode 100644 coverage/lcov-report/components/effects/index.html delete mode 100644 coverage/lcov-report/components/effects/useCloseClickOutside.ts.html delete mode 100644 coverage/lcov-report/components/effects/useMatchMedia.ts.html delete mode 100644 coverage/lcov-report/components/effects/useNewScrollPosition.ts.html delete mode 100644 coverage/lcov-report/components/elements/list/index.html delete mode 100644 coverage/lcov-report/components/elements/list/list-item.tsx.html delete mode 100644 coverage/lcov-report/components/elements/list/list.styles.ts.html delete mode 100644 coverage/lcov-report/components/elements/list/list.tsx.html delete mode 100644 coverage/lcov-report/components/elements/popover/index.html delete mode 100644 coverage/lcov-report/components/elements/popover/index.tsx.html delete mode 100644 coverage/lcov-report/components/elements/popover/popover.styles.ts.html delete mode 100644 coverage/lcov-report/components/timeline-elements/memoized/index.html delete mode 100644 coverage/lcov-report/components/timeline-elements/memoized/index.tsx.html delete mode 100644 coverage/lcov-report/components/timeline-elements/timeline-card-content/card-animations.styles.ts.html delete mode 100644 coverage/lcov-report/components/timeline-elements/timeline-card-content/content-footer.tsx.html delete mode 100644 coverage/lcov-report/components/timeline-elements/timeline-card-content/content-header.tsx.html delete mode 100644 coverage/lcov-report/components/timeline-elements/timeline-card-content/details-text.tsx.html delete mode 100644 coverage/lcov-report/components/timeline-elements/timeline-card-content/index.html delete mode 100644 coverage/lcov-report/components/timeline-elements/timeline-card-content/text-or-content.tsx.html delete mode 100644 coverage/lcov-report/components/timeline-elements/timeline-card-content/timeline-card-content.styles.ts.html delete mode 100644 coverage/lcov-report/components/timeline-elements/timeline-card-content/timeline-card-content.tsx.html delete mode 100644 coverage/lcov-report/components/timeline-elements/timeline-card-media/index.html delete mode 100644 coverage/lcov-report/components/timeline-elements/timeline-card-media/timeline-card-media-buttons.tsx.html delete mode 100644 coverage/lcov-report/components/timeline-elements/timeline-card-media/timeline-card-media.styles.ts.html delete mode 100644 coverage/lcov-report/components/timeline-elements/timeline-card-media/timeline-card-media.tsx.html delete mode 100644 coverage/lcov-report/components/timeline-elements/timeline-card/index.html delete mode 100644 coverage/lcov-report/components/timeline-elements/timeline-card/timeline-horizontal-card.styles.ts.html delete mode 100644 coverage/lcov-report/components/timeline-elements/timeline-card/timeline-horizontal-card.tsx.html delete mode 100644 coverage/lcov-report/components/timeline-elements/timeline-control/index.html delete mode 100644 coverage/lcov-report/components/timeline-elements/timeline-control/timeline-control.styles.ts.html delete mode 100644 coverage/lcov-report/components/timeline-elements/timeline-control/timeline-control.tsx.html delete mode 100644 coverage/lcov-report/components/timeline-elements/timeline-item-title/index.html delete mode 100644 coverage/lcov-report/components/timeline-elements/timeline-item-title/timeline-card-title.styles.ts.html delete mode 100644 coverage/lcov-report/components/timeline-elements/timeline-item-title/timeline-card-title.tsx.html delete mode 100644 coverage/lcov-report/components/timeline-horizontal/index.html delete mode 100644 coverage/lcov-report/components/timeline-horizontal/timeline-horizontal.styles.ts.html delete mode 100644 coverage/lcov-report/components/timeline-horizontal/timeline-horizontal.tsx.html delete mode 100644 coverage/lcov-report/components/timeline-vertical/index.html delete mode 100644 coverage/lcov-report/components/timeline-vertical/timeline-point.tsx.html delete mode 100644 coverage/lcov-report/components/timeline-vertical/timeline-vertical-item.tsx.html delete mode 100644 coverage/lcov-report/components/timeline-vertical/timeline-vertical-shape.styles.ts.html delete mode 100644 coverage/lcov-report/components/timeline-vertical/timeline-vertical.styles.ts.html delete mode 100644 coverage/lcov-report/components/timeline-vertical/timeline-vertical.tsx.html delete mode 100644 coverage/lcov-report/components/timeline/index.html delete mode 100644 coverage/lcov-report/components/timeline/timeline-popover-elements.tsx.html delete mode 100644 coverage/lcov-report/components/timeline/timeline-toolbar.tsx.html delete mode 100644 coverage/lcov-report/components/timeline/timeline.style.ts.html delete mode 100644 coverage/lcov-report/components/timeline/timeline.tsx.html delete mode 100644 coverage/lcov-report/components/toolbar/index.html delete mode 100644 coverage/lcov-report/components/toolbar/index.tsx.html delete mode 100644 coverage/lcov-report/components/toolbar/toolbar.styles.ts.html delete mode 100644 coverage/lcov-report/favicon.png delete mode 100644 coverage/lcov-report/index.html delete mode 100644 coverage/lcov-report/prettify.css delete mode 100644 coverage/lcov-report/prettify.js delete mode 100644 coverage/lcov-report/sort-arrow-sprite.png delete mode 100644 coverage/lcov-report/sorter.js delete mode 100644 coverage/lcov-report/utils/index.html delete mode 100644 coverage/lcov-report/utils/index.ts.html delete mode 100644 coverage/lcov.info delete mode 100644 coverage/prettify.css delete mode 100644 coverage/prettify.js delete mode 100644 coverage/sort-arrow-sprite.png delete mode 100644 coverage/sorter.js delete mode 100644 coverage/utils/index.html delete mode 100644 coverage/utils/index.ts.html create mode 100644 src/components/toolbar/__tests__/toolbar.test.tsx diff --git a/coverage/base.css b/coverage/base.css deleted file mode 100644 index f418035b..00000000 --- a/coverage/base.css +++ /dev/null @@ -1,224 +0,0 @@ -body, html { - margin:0; padding: 0; - height: 100%; -} -body { - font-family: Helvetica Neue, Helvetica, Arial; - font-size: 14px; - color:#333; -} -.small { font-size: 12px; } -*, *:after, *:before { - -webkit-box-sizing:border-box; - -moz-box-sizing:border-box; - box-sizing:border-box; - } -h1 { font-size: 20px; margin: 0;} -h2 { font-size: 14px; } -pre { - font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace; - margin: 0; - padding: 0; - -moz-tab-size: 2; - -o-tab-size: 2; - tab-size: 2; -} -a { color:#0074D9; text-decoration:none; } -a:hover { text-decoration:underline; } -.strong { font-weight: bold; } -.space-top1 { padding: 10px 0 0 0; } -.pad2y { padding: 20px 0; } -.pad1y { padding: 10px 0; } -.pad2x { padding: 0 20px; } -.pad2 { padding: 20px; } -.pad1 { padding: 10px; } -.space-left2 { padding-left:55px; } -.space-right2 { padding-right:20px; } -.center { text-align:center; } -.clearfix { display:block; } -.clearfix:after { - content:''; - display:block; - height:0; - clear:both; - visibility:hidden; - } -.fl { float: left; } -@media only screen and (max-width:640px) { - .col3 { width:100%; max-width:100%; } - .hide-mobile { display:none!important; } -} - -.quiet { - color: #7f7f7f; - color: rgba(0,0,0,0.5); -} -.quiet a { opacity: 0.7; } - -.fraction { - font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; - font-size: 10px; - color: #555; - background: #E8E8E8; - padding: 4px 5px; - border-radius: 3px; - vertical-align: middle; -} - -div.path a:link, div.path a:visited { color: #333; } -table.coverage { - border-collapse: collapse; - margin: 10px 0 0 0; - padding: 0; -} - -table.coverage td { - margin: 0; - padding: 0; - vertical-align: top; -} -table.coverage td.line-count { - text-align: right; - padding: 0 5px 0 20px; -} -table.coverage td.line-coverage { - text-align: right; - padding-right: 10px; - min-width:20px; -} - -table.coverage td span.cline-any { - display: inline-block; - padding: 0 5px; - width: 100%; -} -.missing-if-branch { - display: inline-block; - margin-right: 5px; - border-radius: 3px; - position: relative; - padding: 0 4px; - background: #333; - color: yellow; -} - -.skip-if-branch { - display: none; - margin-right: 10px; - position: relative; - padding: 0 4px; - background: #ccc; - color: white; -} -.missing-if-branch .typ, .skip-if-branch .typ { - color: inherit !important; -} -.coverage-summary { - border-collapse: collapse; - width: 100%; -} -.coverage-summary tr { border-bottom: 1px solid #bbb; } -.keyline-all { border: 1px solid #ddd; } -.coverage-summary td, .coverage-summary th { padding: 10px; } -.coverage-summary tbody { border: 1px solid #bbb; } -.coverage-summary td { border-right: 1px solid #bbb; } -.coverage-summary td:last-child { border-right: none; } -.coverage-summary th { - text-align: left; - font-weight: normal; - white-space: nowrap; -} -.coverage-summary th.file { border-right: none !important; } -.coverage-summary th.pct { } -.coverage-summary th.pic, -.coverage-summary th.abs, -.coverage-summary td.pct, -.coverage-summary td.abs { text-align: right; } -.coverage-summary td.file { white-space: nowrap; } -.coverage-summary td.pic { min-width: 120px !important; } -.coverage-summary tfoot td { } - -.coverage-summary .sorter { - height: 10px; - width: 7px; - display: inline-block; - margin-left: 0.5em; - background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; -} -.coverage-summary .sorted .sorter { - background-position: 0 -20px; -} -.coverage-summary .sorted-desc .sorter { - background-position: 0 -10px; -} -.status-line { height: 10px; } -/* yellow */ -.cbranch-no { background: yellow !important; color: #111; } -/* dark red */ -.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 } -.low .chart { border:1px solid #C21F39 } -.highlighted, -.highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{ - background: #C21F39 !important; -} -/* medium red */ -.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE } -/* light red */ -.low, .cline-no { background:#FCE1E5 } -/* light green */ -.high, .cline-yes { background:rgb(230,245,208) } -/* medium green */ -.cstat-yes { background:rgb(161,215,106) } -/* dark green */ -.status-line.high, .high .cover-fill { background:rgb(77,146,33) } -.high .chart { border:1px solid rgb(77,146,33) } -/* dark yellow (gold) */ -.status-line.medium, .medium .cover-fill { background: #f9cd0b; } -.medium .chart { border:1px solid #f9cd0b; } -/* light yellow */ -.medium { background: #fff4c2; } - -.cstat-skip { background: #ddd; color: #111; } -.fstat-skip { background: #ddd; color: #111 !important; } -.cbranch-skip { background: #ddd !important; color: #111; } - -span.cline-neutral { background: #eaeaea; } - -.coverage-summary td.empty { - opacity: .5; - padding-top: 4px; - padding-bottom: 4px; - line-height: 1; - color: #888; -} - -.cover-fill, .cover-empty { - display:inline-block; - height: 12px; -} -.chart { - line-height: 0; -} -.cover-empty { - background: white; -} -.cover-full { - border-right: none !important; -} -pre.prettyprint { - border: none !important; - padding: 0 !important; - margin: 0 !important; -} -.com { color: #999 !important; } -.ignore-none { color: #999; font-weight: normal; } - -.wrapper { - min-height: 100%; - height: auto !important; - height: 100%; - margin: 0 auto -48px; -} -.footer, .push { - height: 48px; -} diff --git a/coverage/block-navigation.js b/coverage/block-navigation.js deleted file mode 100644 index cc121302..00000000 --- a/coverage/block-navigation.js +++ /dev/null @@ -1,87 +0,0 @@ -/* eslint-disable */ -var jumpToCode = (function init() { - // Classes of code we would like to highlight in the file view - var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no']; - - // Elements to highlight in the file listing view - var fileListingElements = ['td.pct.low']; - - // We don't want to select elements that are direct descendants of another match - var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > ` - - // Selecter that finds elements on the page to which we can jump - var selector = - fileListingElements.join(', ') + - ', ' + - notSelector + - missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b` - - // The NodeList of matching elements - var missingCoverageElements = document.querySelectorAll(selector); - - var currentIndex; - - function toggleClass(index) { - missingCoverageElements - .item(currentIndex) - .classList.remove('highlighted'); - missingCoverageElements.item(index).classList.add('highlighted'); - } - - function makeCurrent(index) { - toggleClass(index); - currentIndex = index; - missingCoverageElements.item(index).scrollIntoView({ - behavior: 'smooth', - block: 'center', - inline: 'center' - }); - } - - function goToPrevious() { - var nextIndex = 0; - if (typeof currentIndex !== 'number' || currentIndex === 0) { - nextIndex = missingCoverageElements.length - 1; - } else if (missingCoverageElements.length > 1) { - nextIndex = currentIndex - 1; - } - - makeCurrent(nextIndex); - } - - function goToNext() { - var nextIndex = 0; - - if ( - typeof currentIndex === 'number' && - currentIndex < missingCoverageElements.length - 1 - ) { - nextIndex = currentIndex + 1; - } - - makeCurrent(nextIndex); - } - - return function jump(event) { - if ( - document.getElementById('fileSearch') === document.activeElement && - document.activeElement != null - ) { - // if we're currently focused on the search input, we don't want to navigate - return; - } - - switch (event.which) { - case 78: // n - case 74: // j - goToNext(); - break; - case 66: // b - case 75: // k - case 80: // p - goToPrevious(); - break; - } - }; -})(); -window.addEventListener('keydown', jumpToCode); diff --git a/coverage/clover.xml b/coverage/clover.xml deleted file mode 100644 index 223cb814..00000000 --- a/coverage/clover.xml +++ /dev/null @@ -1,5723 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/coverage/components/common/styles/index.html b/coverage/components/common/styles/index.html deleted file mode 100644 index 4cbe7050..00000000 --- a/coverage/components/common/styles/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - 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/components/common/styles/index.ts.html b/coverage/components/common/styles/index.ts.html deleted file mode 100644 index 8cb86981..00000000 --- a/coverage/components/common/styles/index.ts.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - 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/components/common/test/index.html b/coverage/components/common/test/index.html deleted file mode 100644 index cbe86870..00000000 --- a/coverage/components/common/test/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - 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/components/common/test/index.tsx.html b/coverage/components/common/test/index.tsx.html deleted file mode 100644 index e1d5dd9e..00000000 --- a/coverage/components/common/test/index.tsx.html +++ /dev/null @@ -1,334 +0,0 @@ - - - - - - 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 -17x -17x -17x -17x -17x -17x -17x -17x - 
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/components/common/themes/index.html b/coverage/components/common/themes/index.html deleted file mode 100644 index 4c41d1a6..00000000 --- a/coverage/components/common/themes/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - Code coverage report for components/common/themes - - - - - - - - - -
-
-

All files components/common/themes

-
- -
- 100% - Statements - 47/47 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 100% - Lines - 47/47 -
- - -
-

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

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.ts -
-
100%47/47100%0/0100%0/0100%47/47
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/components/common/themes/index.ts.html b/coverage/components/common/themes/index.ts.html deleted file mode 100644 index 56447a99..00000000 --- a/coverage/components/common/themes/index.ts.html +++ /dev/null @@ -1,226 +0,0 @@ - - - - - - Code coverage report for components/common/themes/index.ts - - - - - - - - - -
-
-

All files / components/common/themes index.ts

-
- -
- 100% - Statements - 47/47 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 100% - Lines - 47/47 -
- - -
-

- 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 -481x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -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',
-  toolbarBgColor: '#f5f5f5',
-  toolbarBtnBgColor: '#fff',
-  toolbarTextColor: '#000',
-};
- 
-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',
-  toolbarBgColor: '#555',
-  toolbarBtnBgColor: '#222',
-  toolbarTextColor: '#ffffff',
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/components/effects/index.html b/coverage/components/effects/index.html deleted file mode 100644 index ce609434..00000000 --- a/coverage/components/effects/index.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - Code coverage report for components/effects - - - - - - - - - -
-
-

All files components/effects

-
- -
- 62.01% - Statements - 111/179 -
- - -
- 75% - Branches - 12/16 -
- - -
- 75% - Functions - 3/4 -
- - -
- 62.01% - Lines - 111/179 -
- - -
-

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

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
useCloseClickOutside.ts -
-
93.33%42/45100%6/6100%1/193.33%42/45
useMatchMedia.ts -
-
86.95%40/4650%4/850%1/286.95%40/46
useNewScrollPosition.ts -
-
32.95%29/88100%2/2100%1/132.95%29/88
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/components/effects/useCloseClickOutside.ts.html b/coverage/components/effects/useCloseClickOutside.ts.html deleted file mode 100644 index 2faa967d..00000000 --- a/coverage/components/effects/useCloseClickOutside.ts.html +++ /dev/null @@ -1,220 +0,0 @@ - - - - - - Code coverage report for components/effects/useCloseClickOutside.ts - - - - - - - - - -
-
-

All files / components/effects useCloseClickOutside.ts

-
- -
- 93.33% - Statements - 42/45 -
- - -
- 100% - Branches - 6/6 -
- - -
- 100% - Functions - 1/1 -
- - -
- 93.33% - Lines - 42/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 -29x -29x -29x -29x -29x -29x -29x -10x -10x -10x -10x -3x -3x -10x -29x -29x -29x -  -  -  -29x -29x -29x -21x -21x -21x -21x -21x -21x -21x -29x -29x -29x -12x -12x -12x -12x -12x -12x -12x -12x -29x -29x - 
import { RefObject, useCallback, useEffect, useRef } from 'react';
- 
-export default function useCloseClickOutside(
-  el: RefObject<HTMLDivElement>,
-  callback: () => void,
-) {
-  const htmlElement = useRef<HTMLElement>();
- 
-  const handleClick = useCallback((e: MouseEvent) => {
-    const element = htmlElement.current;
- 
-    if (element) {
-      if (!element.contains(e.target as Node)) {
-        callback();
-      }
-    }
-  }, []);
- 
-  const handleEscape = useCallback((e: KeyboardEvent) => {
-    if (e.key === 'Escape') {
-      callback();
-    }
-  }, []);
- 
-  useEffect(() => {
-    const element = el.current;
- 
-    if (element) {
-      htmlElement.current = element;
- 
-      element.addEventListener('keyup', handleEscape);
-    }
-  }, [el, callback]);
- 
-  useEffect(() => {
-    document.addEventListener('click', handleClick);
-    return () => {
-      const element = htmlElement.current;
-      if (element) {
-        element.removeEventListener('keyup', handleEscape);
-      }
-      document.removeEventListener('click', handleClick);
-    };
-  }, []);
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/components/effects/useMatchMedia.ts.html b/coverage/components/effects/useMatchMedia.ts.html deleted file mode 100644 index 97e13b0f..00000000 --- a/coverage/components/effects/useMatchMedia.ts.html +++ /dev/null @@ -1,223 +0,0 @@ - - - - - - Code coverage report for components/effects/useMatchMedia.ts - - - - - - - - - -
-
-

All files / components/effects useMatchMedia.ts

-
- -
- 86.95% - Statements - 40/46 -
- - -
- 50% - Branches - 4/8 -
- - -
- 50% - Functions - 1/2 -
- - -
- 86.95% - Lines - 40/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 -10x -10x -10x -10x -10x -10x -10x -7x -  -  -7x -7x -7x -7x -7x -7x -  -  -7x -7x -7x -7x -7x -7x -10x -10x -10x -10x -  -  -10x -10x -10x -10x - 
/**
- * 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/components/effects/useNewScrollPosition.ts.html b/coverage/components/effects/useNewScrollPosition.ts.html deleted file mode 100644 index 5db018eb..00000000 --- a/coverage/components/effects/useNewScrollPosition.ts.html +++ /dev/null @@ -1,349 +0,0 @@ - - - - - - Code coverage report for components/effects/useNewScrollPosition.ts - - - - - - - - - -
-
-

All files / components/effects useNewScrollPosition.ts

-
- -
- 32.95% - Statements - 29/88 -
- - -
- 100% - Branches - 2/2 -
- - -
- 100% - Functions - 1/1 -
- - -
- 32.95% - Lines - 29/88 -
- - -
-

- 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 -891x -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 -1x -1x - 
import { Scroll } from '@models/TimelineHorizontalModel';
-import { TimelineMode } from '@models/TimelineModel';
-import { useMemo, useState } from 'react';
- 
-/**
- * Hook to calculate the new scroll position based on the given mode and item width.
- *
- * @param {TimelineMode} mode - The mode of the timeline (HORIZONTAL, VERTICAL, or VERTICAL_ALTERNATING).
- * @param {number} [itemWidth] - Optional item width for horizontal mode.
- * @returns {[number, (e: HTMLElement, s: Partial<Scroll>) => void]} - The new offset and a function to compute the new offset.
- */
-const useNewScrollPosition = (
-  mode: TimelineMode,
-  itemWidth?: number,
-): [number, (e: HTMLElement, s: Partial<Scroll>) => void] => {
-  // State to hold the new offset value
-  const [newOffset, setNewOffset] = useState(0);
- 
-  // Memoized function to compute the new offset value
-  const computeNewOffset = useMemo(
-    () => (parent: HTMLElement, scroll: Partial<Scroll>) => {
-      // Destructuring relevant properties from parent and scroll
-      const { clientWidth, scrollLeft, scrollTop, clientHeight } = parent;
-      const { pointOffset, pointWidth, contentHeight, contentOffset } = scroll;
-
-      // Handling horizontal mode
-      if (mode === 'HORIZONTAL' && itemWidth && pointWidth && pointOffset) {
-        // Calculating right boundaries for container and circular element
-        const contrRight = scrollLeft + clientWidth;
-        const circRight = pointOffset + pointWidth;
-
-        // Checking if the element is fully visible
-        const isVisible = pointOffset >= scrollLeft && circRight <= contrRight;
-
-        // Checking if the element is partially visible
-        const isPartiallyVisible =
-          (pointOffset < scrollLeft && circRight > scrollLeft) ||
-          (circRight > contrRight && pointOffset < contrRight);
-
-        // Calculating gaps from left and right
-        const leftGap = pointOffset - scrollLeft;
-        const rightGap = contrRight - pointOffset;
-
-        // Setting offset based on visibility and gap conditions
-        if (
-          !(isVisible || isPartiallyVisible) ||
-          (leftGap <= itemWidth && leftGap >= 0) ||
-          (rightGap <= itemWidth && rightGap >= 0)
-        ) {
-          setNewOffset(pointOffset - itemWidth);
-        }
-      } else if (mode === 'VERTICAL' || mode === 'VERTICAL_ALTERNATING') {
-        // Handling vertical modes
-        if (contentOffset && contentHeight) {
-          // Calculating bottom boundaries for container and circular element
-          const contrBottom = scrollTop + clientHeight;
-          const circBottom = contentOffset + contentHeight;
-
-          // Checking if the element is fully visible
-          const isVisible =
-            contentOffset >= scrollTop && circBottom <= contrBottom;
-
-          // Checking if the element is partially visible
-          const isPartiallyVisible =
-            (contentOffset < scrollTop && circBottom > scrollTop) ||
-            (circBottom > contrBottom && contentOffset < contrBottom);
-
-          // Calculating new offset
-          const nOffset = contentOffset - contentHeight;
-          const notVisible = !isVisible || isPartiallyVisible;
-
-          // Setting offset based on visibility conditions
-          if (notVisible && nOffset + contentHeight < contrBottom) {
-            setNewOffset(nOffset + Math.round(contentHeight / 2));
-          } else if (notVisible) {
-            setNewOffset(nOffset);
-          }
-        }
-      }
-    },
-    [mode, itemWidth], // Dependencies for useMemo
-  );
- 
-  // Returning the new offset and the function to compute it
-  return [newOffset, computeNewOffset];
-};
- 
-export default useNewScrollPosition;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/components/elements/list/index.html b/coverage/components/elements/list/index.html deleted file mode 100644 index 54951519..00000000 --- a/coverage/components/elements/list/index.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - Code coverage report for components/elements/list - - - - - - - - - -
-
-

All files components/elements/list

-
- -
- 98.84% - Statements - 256/259 -
- - -
- 97.14% - Branches - 34/35 -
- - -
- 85.71% - Functions - 6/7 -
- - -
- 98.84% - Lines - 256/259 -
- - -
-

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

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
list-item.tsx -
-
95.16%59/62100%6/650%1/295.16%59/62
list.styles.ts -
-
100%109/10994.11%16/17100%4/4100%109/109
list.tsx -
-
100%88/88100%12/12100%1/1100%88/88
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/components/elements/list/list-item.tsx.html b/coverage/components/elements/list/list-item.tsx.html deleted file mode 100644 index 388ad0c1..00000000 --- a/coverage/components/elements/list/list-item.tsx.html +++ /dev/null @@ -1,271 +0,0 @@ - - - - - - Code coverage report for components/elements/list/list-item.tsx - - - - - - - - - -
-
-

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

-
- -
- 95.16% - Statements - 59/62 -
- - -
- 100% - Branches - 6/6 -
- - -
- 50% - Functions - 1/2 -
- - -
- 95.16% - Lines - 59/62 -
- - -
-

- 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 -631x -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 -6x -6x -6x -6x -6x -6x -13x -13x -13x -13x -13x -13x -13x -13x -13x -1x -1x -1x -1x -1x - 
import { FunctionComponent, KeyboardEvent, memo, useCallback } from 'react';
-import { ListItemModel } from './list.model';
-import {
-  CheckboxStyle,
-  CheckboxWrapper,
-  ListItemStyle,
-  StyleAndDescription,
-  TitleDescriptionStyle,
-  TitleStyle,
-} from './list.styles';
-import { CheckIcon } from 'src/components/icons';
- 
-const ListItem: FunctionComponent<ListItemModel> = memo(
-  ({
-    title,
-    id,
-    description,
-    theme,
-    onClick,
-    active,
-    selected = false,
-    selectable = false,
-  }: ListItemModel) => {
-    const handleOnClick = useCallback((id: string) => onClick?.(id), []);
- 
-    const handleKeyPress = useCallback((ev: KeyboardEvent, id: string) => {
-      if (ev.key === 'Enter') {
-        handleOnClick(id);
-      }
-    }, []);
- 
-    return (
-      <ListItemStyle
-        key={id}
-        theme={theme}
-        onClick={() => handleOnClick(id)}
-        active={active}
-        tabIndex={0}
-        selectable={selectable}
-        onKeyUp={(ev) => handleKeyPress(ev, id)}
-      >
-        {selectable ? (
-          <CheckboxWrapper>
-            <CheckboxStyle role="checkbox" selected={selected} theme={theme}>
-              {selected && <CheckIcon />}
-            </CheckboxStyle>
-          </CheckboxWrapper>
-        ) : null}
-        <StyleAndDescription selectable={selectable}>
-          <TitleStyle theme={theme}>{title}</TitleStyle>
-          <TitleDescriptionStyle theme={theme}>
-            {description}{' '}
-          </TitleDescriptionStyle>
-        </StyleAndDescription>
-      </ListItemStyle>
-    );
-  },
-);
- 
-ListItem.displayName = 'ListItem';
- 
-export { ListItem };
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/components/elements/list/list.styles.ts.html b/coverage/components/elements/list/list.styles.ts.html deleted file mode 100644 index 3e9ed9cd..00000000 --- a/coverage/components/elements/list/list.styles.ts.html +++ /dev/null @@ -1,412 +0,0 @@ - - - - - - Code coverage report for components/elements/list/list.styles.ts - - - - - - - - - -
-
-

All files / components/elements/list list.styles.ts

-
- -
- 100% - Statements - 109/109 -
- - -
- 94.11% - Branches - 16/17 -
- - -
- 100% - Functions - 4/4 -
- - -
- 100% - Lines - 109/109 -
- - -
-

- 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 -1101x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -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 from 'styled-components';
- 
-// Style constants
-const BACKGROUND_COLOR = '#f5f5f5';
-const BORDER_COLOR = 'rgba(0, 0, 0, 0.1)';
- 
-// Common styles
-const commonStyles = `
-  align-items: center;
-  background: ${BACKGROUND_COLOR};
-  border-radius: 4px;
-  box-shadow: 0px 1px 1px ${BORDER_COLOR};
-  display: flex;
-  margin: 0;
-  margin-bottom: 0.5rem;
-  padding: 0.25rem 0.5rem;
-  width: 100%;
- 
-  &:last-child {
-    margin-bottom: 0;
-  }
-`;
- 
-// List styles
-export const ListStyle = styled.ul`
-  display: flex;
-  flex-direction: column;
-  justify-content: flex-start;
-  list-style: none;
-  margin: 0;
-  padding: 0;popo
-  width: 100%;
-`;
- 
-// List item styles
-export const ListItemStyle = styled.li<{
-  active?: boolean;
-  selectable?: boolean;
-  theme: Theme;
-}>`
-  ${commonStyles}
-  border: ${(p) =>
-    p.active ? `1px solid ${p.theme.primary}` : '1px solid transparent'};
-  flex-direction: ${(p) => (p.selectable ? 'row' : 'column')};
-  background: ${(p) => p.theme.toolbarBtnBgColor};
-  &:hover {
-    border: 1px solid ${(p) => p.theme.primary};
-    cursor: pointer;
-  }
-  user-select: none;
-`;
- 
-// Title styles
-export const TitleStyle = styled.h1<{ theme: Theme }>`
-  color: ${(p) => p.theme.primary};
-  font-size: 1rem;
-  font-weight: normal;
-  margin: 0.2rem 0;
-  text-align: left;
-  white-space: nowrap;
-`;
- 
-// Title description styles
-export const TitleDescriptionStyle = styled.p<{ theme: Theme }>`
-  font-size: 0.8rem;
-  font-weight: normal;
-  margin: 0;
-  padding: 0.1rem;
-  text-align: left;
-  width: 100%;
-  color: ${(p) => p.theme.cardSubtitleColor};
-`;
- 
-// Checkbox wrapper styles
-export const CheckboxWrapper = styled.span`
-  width: 2rem;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-`;
- 
-// Checkbox styles
-export const CheckboxStyle = styled.span<{ selected?: boolean; theme: Theme }>`
-  align-items: center;
-  background-color: white;
-  ${(p) => !p.selected && `box-shadow: inset 0 0 0 1px ${BORDER_COLOR};`}
-  background: ${(p) => (p.selected ? p.theme.primary : p.theme.toolbarBgColor)};
-  color: #fff;
-  border-radius: 50%;
-  display: flex;
-  height: 1.25rem;
-  justify-content: center;
-  margin-right: 0.25rem;
-  margin-left: 0.1rem;
-  width: 1.25rem;
- 
-  svg {
-    width: 80%;
-    height: 80%;
-  }
-`;
- 
-// Style and description wrapper styles
-export const StyleAndDescription = styled.div<{ selectable?: boolean }>`
-  flex-direction: column;
-  display: flex;
-  width: ${(p) => (p.selectable ? 'calc(100% - 2rem)' : '100%')};
-`;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/components/elements/list/list.tsx.html b/coverage/components/elements/list/list.tsx.html deleted file mode 100644 index 76c352e5..00000000 --- a/coverage/components/elements/list/list.tsx.html +++ /dev/null @@ -1,349 +0,0 @@ - - - - - - Code coverage report for components/elements/list/list.tsx - - - - - - - - - -
-
-

All files / components/elements/list list.tsx

-
- -
- 100% - Statements - 88/88 -
- - -
- 100% - Branches - 12/12 -
- - -
- 100% - Functions - 1/1 -
- - -
- 100% - Lines - 88/88 -
- - -
-

- 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 -891x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -8x -8x -8x -8x -8x -8x -8x -8x -5x -10x -10x -5x -8x -8x -8x -8x -2x -4x -2x -2x -2x -2x -2x -2x -2x -2x -2x -2x -2x -2x -2x -8x -8x -8x -8x -2x -2x -2x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -8x -8x -8x -8x -8x -8x -14x -14x -14x -14x -14x -14x -14x -14x -14x -14x -14x -14x -14x -8x -8x -8x -8x -1x -1x -1x - 
// Import necessary dependencies and utilities
-import { getUniqueID } from '@utils/index';
-import {
-  FunctionComponent,
-  startTransition,
-  useCallback,
-  useState,
-} from 'react';
-import { ListItem } from './list-item';
-import { ListModel } from './list.model';
-import { ListStyle } from './list.styles';
- 
-// Define the List component
-const List: FunctionComponent<ListModel> = ({
-  items,
-  theme,
-  onClick,
-  activeItemIndex,
-  multiSelectable = false,
-}) => {
-  // Initialize state for list items
-  const [listItems, setListItems] = useState(() =>
-    items.map((item) => ({
-      id: getUniqueID(),
-      ...item,
-    })),
-  );
- 
-  // Callback function for handling checkbox selection
-  const onChecked = useCallback((id: string) => {
-    const updatedItems = listItems.map((item) => {
-      if (item.id === id) {
-        return {
-          ...item,
-          selected: true,
-        };
-      } else {
-        return {
-          ...item,
-          selected: false,
-        };
-      }
-    });
- 
-    setListItems(updatedItems);
-  }, []);
- 
-  // Callback function for handling item click
-  const handleClick = useCallback((id: string) => {
-    onChecked(id);
- 
-    if (multiSelectable) {
-      const item = listItems.find((item) => item.id === id);
- 
-      if (item.onSelect) {
-        startTransition(() => {
-          item.onSelect();
-        });
-      }
-    } else {
-      onClick?.(id);
-    }
-  }, []);
- 
-  // Render the List component
-  return (
-    <ListStyle>
-      {listItems?.map(({ title, id, description, selected }, index) => {
-        return (
-          <ListItem
-            title={title}
-            id={id}
-            key={id}
-            description={description}
-            theme={theme}
-            onClick={handleClick}
-            selectable={multiSelectable}
-            selected={selected}
-            active={activeItemIndex === index}
-          />
-        );
-      })}
-    </ListStyle>
-  );
-};
- 
-// Export the List component
-export { List };
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/components/elements/popover/index.html b/coverage/components/elements/popover/index.html deleted file mode 100644 index e04352b3..00000000 --- a/coverage/components/elements/popover/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for components/elements/popover - - - - - - - - - -
-
-

All files components/elements/popover

-
- -
- 97.76% - Statements - 175/179 -
- - -
- 92.3% - Branches - 24/26 -
- - -
- 88.88% - Functions - 8/9 -
- - -
- 97.76% - Lines - 175/179 -
- - -
-

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

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.tsx -
-
95.29%81/85100%9/975%3/495.29%81/85
popover.styles.ts -
-
100%94/9488.23%15/17100%5/5100%94/94
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/components/elements/popover/index.tsx.html b/coverage/components/elements/popover/index.tsx.html deleted file mode 100644 index 6d36176e..00000000 --- a/coverage/components/elements/popover/index.tsx.html +++ /dev/null @@ -1,340 +0,0 @@ - - - - - - Code coverage report for components/elements/popover/index.tsx - - - - - - - - - -
-
-

All files / components/elements/popover index.tsx

-
- -
- 95.29% - Statements - 81/85 -
- - -
- 100% - Branches - 9/9 -
- - -
- 75% - Functions - 3/4 -
- - -
- 95.29% - Lines - 81/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 -31x -31x -31x -31x -31x -31x -31x -31x -31x -31x -31x -31x -31x -31x -31x -31x -  -  -  -  -31x -31x -31x -31x -17x -5x -5x -5x -12x -12x -12x -31x -31x -31x -31x -31x -31x -31x -31x -31x -31x -31x -31x -31x -31x -31x -31x -31x -31x -31x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -18x -31x -31x -31x -1x -1x - 
import React, { FunctionComponent, useEffect, useRef, useState } from 'react';
-import useCloseClickOutside from 'src/components/effects/useCloseClickOutside';
-import { ChevronDown, CloseIcon } from 'src/components/icons';
-import { PopOverModel } from './popover.model';
-import {
-  CloseButton,
-  Content,
-  Header,
-  PopoverHolder,
-  PopoverWrapper,
-  Selecter,
-  SelecterIcon,
-  SelecterLabel,
-} from './popover.styles';
- 
-const PopOver: FunctionComponent<PopOverModel> = ({
-  children,
-  position,
-  placeholder,
-  theme,
-  width = '300px',
-  isDarkMode = false,
-}) => {
-  const [open, setOpen] = useState(false);
-  const [isVisible, setIsVisible] = useState(false);
-  const ref = useRef<HTMLDivElement>(null);
- 
-  const toggleOpen = () => setOpen(!open);
- 
-  const closePopover = () => setOpen(false);
- 
-  const handleKeyPress = (ev: React.KeyboardEvent) => {
-    if (ev.key === 'Enter') {
-      toggleOpen();
-    }
-  };
- 
-  useCloseClickOutside(ref, closePopover);
- 
-  useEffect(() => {
-    if (open) {
-      setTimeout(() => {
-        setIsVisible(true);
-      }, 10);
-    } else {
-      setIsVisible(false);
-    }
-  }, [open]);
- 
-  return (
-    <PopoverWrapper ref={ref}>
-      <Selecter
-        role="button"
-        onClick={toggleOpen}
-        theme={theme}
-        open={open}
-        isDarkMode={isDarkMode}
-        tabIndex={0}
-        onKeyUp={handleKeyPress}
-      >
-        <SelecterIcon theme={theme} open={open}>
-          <ChevronDown />
-        </SelecterIcon>
-        <SelecterLabel>{placeholder}</SelecterLabel>
-      </Selecter>
-      {open ? (
-        <PopoverHolder
-          position={position}
-          style={{ width: `${width}` }}
-          theme={theme}
-          visible={isVisible}
-        >
-          <Header>
-            <CloseButton theme={theme} onClick={closePopover}>
-              <CloseIcon />
-            </CloseButton>
-          </Header>
-          <Content>{children}</Content>
-        </PopoverHolder>
-      ) : null}
-    </PopoverWrapper>
-  );
-};
- 
-export { PopOver };
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/components/elements/popover/popover.styles.ts.html b/coverage/components/elements/popover/popover.styles.ts.html deleted file mode 100644 index 850852cc..00000000 --- a/coverage/components/elements/popover/popover.styles.ts.html +++ /dev/null @@ -1,367 +0,0 @@ - - - - - - Code coverage report for components/elements/popover/popover.styles.ts - - - - - - - - - -
-
-

All files / components/elements/popover popover.styles.ts

-
- -
- 100% - Statements - 94/94 -
- - -
- 88.23% - Branches - 15/17 -
- - -
- 100% - Functions - 5/5 -
- - -
- 100% - Lines - 94/94 -
- - -
-

- 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 -951x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -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 -15x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -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 from 'styled-components';
- 
-export const PopoverWrapper = styled.div``;
- 
-export const PopoverHolder = styled.div<{
-  position?: 'top' | 'bottom';
-  theme?: Theme;
-  visible?: boolean;
-}>`
-  align-items: flex-start;
-  background: ${({ theme }) => theme.toolbarBgColor};
-  background:;
-  border-radius: 6px;
-  box-shadow: 0px 5px 16px rgba(0, 0, 0, 0.5);
-  display: flex;
-  flex-direction: column;
-  justify-content: space-between;
-  max-height: 500px;
-  overflow-y: auto;
-  padding: 0.5rem;
-  position: absolute;
-  ${(p) => (p.position === 'bottom' ? `bottom: 3.5rem` : `top: 3.5rem`)};
-  width: 100%;
-  z-index: 100;
-  opacity: ${({ visible }) => (visible ? 1 : 0)};
-  transition: opacity 0.1s ease-in-out;
-`;
- 
-export const Selecter = styled.div<{
-  isDarkMode: boolean;
-  open?: boolean;
-  theme: Theme;
-}>`
-  align-items: center;
-  background: ${({ theme }) => theme.toolbarBtnBgColor};
-  color: ${({ theme }) => theme.toolbarTextColor};
-  border-radius: 25px;
-  box-shadow: ${({ open, isDarkMode }) =>
-    !open
-      ? `0px 1px 1px rgba(0, 0, 0, ${isDarkMode ? '0.85' : '0.2'})`
-      : 'inset 0 0 1px 1px rgba(0, 0, 0, 0.2)'};
-  cursor: pointer;
-  display: flex;
-  font-weight: normal;
-  justify-content: space-between;
-  padding: 0.4rem 0.75rem 0.4rem 0.5rem;
-  user-select: none;
-`;
- 
-export const SelecterIcon = styled.span<{ open: boolean; theme: Theme }>`
-  align-items: center;
-  color: ${({ theme }) => theme.primary};
-  display: flex;
-  height: 1.25rem;
-  justify-content: center;
-  width: 1.25rem;
-  transform: ${({ open }) => (open ? 'rotate(180deg)' : 'rotate(0deg)')};
-  transition: transform 0.2s ease-in-out;
- 
-  & svg {
-    height: 100%;
-    width: 100%;
-  }
-`;
- 
-export const SelecterLabel = styled.span`
-  font-size: 0.9rem;
-  text-align: left;
-`;
- 
-export const Header = styled.div`
-  height: 30px;
-  width: 100%;
-`;
- 
-export const Content = styled.div`
-  height: calc(100% - 30px);
-  overflow-y: auto;
-  padding: 0.25rem;
-  width: calc(100% - 0rem);
-`;
- 
-export const CloseButton = styled.button<{ theme: Theme }>`
-  align-items: center;
-  background: transparent;
-  border: none;
-  color: ${({ theme }) => theme.primary};
-  cursor: pointer;
-  display: flex;
-  justify-content: center;
-  margin-bottom: 0.5rem;
-  margin-left: auto;
-`;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/components/timeline-elements/memoized/index.html b/coverage/components/timeline-elements/memoized/index.html deleted file mode 100644 index fed02f33..00000000 --- a/coverage/components/timeline-elements/memoized/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - Code coverage report for components/timeline-elements/memoized - - - - - - - - - -
-
-

All files components/timeline-elements/memoized

-
- -
- 68.39% - Statements - 119/174 -
- - -
- 80% - Branches - 12/15 -
- - -
- 100% - Functions - 1/1 -
- - -
- 68.39% - Lines - 119/174 -
- - -
-

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

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.tsx -
-
68.39%119/17480%12/15100%1/168.39%119/174
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/components/timeline-elements/memoized/index.tsx.html b/coverage/components/timeline-elements/memoized/index.tsx.html deleted file mode 100644 index 522cd2b6..00000000 --- a/coverage/components/timeline-elements/memoized/index.tsx.html +++ /dev/null @@ -1,607 +0,0 @@ - - - - - - Code coverage report for components/timeline-elements/memoized/index.tsx - - - - - - - - - -
-
-

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

-
- -
- 68.39% - Statements - 119/174 -
- - -
- 80% - Branches - 12/15 -
- - -
- 100% - Functions - 1/1 -
- - -
- 68.39% - Lines - 119/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 -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -25x -25x -25x -25x -25x -25x -25x -25x -25x -25x -1x -1x -1x -24x -24x -25x -25x -4x -29x -1x -1x -1x -1x -1x -29x -24x -24x -24x -24x -24x -24x -24x -24x -24x -24x -5x -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 -10x -10x -10x -  -  -10x -10x -10x -  -  -  -  -  -  -  -  -  -  -10x -10x -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/components/timeline-elements/timeline-card-content/card-animations.styles.ts.html b/coverage/components/timeline-elements/timeline-card-content/card-animations.styles.ts.html deleted file mode 100644 index 77737860..00000000 --- a/coverage/components/timeline-elements/timeline-card-content/card-animations.styles.ts.html +++ /dev/null @@ -1,220 +0,0 @@ - - - - - - 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/components/timeline-elements/timeline-card-content/content-footer.tsx.html b/coverage/components/timeline-elements/timeline-card-content/content-footer.tsx.html deleted file mode 100644 index 0c9eaa73..00000000 --- a/coverage/components/timeline-elements/timeline-card-content/content-footer.tsx.html +++ /dev/null @@ -1,436 +0,0 @@ - - - - - - Code coverage report for components/timeline-elements/timeline-card-content/content-footer.tsx - - - - - - - - - -
-
-

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

-
- -
- 75.21% - Statements - 88/117 -
- - -
- 75% - Branches - 6/8 -
- - -
- 33.33% - Functions - 1/3 -
- - -
- 75.21% - Lines - 88/117 -
- - -
-

- 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 -1181x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -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 -41x -41x -41x -41x -41x -41x -41x -41x -41x -32x -32x -32x -32x -32x -32x -41x -41x -41x -  -  -  -  -41x -41x -32x -41x -41x -41x -41x -41x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -41x -41x -41x -  -  -  -  -  -  -  -  -41x -41x -41x -37x -37x -37x -37x -37x -41x -41x -41x -41x -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}
-          $resuming={isResuming}
-        ></SlideShowProgressBar>
-      )}
- 
-      {canShowTriangleIcon && (
-        <TriangleIconWrapper
-          dir={triangleDir}
-          theme={theme}
-          offset={-8}
-        ></TriangleIconWrapper>
-      )}
-    </>
-  );
-};
- 
-export { ContentFooter };
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/components/timeline-elements/timeline-card-content/content-header.tsx.html b/coverage/components/timeline-elements/timeline-card-content/content-header.tsx.html deleted file mode 100644 index 5e4d0c94..00000000 --- a/coverage/components/timeline-elements/timeline-card-content/content-header.tsx.html +++ /dev/null @@ -1,244 +0,0 @@ - - - - - - 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 - 7/7 -
- - -
- 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 -25x -25x -25x -25x -25x -25x -25x -19x -19x -19x -19x -19x -19x -19x -25x -25x -25x -19x -19x -19x -19x -19x -19x -25x -25x -25x -25x -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/components/timeline-elements/timeline-card-content/details-text.tsx.html b/coverage/components/timeline-elements/timeline-card-content/details-text.tsx.html deleted file mode 100644 index a56cdf1b..00000000 --- a/coverage/components/timeline-elements/timeline-card-content/details-text.tsx.html +++ /dev/null @@ -1,283 +0,0 @@ - - - - - - Code coverage report for components/timeline-elements/timeline-card-content/details-text.tsx - - - - - - - - - -
-
-

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

-
- -
- 100% - Statements - 66/66 -
- - -
- 50% - Branches - 1/2 -
- - -
- 100% - Functions - 0/0 -
- - -
- 100% - Lines - 66/66 -
- - -
-

- 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 -671x -1x -1x -1x -1x -1x -1x -1x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -1x -1x -1x -1x -1x - 
import { forwardRef, useContext } from 'react';
-import { GlobalContext } from '../../GlobalContext';
-import { DetailsTextProps } from './details-text.model';
-import { getTextOrContent } from './text-or-content';
-import { TimelineContentDetailsWrapper } from './timeline-card-content.styles';
- 
-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 || (
-            <TextContent
-              {...{ detailedText, showMore, theme, timelineContent }}
-            />
-          )}
-        </TimelineContentDetailsWrapper>
-      </>
-    );
-  },
-);
- 
-DetailsText.displayName = 'Details Text';
- 
-export { DetailsText };
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/components/timeline-elements/timeline-card-content/index.html b/coverage/components/timeline-elements/timeline-card-content/index.html deleted file mode 100644 index 515df64a..00000000 --- a/coverage/components/timeline-elements/timeline-card-content/index.html +++ /dev/null @@ -1,206 +0,0 @@ - - - - - - Code coverage report for components/timeline-elements/timeline-card-content - - - - - - - - - -
-
-

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

-
- -
- 81.91% - Statements - 1051/1283 -
- - -
- 66.25% - Branches - 106/160 -
- - -
- 83.33% - Functions - 30/36 -
- - -
- 81.91% - Lines - 1051/1283 -
- - -
-

- 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 -
-
75.21%88/11775%6/833.33%1/375.21%88/117
content-header.tsx -
-
100%53/53100%7/7100%0/0100%53/53
details-text.tsx -
-
100%66/6650%1/2100%0/0100%66/66
text-or-content.tsx -
-
90.98%111/12245%9/20100%3/390.98%111/122
timeline-card-content.styles.ts -
-
78.94%330/41867.74%42/6289.65%26/2978.94%330/418
timeline-card-content.tsx -
-
77.48%358/46267.21%41/610%0/177.48%358/462
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/components/timeline-elements/timeline-card-content/text-or-content.tsx.html b/coverage/components/timeline-elements/timeline-card-content/text-or-content.tsx.html deleted file mode 100644 index af9aaf9f..00000000 --- a/coverage/components/timeline-elements/timeline-card-content/text-or-content.tsx.html +++ /dev/null @@ -1,451 +0,0 @@ - - - - - - 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

-
- -
- 90.98% - Statements - 111/122 -
- - -
- 45% - Branches - 9/20 -
- - -
- 100% - Functions - 3/3 -
- - -
- 90.98% - Lines - 111/122 -
- - -
-

- 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 -1231x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -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 -1x -1x -1x -1x -1x -1x -1x -73x -73x -73x -73x -73x -73x -73x -41x -41x -41x -41x -41x -41x -  -41x -41x -41x -1x -1x -1x -1x -1x -1x -1x -41x -40x -40x -41x -41x -41x -  -  -  -  -  -41x -41x -41x -35x -35x -35x -35x -35x -35x -35x -35x -6x -41x -41x -41x -41x -41x -73x -73x -73x -73x -73x -73x -1x -1x - 
import { TimelineContentModel } from '@models/TimelineContentModel';
-import { TimelineProps } from '@models/TimelineModel';
-import {
-  ForwardRefExoticComponent,
-  ReactNode,
-  forwardRef,
-  useContext,
-} from 'react';
-import xss from 'xss';
-import { GlobalContext } from '../../GlobalContext';
-import {
-  TimelineContentDetails,
-  TimelineSubContent,
-} from './timeline-card-content.styles';
- 
-// Define the type for the TextOrContentModel
-export type TextOrContentModel = Pick<
-  TimelineContentModel,
-  'timelineContent' | 'theme' | 'detailedText'
-> & {
-  showMore?: boolean;
-};
- 
-// Function to render an array of text
-const renderTextArray: (
-  p: Pick<TimelineProps, 'parseDetailsAsHTML' | 'fontSizes' | 'theme'> & {
-    cardTextClassName: string;
-    detailedText: string[];
-  },
-) => ReactNode = ({
-  fontSizes,
-  parseDetailsAsHTML,
-  theme,
-  detailedText,
-  cardTextClassName,
-}) => {
-  return detailedText.map((text, index) => {
-    const props = parseDetailsAsHTML
-      ? {
-          dangerouslySetInnerHTML: {
-            __html: xss(text),
-          },
-        }
-      : null;
-    return (
-      <TimelineSubContent
-        key={index}
-        fontSize={fontSizes?.cardText}
-        className={cardTextClassName}
-        theme={theme}
-        {...props}
-      >
-        {parseDetailsAsHTML ? null : text}
-      </TimelineSubContent>
-    );
-  });
-};
- 
-// Function to get the TextOrContent component
-const getTextOrContent: (
-  p: TextOrContentModel,
-) => ForwardRefExoticComponent<TextOrContentModel> = ({
-  timelineContent,
-  theme,
-  detailedText,
-  showMore,
-}) => {
-  const TextOrContent = forwardRef<HTMLParagraphElement, TextOrContentModel>(
-    (prop, ref) => {
-      const isTextArray = Array.isArray(detailedText);
-      const { fontSizes, classNames, parseDetailsAsHTML } =
-        useContext(GlobalContext);
- 
-      const renderTimelineContent = () => {
-        if (timelineContent) {
-          return <div ref={ref}>{timelineContent}</div>;
-        } else {
-          let textContent = null;
-          if (isTextArray) {
-            textContent = renderTextArray({
-              cardTextClassName: classNames?.cardText,
-              detailedText,
-              fontSizes,
-              parseDetailsAsHTML,
-              theme,
-            });
-          } else {
-            textContent = parseDetailsAsHTML ? xss(detailedText) : detailedText;
-          }
- 
-          const textContentProps =
-            parseDetailsAsHTML && !isTextArray
-              ? {
-                  dangerouslySetInnerHTML: {
-                    __html: xss(textContent),
-                  },
-                }
-              : {};
- 
-          return textContent ? (
-            <TimelineContentDetails
-              className={showMore ? 'active' : ''}
-              ref={ref}
-              theme={theme}
-              {...textContentProps}
-            >
-              {parseDetailsAsHTML && !isTextArray ? null : textContent}
-            </TimelineContentDetails>
-          ) : null;
-        }
-      };
- 
-      return renderTimelineContent();
-    },
-  );
- 
-  TextOrContent.displayName = 'Text Or Content';
- 
-  return TextOrContent;
-};
- 
-export { getTextOrContent };
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/components/timeline-elements/timeline-card-content/timeline-card-content.styles.ts.html b/coverage/components/timeline-elements/timeline-card-content/timeline-card-content.styles.ts.html deleted file mode 100644 index 8fdd4e76..00000000 --- a/coverage/components/timeline-elements/timeline-card-content/timeline-card-content.styles.ts.html +++ /dev/null @@ -1,1339 +0,0 @@ - - - - - - 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

-
- -
- 78.94% - Statements - 330/418 -
- - -
- 67.74% - Branches - 42/62 -
- - -
- 89.65% - Functions - 26/29 -
- - -
- 78.94% - Lines - 330/418 -
- - -
-

- 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 -4191x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -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 -1x -1x -1x -1x -1x -1x -1x -1x -41x -  -1x -1x -1x -1x -1x -1x -1x -41x -  -  -  -  -  -  -  -  -  -  -  -  -  -41x -41x -41x -41x -1x -1x -1x -41x -  -  -41x -41x -1x -1x -1x -1x -1x -1x -1x -1x -1x -41x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -41x -1x -1x -41x -  -  -  -  -  -  -41x -41x -  -  -  -  -41x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -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 -37x -1x -1x -41x -41x -41x -41x -41x -41x -41x -  -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -41x -41x -41x -41x -41x -41x -41x -  -  -  -  -  -  -  -  -  -41x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -  -  -  -  -  -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -  -  -  -  -  -  -  -1x -1x -  -  -  -  -  -  -  -  -  -  -  -  -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -  -  -  -  -1x -1x -1x -1x -1x -1x -1x -1x -1x -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;
-    $customContent?: boolean;
-    $highlight?: boolean;
-    $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: 8px;
-  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;
-  ${(p) =>
-    p.$customContent
-      ? `height: ${p.$minHeight}px;`
-      : `min-height: ${p.$minHeight}px;`}
-  position: relative;
-  text-align: left;
-  width: 98%;
-  z-index: 0;
- 
-  ${(p) =>
-    p.$highlight
-      ? css`
-          &:hover {
-            filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.3)) brightness(1.05);
-
-            &::before {
-              content: '';
-              height: 100%;
-              left: 0;
-              position: absolute;
-              top: 0;
-              width: 100%;
-              z-index: -1;
-              border: 2px solid ${p.theme.primary};
-              border-radius: 4px;
-            }
-          }
-        `
-      : css``}
- 
-  ${(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;`
-      : 'height: 100%'}
-  ${({
-    $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;
- 
-  ${(p) => (p.$customContent ? `height: 100%;` : '')}
- 
-  $${({
-    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.progress<{
-  $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;
-  border: 0;
- 
-  ${(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/components/timeline-elements/timeline-card-content/timeline-card-content.tsx.html b/coverage/components/timeline-elements/timeline-card-content/timeline-card-content.tsx.html deleted file mode 100644 index 0a669cc8..00000000 --- a/coverage/components/timeline-elements/timeline-card-content/timeline-card-content.tsx.html +++ /dev/null @@ -1,1471 +0,0 @@ - - - - - - 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

-
- -
- 77.48% - Statements - 358/462 -
- - -
- 67.21% - Branches - 41/61 -
- - -
- 0% - Functions - 0/1 -
- - -
- 77.48% - Lines - 358/462 -
- - -
-

- 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 -4631x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -32x -71x -71x -71x -71x -71x -71x -32x -71x -71x -71x -32x -32x -32x -32x -32x -71x -71x -71x -32x -6x -6x -71x -71x -71x -71x -82x -41x -41x -41x -82x -  -  -41x -41x -41x -41x -41x -41x -82x -71x -71x -71x -71x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -71x -71x -71x -32x -  -  -71x -71x -71x -71x -  -  -  -  -  -  -  -  -  -  -  -  -  -71x -71x -71x -71x -  -  -  -  -  -  -  -  -  -  -  -  -  -71x -71x -71x -32x -  -  -32x -32x -  -  -  -32x -32x -32x -  -  -32x -32x -32x -32x -71x -71x -71x -41x -  -  -71x -71x -71x -32x -  -  -71x -71x -71x -32x -71x -71x -71x -71x -71x -71x -32x -71x -71x -71x -71x -71x -71x -71x -71x -  -  -  -  -  -  -  -  -  -  -  -71x -71x -71x -71x -71x -32x -32x -32x -32x -71x -71x -71x -71x -71x -32x -32x -28x -4x -32x -32x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -32x -  -32x -32x -32x -  -  -71x -71x -71x -  -  -  -  -71x -71x -71x -32x -  -  -  -  -  -  -32x -71x -71x -71x -71x -71x -71x -71x -71x -32x -32x -  -32x -  -32x -71x -71x -71x -71x -32x -71x -71x -71x -32x -32x -32x -32x -32x -32x -71x -71x -71x -32x -32x -32x -  -  -  -  -  -  -  -  -  -  -32x -32x -32x -32x -32x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -64x -64x -64x -64x -64x -64x -64x -7x -71x -71x -71x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -  -  -  -  -  -  -  -  -  -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -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 { DetailsText } from './details-text';
-import { getTextOrContent } from './text-or-content';
-import { TimelineItemContentWrapper } from './timeline-card-content.styles';
- 
-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<HTMLProgressElement | 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,
-        disableInteraction,
-        highlightCardsOnHover,
-      } = 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 && !disableInteraction) {
-          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}
-          $highlight={highlightCardsOnHover}
-          data-testid="timeline-card-content"
-          $customContent={!!customContent}
-        >
-          {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/components/timeline-elements/timeline-card-media/index.html b/coverage/components/timeline-elements/timeline-card-media/index.html deleted file mode 100644 index 88b3db89..00000000 --- a/coverage/components/timeline-elements/timeline-card-media/index.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - Code coverage report for components/timeline-elements/timeline-card-media - - - - - - - - - -
-
-

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

-
- -
- 82.04% - Statements - 571/696 -
- - -
- 53.84% - Branches - 42/78 -
- - -
- 66.66% - Functions - 14/21 -
- - -
- 82.04% - Lines - 571/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%0/0100%0/0100%48/48
timeline-card-media.styles.ts -
-
79.41%189/23847.22%17/3676.47%13/1779.41%189/238
timeline-card-media.tsx -
-
81.46%334/41059.52%25/4225%1/481.46%334/410
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/components/timeline-elements/timeline-card-media/timeline-card-media-buttons.tsx.html b/coverage/components/timeline-elements/timeline-card-media/timeline-card-media-buttons.tsx.html deleted file mode 100644 index fc322a6f..00000000 --- a/coverage/components/timeline-elements/timeline-card-media/timeline-card-media-buttons.tsx.html +++ /dev/null @@ -1,229 +0,0 @@ - - - - - - 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 - 0/0 -
- - -
- 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/components/timeline-elements/timeline-card-media/timeline-card-media.styles.ts.html b/coverage/components/timeline-elements/timeline-card-media/timeline-card-media.styles.ts.html deleted file mode 100644 index bb0f9687..00000000 --- a/coverage/components/timeline-elements/timeline-card-media/timeline-card-media.styles.ts.html +++ /dev/null @@ -1,799 +0,0 @@ - - - - - - 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

-
- -
- 79.41% - Statements - 189/238 -
- - -
- 47.22% - Branches - 17/36 -
- - -
- 76.47% - Functions - 13/17 -
- - -
- 79.41% - Lines - 189/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 -10x -  -  -  -10x -10x -  -  -  -10x -10x -10x -10x -10x -10x -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 -10x -10x -10x -10x -10x -10x -10x -1x -1x -1x -1x -1x -10x -  -  -  -  -  -  -10x -10x -  -  -  -  -  -  -10x -10x -  -  -  -  -  -  -10x -1x -1x -10x -  -  -  -  -  -  -  -  -  -  -10x -10x -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 - 
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/components/timeline-elements/timeline-card-media/timeline-card-media.tsx.html b/coverage/components/timeline-elements/timeline-card-media/timeline-card-media.tsx.html deleted file mode 100644 index b8986de4..00000000 --- a/coverage/components/timeline-elements/timeline-card-media/timeline-card-media.tsx.html +++ /dev/null @@ -1,1315 +0,0 @@ - - - - - - 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

-
- -
- 81.46% - Statements - 334/410 -
- - -
- 59.52% - Branches - 25/42 -
- - -
- 25% - Functions - 1/4 -
- - -
- 81.46% - Lines - 334/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 -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -  -  -10x -10x -6x -6x -10x -4x -4x -4x -10x -10x -10x -10x -  -10x -10x -10x -10x -  -  -  -  -  -  -  -  -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -  -  -  -  -  -10x -10x -  -  -  -  -  -10x -10x -  -  -  -  -  -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -  -  -  -10x -10x -10x -10x -10x -  -  -  -  -  -10x -10x -10x -10x -10x -10x -10x -10x -  -  -  -  -  -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -  -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -  -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -1x -  -  -  -  -10x -10x -10x -9x -9x -  -  -10x -10x -10x -  -  -  -  -  -  -  -  -10x -10x -10x -  -  -  -  -  -  -  -10x -10x -10x -10x -10x -10x -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}
-        data-testid="timeline-card-content-video"
-      />
-    );
- 
-    // 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}
-        fit={mediaSettings?.imageFit}
-        data-testid="timeline-card-content-image"
-      />
-    );
-  }, [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}
-            $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/components/timeline-elements/timeline-card/index.html b/coverage/components/timeline-elements/timeline-card/index.html deleted file mode 100644 index b3b74d81..00000000 --- a/coverage/components/timeline-elements/timeline-card/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for components/timeline-elements/timeline-card - - - - - - - - - -
-
-

All files components/timeline-elements/timeline-card

-
- -
- 96.82% - Statements - 335/346 -
- - -
- 75% - Branches - 33/44 -
- - -
- 91.66% - Functions - 11/12 -
- - -
- 96.82% - Lines - 335/346 -
- - -
-

- 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.42%189/19686.36%19/2266.66%2/396.42%189/196
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/components/timeline-elements/timeline-card/timeline-horizontal-card.styles.ts.html b/coverage/components/timeline-elements/timeline-card/timeline-horizontal-card.styles.ts.html deleted file mode 100644 index 7bfc23ad..00000000 --- a/coverage/components/timeline-elements/timeline-card/timeline-horizontal-card.styles.ts.html +++ /dev/null @@ -1,535 +0,0 @@ - - - - - - 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 -58x -58x -58x -  -  -  -  -58x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -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/components/timeline-elements/timeline-card/timeline-horizontal-card.tsx.html b/coverage/components/timeline-elements/timeline-card/timeline-horizontal-card.tsx.html deleted file mode 100644 index a41313ad..00000000 --- a/coverage/components/timeline-elements/timeline-card/timeline-horizontal-card.tsx.html +++ /dev/null @@ -1,673 +0,0 @@ - - - - - - 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.42% - Statements - 189/196 -
- - -
- 86.36% - Branches - 19/22 -
- - -
- 66.66% - Functions - 2/3 -
- - -
- 96.42% - Lines - 189/196 -
- - -
-

- 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 -1971x -1x -1x -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 -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -  -  -  -  -9x -9x -9x -6x -6x -6x -6x -6x -6x -6x -6x -  -  -  -6x -6x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -6x -6x -6x -6x -6x -6x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -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,
-    disableInteraction,
-  } = 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 && !disableInteraction}
-        $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 && !disableInteraction}
-          theme={theme}
-          classString={classNames?.title}
-        />
-      </TimelineTitleContainer>
-    </Wrapper>
-  );
-};
- 
-export default TimelineCard;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/components/timeline-elements/timeline-control/index.html b/coverage/components/timeline-elements/timeline-control/index.html deleted file mode 100644 index 681b9f6e..00000000 --- a/coverage/components/timeline-elements/timeline-control/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for components/timeline-elements/timeline-control - - - - - - - - - -
-
-

All files components/timeline-elements/timeline-control

-
- -
- 98.1% - Statements - 310/316 -
- - -
- 53.19% - Branches - 25/47 -
- - -
- 100% - Functions - 3/3 -
- - -
- 98.1% - Lines - 310/316 -
- - -
-

- 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%89/89100%10/10100%2/2100%89/89
timeline-control.tsx -
-
97.35%221/22740.54%15/37100%1/197.35%221/227
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/components/timeline-elements/timeline-control/timeline-control.styles.ts.html b/coverage/components/timeline-elements/timeline-control/timeline-control.styles.ts.html deleted file mode 100644 index e51dc6da..00000000 --- a/coverage/components/timeline-elements/timeline-control/timeline-control.styles.ts.html +++ /dev/null @@ -1,352 +0,0 @@ - - - - - - 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 - 89/89 -
- - -
- 100% - Branches - 10/10 -
- - -
- 100% - Functions - 2/2 -
- - -
- 100% - Lines - 89/89 -
- - -
-

- 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 -901x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -60x -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 -60x -40x -40x -60x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -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 }>`
-  border-radius: 25px;
-  display: flex;
-  list-style: none;
-  padding: 0.25em 0.25em;
-  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
-  background: ${(p) => p.theme.toolbarBtnBgColor};
-`;
- 
-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.5) grayscale(95%);'
-      : ''};
-`;
- 
-export const TimelineNavButton = styled.button<{
-  mode?: TimelineMode;
-  rotate?: 'TRUE' | 'FALSE';
-  theme?: Theme;
-}>`
-  align-items: center;
-  background: ${(p) => p.theme.primary};
-  filter: brightness(1.25);
-  border-radius: 50%;
-  border: 0;
-  color: #fff;
-  cursor: pointer;
-  display: flex;
-  height: 24px;
-  justify-content: center;
-  margin: 0 0.2em;
-  padding: 0;
-  transition: all 0.1s ease-in;
-  width: 24px;
- 
-  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: 65%;
-    height: 65%;
-  }
-`;
- 
-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: 3em;
-  justify-content: center;
-  margin-left: 0.5em;
-  width: 3em;
-  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/components/timeline-elements/timeline-control/timeline-control.tsx.html b/coverage/components/timeline-elements/timeline-control/timeline-control.tsx.html deleted file mode 100644 index 0fa22d74..00000000 --- a/coverage/components/timeline-elements/timeline-control/timeline-control.tsx.html +++ /dev/null @@ -1,766 +0,0 @@ - - - - - - Code coverage report for components/timeline-elements/timeline-control/timeline-control.tsx - - - - - - - - - -
-
-

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

-
- -
- 97.35% - Statements - 221/227 -
- - -
- 40.54% - Branches - 15/37 -
- - -
- 100% - Functions - 1/1 -
- - -
- 97.35% - Lines - 221/227 -
- - -
-

- 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 -2281x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -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 -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -  -  -  -  -  -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -  -10x -10x -10x -10x -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,
-    disableInteraction,
-  } = 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)}
-        theme={theme}
-      >
-        {/* jump to first */}
-        {disableInteraction ? null : (
-          <>
-            <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/components/timeline-elements/timeline-item-title/index.html b/coverage/components/timeline-elements/timeline-item-title/index.html deleted file mode 100644 index 228577bc..00000000 --- a/coverage/components/timeline-elements/timeline-item-title/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for components/timeline-elements/timeline-item-title - - - - - - - - - -
-
-

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

-
- -
- 100% - Statements - 73/73 -
- - -
- 82.35% - Branches - 14/17 -
- - -
- 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/2476.92%10/13100%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/components/timeline-elements/timeline-item-title/timeline-card-title.styles.ts.html b/coverage/components/timeline-elements/timeline-item-title/timeline-card-title.styles.ts.html deleted file mode 100644 index c764dc0f..00000000 --- a/coverage/components/timeline-elements/timeline-item-title/timeline-card-title.styles.ts.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - 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 -
- - -
- 76.92% - Branches - 10/13 -
- - -
- 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/components/timeline-elements/timeline-item-title/timeline-card-title.tsx.html b/coverage/components/timeline-elements/timeline-item-title/timeline-card-title.tsx.html deleted file mode 100644 index 41a66ebd..00000000 --- a/coverage/components/timeline-elements/timeline-item-title/timeline-card-title.tsx.html +++ /dev/null @@ -1,232 +0,0 @@ - - - - - - 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 -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -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/components/timeline-horizontal/index.html b/coverage/components/timeline-horizontal/index.html deleted file mode 100644 index 4f1b8751..00000000 --- a/coverage/components/timeline-horizontal/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for components/timeline-horizontal - - - - - - - - - -
-
-

All files components/timeline-horizontal

-
- -
- 100% - Statements - 138/138 -
- - -
- 55.55% - Branches - 5/9 -
- - -
- 100% - Functions - 1/1 -
- - -
- 100% - Lines - 138/138 -
- - -
-

- 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/3566.66%2/3100%0/0100%35/35
timeline-horizontal.tsx -
-
100%103/10350%3/6100%1/1100%103/103
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/components/timeline-horizontal/timeline-horizontal.styles.ts.html b/coverage/components/timeline-horizontal/timeline-horizontal.styles.ts.html deleted file mode 100644 index ba9bddc8..00000000 --- a/coverage/components/timeline-horizontal/timeline-horizontal.styles.ts.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - - - Code coverage report for components/timeline-horizontal/timeline-horizontal.styles.ts - - - - - - - - - -
-
-

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

-
- -
- 100% - Statements - 35/35 -
- - -
- 66.66% - Branches - 2/3 -
- - -
- 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/components/timeline-horizontal/timeline-horizontal.tsx.html b/coverage/components/timeline-horizontal/timeline-horizontal.tsx.html deleted file mode 100644 index b293f007..00000000 --- a/coverage/components/timeline-horizontal/timeline-horizontal.tsx.html +++ /dev/null @@ -1,394 +0,0 @@ - - - - - - Code coverage report for components/timeline-horizontal/timeline-horizontal.tsx - - - - - - - - - -
-
-

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

-
- -
- 100% - Statements - 103/103 -
- - -
- 50% - Branches - 3/6 -
- - -
- 100% - Functions - 1/1 -
- - -
- 100% - Lines - 103/103 -
- - -
-

- 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 -1041x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -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 -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);
- 
-  console.log('showing', showAllCardsHorizontal);
- 
-  // 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/components/timeline-vertical/index.html b/coverage/components/timeline-vertical/index.html deleted file mode 100644 index df15f276..00000000 --- a/coverage/components/timeline-vertical/index.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - Code coverage report for components/timeline-vertical - - - - - - - - - -
-
-

All files components/timeline-vertical

-
- -
- 92.97% - Statements - 635/683 -
- - -
- 59.09% - Branches - 39/66 -
- - -
- 90.9% - Functions - 10/11 -
- - -
- 92.97% - Lines - 635/683 -
- - -
-

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

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
timeline-point.tsx -
-
92.64%126/13663.63%7/110%0/192.64%126/136
timeline-vertical-item.tsx -
-
96.17%226/23543.75%7/16100%1/196.17%226/235
timeline-vertical-shape.styles.ts -
-
100%53/5362.5%5/8100%3/3100%53/53
timeline-vertical.styles.ts -
-
85.41%123/14457.14%12/21100%5/585.41%123/144
timeline-vertical.tsx -
-
93.04%107/11580%8/10100%1/193.04%107/115
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/components/timeline-vertical/timeline-point.tsx.html b/coverage/components/timeline-vertical/timeline-point.tsx.html deleted file mode 100644 index b03fb090..00000000 --- a/coverage/components/timeline-vertical/timeline-point.tsx.html +++ /dev/null @@ -1,493 +0,0 @@ - - - - - - Code coverage report for components/timeline-vertical/timeline-point.tsx - - - - - - - - - -
-
-

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

-
- -
- 92.64% - Statements - 126/136 -
- - -
- 63.63% - Branches - 7/11 -
- - -
- 0% - Functions - 0/1 -
- - -
- 92.64% - Lines - 126/136 -
- - -
-

- 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 -1371x -1x -1x -1x -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 -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 -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<HTMLButtonElement>(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"
-        $cardLess={cardLess}
-      >
-        {/* {!disableTimelinePoint ? ( */}
-        <TimelinePointContainer
-          className={`${className} timeline-vertical-circle`}
-          {...clickHandlerProps}
-          ref={circleRef}
-          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/components/timeline-vertical/timeline-vertical-item.tsx.html b/coverage/components/timeline-vertical/timeline-vertical-item.tsx.html deleted file mode 100644 index a0eea3ba..00000000 --- a/coverage/components/timeline-vertical/timeline-vertical-item.tsx.html +++ /dev/null @@ -1,790 +0,0 @@ - - - - - - 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 -
- - -
- 43.75% - Branches - 7/16 -
- - -
- 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 -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -  -  -  -  -  -29x -29x -29x -29x -29x -  -  -  -29x -29x -29x -29x -20x -20x -20x -20x -20x -20x -20x -20x -20x -20x -20x -20x -20x -20x -20x -20x -20x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -20x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -  -29x -29x -29x -29x -29x -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<HTMLLIElement>(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,
-    disableInteraction,
-  } = 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={!alternateCards && flipLayout}
-      >
-        <TimelineItemTitle
-          title={title}
-          active={active && !disableInteraction}
-          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}
-      $isNested={isNested}
-      theme={theme}
-    >
-      {/* title */}
-      {!isNested ? Title : null}
- 
-      {/* card section */}
-      <TimelineCardContentWrapper
-        className={contentClass}
-        $alternateCards={alternateCards}
-        $noTitle={!title}
-        $flip={!alternateCards && 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={!alternateCards && 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/components/timeline-vertical/timeline-vertical-shape.styles.ts.html b/coverage/components/timeline-vertical/timeline-vertical-shape.styles.ts.html deleted file mode 100644 index 610c41ea..00000000 --- a/coverage/components/timeline-vertical/timeline-vertical-shape.styles.ts.html +++ /dev/null @@ -1,244 +0,0 @@ - - - - - - Code coverage report for components/timeline-vertical/timeline-vertical-shape.styles.ts - - - - - - - - - -
-
-

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

-
- -
- 100% - Statements - 53/53 -
- - -
- 62.5% - Branches - 5/8 -
- - -
- 100% - Functions - 3/3 -
- - -
- 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 -1x -1x -1x -1x -1x -1x -1x -1x -1x -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: 5%;
- 
-  &.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.button<{ $hide?: boolean }>`
-  position: relative;
-  z-index: 1;
-  visibility: ${(p) => (p.$hide ? 'hidden' : 'visible')};
-  background: none;
-  border: 0;
-`;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/components/timeline-vertical/timeline-vertical.styles.ts.html b/coverage/components/timeline-vertical/timeline-vertical.styles.ts.html deleted file mode 100644 index 5a17d571..00000000 --- a/coverage/components/timeline-vertical/timeline-vertical.styles.ts.html +++ /dev/null @@ -1,517 +0,0 @@ - - - - - - Code coverage report for components/timeline-vertical/timeline-vertical.styles.ts - - - - - - - - - -
-
-

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

-
- -
- 85.41% - Statements - 123/144 -
- - -
- 57.14% - Branches - 12/21 -
- - -
- 100% - Functions - 5/5 -
- - -
- 85.41% - Lines - 123/144 -
- - -
-

- 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 -1451x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -29x -  -  -  -  -  -  -  -  -  -29x -29x -29x -29x -29x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -29x -21x -29x -  -8x -8x -8x -29x -1x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -  -  -  -  -  -  -  -  -  -  -29x -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 -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.li<{
-  $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;
-  list-style: none;
- 
-  &.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: 85%;`;
-    }
-  }}
-  ${(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: 10%')};
- 
-  &.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/components/timeline-vertical/timeline-vertical.tsx.html b/coverage/components/timeline-vertical/timeline-vertical.tsx.html deleted file mode 100644 index 7e2fefe6..00000000 --- a/coverage/components/timeline-vertical/timeline-vertical.tsx.html +++ /dev/null @@ -1,430 +0,0 @@ - - - - - - Code coverage report for components/timeline-vertical/timeline-vertical.tsx - - - - - - - - - -
-
-

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

-
- -
- 93.04% - Statements - 107/115 -
- - -
- 80% - Branches - 8/10 -
- - -
- 100% - Functions - 1/1 -
- - -
- 93.04% - Lines - 107/115 -
- - -
-

- 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 -1161x -1x -1x -1x -1x -1x -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 -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -  -  -  -  -  -  -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -27x -27x -27x -27x -21x -27x -6x -6x -27x -27x -27x -  -27x -27x -27x -  -27x -9x -18x -27x -27x -27x -27x -27x -27x -27x -27x -27x -27x -27x -27x -27x -27x -27x -27x -27x -27x -27x -27x -9x -9x -9x -9x -1x -1x -1x -1x - 
import { TimelineVerticalModel } from '@models/TimelineVerticalModel';
-import React, { useCallback } from 'react';
-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(() => {}, []);
- 
-  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/components/timeline/index.html b/coverage/components/timeline/index.html deleted file mode 100644 index af4d2b1e..00000000 --- a/coverage/components/timeline/index.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - Code coverage report for components/timeline - - - - - - - - - -
-
-

All files components/timeline

-
- -
- 82.24% - Statements - 741/901 -
- - -
- 71.95% - Branches - 59/82 -
- - -
- 40.74% - Functions - 11/27 -
- - -
- 82.24% - Lines - 741/901 -
- - -
-

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

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
timeline-popover-elements.tsx -
-
97.03%131/135100%10/1042.85%3/797.03%131/135
timeline-toolbar.tsx -
-
86.84%99/11460%6/1025%1/486.84%99/114
timeline.style.ts -
-
95.06%154/16257.14%12/21100%5/595.06%154/162
timeline.tsx -
-
72.85%357/49075.6%31/4118.18%2/1172.85%357/490
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/components/timeline/timeline-popover-elements.tsx.html b/coverage/components/timeline/timeline-popover-elements.tsx.html deleted file mode 100644 index 77516fa6..00000000 --- a/coverage/components/timeline/timeline-popover-elements.tsx.html +++ /dev/null @@ -1,490 +0,0 @@ - - - - - - Code coverage report for components/timeline/timeline-popover-elements.tsx - - - - - - - - - -
-
-

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

-
- -
- 97.03% - Statements - 131/135 -
- - -
- 100% - Branches - 10/10 -
- - -
- 42.85% - Functions - 3/7 -
- - -
- 97.03% - Lines - 131/135 -
- - -
-

- 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 -1361x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -15x -15x -15x -15x -15x -15x -15x -15x -15x -15x -15x -15x -15x -15x -15x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -15x -15x -15x -15x -15x -15x -10x -10x -10x -  -  -10x -10x -10x -10x -10x -10x -  -  -10x -10x -10x -10x -15x -15x -15x -15x -15x -15x -15x -15x -15x -15x -15x -15x -15x -2x -11x -15x -15x -15x -15x -15x -15x -15x -1x -1x -2x -2x -2x -2x -2x -2x -2x -2x -2x -2x -2x -2x -2x -2x -2x -2x -2x -2x -4x -4x -4x -4x -4x -4x -2x -2x -2x -2x -2x -2x -2x -1x -1x - 
import { Theme } from '@models/Theme';
-import { TimelineMode } from '@models/TimelineModel';
-import { FunctionComponent, useContext, useMemo } from 'react';
-import { GlobalContext } from '../GlobalContext';
-import { List } from '../elements/list/list';
-import { ListItemModel } from '../elements/list/list.model';
-import { PopOver } from '../elements/popover';
- 
-type LayoutSwitcherProp = {
-  initialTimelineMode?: TimelineMode | 'HORIZONTAL_ALL';
-  isDarkMode: boolean;
-  mode?: TimelineMode;
-  onUpdateTimelineMode: (s: string) => void;
-  position: 'top' | 'bottom';
-  theme: Theme;
-};
- 
-type QuickJumpProp = {
-  activeItem: number;
-  isDarkMode: boolean;
-  items: ListItemModel[];
-  onActivateItem: (id: string) => void;
-  position: 'top' | 'bottom';
-  theme: Theme;
-};
- 
-const LayoutSwitcher: FunctionComponent<LayoutSwitcherProp> = ({
-  onUpdateTimelineMode,
-  theme,
-  mode,
-  isDarkMode,
-  position,
-}: LayoutSwitcherProp) => {
-  const { showAllCardsHorizontal, buttonTexts } = useContext(GlobalContext);
- 
-  const activeTimelineMode = useMemo(
-    () => mode,
-    [showAllCardsHorizontal, mode],
-  );
- 
-  const verticalItems = useMemo(
-    () => [
-      {
-        id: 'VERTICAL',
-        onSelect: () => onUpdateTimelineMode('VERTICAL'),
-        selected: activeTimelineMode === 'VERTICAL',
-        title: 'Default',
-      },
-      {
-        id: 'VERTICAL_ALTERNATING',
-        onSelect: () => onUpdateTimelineMode('VERTICAL_ALTERNATING'),
-        selected: activeTimelineMode === 'VERTICAL_ALTERNATING',
-        title: 'Alternating',
-      },
-    ],
-    [activeTimelineMode],
-  );
- 
-  // horizontal list OF options when the mode is `HORIZONTAL`
-  const horizontalItems = useMemo(
-    () => [
-      {
-        id: 'HORIZONTAL',
-        onSelect: () => {
-          onUpdateTimelineMode('HORIZONTAL');
-        },
-        selected: activeTimelineMode === 'HORIZONTAL',
-        title: 'Default',
-      },
-      {
-        id: 'HORIZONTAL_ALL',
-        onSelect: () => {
-          onUpdateTimelineMode('HORIZONTAL_ALL');
-        },
-        selected: activeTimelineMode === 'HORIZONTAL_ALL',
-        title: 'Show all cards',
-      },
-    ],
-    [activeTimelineMode],
-  );
- 
-  return (
-    <PopOver
-      placeholder={buttonTexts.changeLayout}
-      position={position}
-      theme={theme}
-      isDarkMode={isDarkMode}
-    >
-      <List
-        items={
-          mode === 'HORIZONTAL' || mode === 'HORIZONTAL_ALL'
-            ? horizontalItems
-            : verticalItems
-        }
-        theme={theme}
-        multiSelectable
-      />
-    </PopOver>
-  );
-};
- 
-const QuickJump: FunctionComponent<QuickJumpProp> = ({
-  activeItem,
-  items,
-  theme,
-  onActivateItem,
-  isDarkMode,
-  position,
-}: QuickJumpProp) => {
-  const { buttonTexts } = useContext(GlobalContext);
-  return (
-    <PopOver
-      placeholder={buttonTexts.jumpTo}
-      position={position}
-      theme={theme}
-      width={'400px'}
-      isDarkMode={isDarkMode}
-    >
-      <List
-        items={items.map((item, index) => ({
-          active: index === activeItem,
-          description: item.description,
-          id: item.id,
-          label: item.title,
-          onSelect: () => {},
-          title: item.title,
-        }))}
-        theme={theme}
-        onClick={onActivateItem}
-      />
-    </PopOver>
-  );
-};
- 
-export { LayoutSwitcher, QuickJump };
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/components/timeline/timeline-toolbar.tsx.html b/coverage/components/timeline/timeline-toolbar.tsx.html deleted file mode 100644 index 0ced312c..00000000 --- a/coverage/components/timeline/timeline-toolbar.tsx.html +++ /dev/null @@ -1,427 +0,0 @@ - - - - - - Code coverage report for components/timeline/timeline-toolbar.tsx - - - - - - - - - -
-
-

All files / components/timeline timeline-toolbar.tsx

-
- -
- 86.84% - Statements - 99/114 -
- - -
- 60% - Branches - 6/10 -
- - -
- 25% - Functions - 1/4 -
- - -
- 86.84% - Lines - 99/114 -
- - -
-

- 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 -1151x -1x -1x -1x -1x -1x -1x -1x -1x -1x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -7x -7x -7x -7x -7x -7x -7x -7x -7x -7x -7x -7x -7x -7x -7x -7x -7x -11x -11x -11x -11x -7x -  -7x -11x -11x -11x -11x -7x -  -7x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -  -  -  -  -  -  -  -  -  -  -  -  -10x -11x -10x -10x -10x -10x -10x -10x -10x -  -11x -11x -11x -1x -1x -1x - 
// Import necessary dependencies
-import { FunctionComponent, useContext, useMemo } from 'react';
-import { GlobalContext } from '../GlobalContext';
-import TimelineControl from '../timeline-elements/timeline-control/timeline-control';
-import { Toolbar } from '../toolbar';
-import { LayoutSwitcher, QuickJump } from './timeline-popover-elements';
-import { TimelineToolbarProps } from './timeline-toolbar.model';
- 
-// Define the TimelineToolbar component
-const TimelineToolbar: FunctionComponent<TimelineToolbarProps> = ({
-  activeTimelineItem,
-  slideShowEnabled,
-  slideShowRunning,
-  flipLayout,
-  toggleDarkMode,
-  onPaused,
-  onFirst,
-  onLast,
-  onNext,
-  onPrevious,
-  onRestartSlideshow,
-  totalItems,
-  items = [],
-  id,
-  onActivateTimelineItem,
-  onUpdateTimelineMode,
-  mode,
-}) => {
-  // Access the global context
-  const { theme, cardLess, enableQuickJump, darkMode, toolbarPosition } =
-    useContext(GlobalContext);
- 
-  // Define the toolbar items
-  const toolbarItems = useMemo(() => {
-    return [
-      {
-        label: 'Timeline Controls',
-        name: 'timeline_control',
-        onSelect: () => {},
-      },
-      {
-        label: 'timeline_popover',
-        name: 'popover',
-        onSelect: () => {},
-      },
-      {
-        label: 'layout_popover',
-        name: 'popover',
-        onSelect: () => {},
-      },
-    ];
-  }, []);
- 
-  // Determine if the left arrow should be disabled
-  const disableLeft = useMemo(() => {
-    return flipLayout
-      ? activeTimelineItem === totalItems - 1
-      : activeTimelineItem === 0;
-  }, [flipLayout, activeTimelineItem, totalItems]);
- 
-  // Determine if the right arrow should be disabled
-  const disableRight = useMemo(() => {
-    return flipLayout
-      ? activeTimelineItem === 0
-      : activeTimelineItem === totalItems - 1;
-  }, [flipLayout, activeTimelineItem, totalItems]);
- 
-  // Render the TimelineToolbar component
-  return (
-    <Toolbar items={toolbarItems} theme={theme}>
-      <TimelineControl
-        disableLeft={disableLeft}
-        disableRight={disableRight}
-        id={id}
-        onFirst={onFirst}
-        onLast={onLast}
-        onNext={onNext}
-        onPrevious={onPrevious}
-        onReplay={onRestartSlideshow}
-        slideShowEnabled={slideShowEnabled}
-        slideShowRunning={slideShowRunning}
-        isDark={darkMode}
-        onToggleDarkMode={toggleDarkMode}
-        onPaused={onPaused}
-      />
-      {enableQuickJump ? (
-        <QuickJump
-          activeItem={activeTimelineItem}
-          isDarkMode={darkMode}
-          items={items.map((item) => ({
-            ...item,
-            description: item.cardSubtitle,
-            title: item.title,
-          }))}
-          onActivateItem={onActivateTimelineItem}
-          theme={theme}
-          position={toolbarPosition}
-        />
-      ) : null}
-      {!cardLess ? (
-        <LayoutSwitcher
-          isDarkMode={darkMode}
-          theme={theme}
-          onUpdateTimelineMode={onUpdateTimelineMode}
-          mode={mode}
-          position={toolbarPosition}
-        />
-      ) : null}
-    </Toolbar>
-  );
-};
- 
-// Export the TimelineToolbar component
-export { TimelineToolbar };
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/components/timeline/timeline.style.ts.html b/coverage/components/timeline/timeline.style.ts.html deleted file mode 100644 index 9d72a2b3..00000000 --- a/coverage/components/timeline/timeline.style.ts.html +++ /dev/null @@ -1,571 +0,0 @@ - - - - - - Code coverage report for components/timeline/timeline.style.ts - - - - - - - - - -
-
-

All files / components/timeline timeline.style.ts

-
- -
- 95.06% - Statements - 154/162 -
- - -
- 57.14% - Branches - 12/21 -
- - -
- 100% - Functions - 5/5 -
- - -
- 95.06% - Lines - 154/162 -
- - -
-

- 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 -1631x -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 -1x -1x -1x -10x -  -10x -10x -10x -10x -10x -10x -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 -1x -  -  -  -  -  -  -1x -1x -1x -1x -1x -1x -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;
-  position?: 'top' | 'bottom';
-  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%;
-  order: ${(p) => (p.position === 'top' ? 1 : 0)};
- 
-  ${ScrollBar}
- 
-  &.horizontal {
-    min-height: 150px;
-  }
- 
-  padding: ${({ $scrollable }) => (!$scrollable ? '0 1rem 0' : '')};
-`;
- 
-export const TimelineMain = styled.div`
-  position: absolute;
-  top: 50%;
-  left: 0;
-  display: flex;
-  align-items: center;
-  transition: all 0.2s ease;
-  transform: translate(0, -50%);
- 
-  &.vertical {
-    align-items: flex-start;
-    justify-content: flex-start;
-    width: 100%;
-    height: 100%;
-  }
-`;
- 
-export const Outline = styled.div<{ color?: string; height?: number }>`
-  position: absolute;
-  right: 0;
-  left: 0;
-  width: 100%;
-  height: ${(p) => `${p.height}px`};
-  margin-right: auto;
-  margin-left: auto;
-  background: ${(p) => p.color};
-`;
- 
-export const TimelineControlContainer = styled.div<{
-  active?: boolean;
-  mode?: TimelineMode;
-}>`
-  display: flex;
-  align-items: center;
-  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 }>`
-  display: flex;
-  align-items: flex-start;
-  justify-content: ${(p) => (p.$showAllCards ? 'flex-start' : 'center')};
-  width: 98%;
-  margin-right: auto;
-  margin-left: auto;
-  overflow-x: hidden;
-`;
- 
-export const ToolbarWrapper = styled.div<{ position: 'top' | 'bottom' }>`
-  display: flex;
-  font-weight: bold;
-  text-align: center;
-  text-decoration: none;
-  border-radius: 6px;
-  width: 100%;
-  margin: ${(p) => (p.position === 'top' ? '0 0 20px 0' : '20px 0 0 0')};
-  order: ${(p) => (p.position === 'top' ? 0 : 1)};
-`;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/components/timeline/timeline.tsx.html b/coverage/components/timeline/timeline.tsx.html deleted file mode 100644 index b811bac4..00000000 --- a/coverage/components/timeline/timeline.tsx.html +++ /dev/null @@ -1,1555 +0,0 @@ - - - - - - Code coverage report for components/timeline/timeline.tsx - - - - - - - - - -
-
-

All files / components/timeline timeline.tsx

-
- -
- 72.85% - Statements - 357/490 -
- - -
- 75.6% - Branches - 31/41 -
- - -
- 18.18% - Functions - 2/11 -
- - -
- 72.85% - Lines - 357/490 -
- - -
-

- 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 -475 -476 -477 -478 -479 -480 -481 -482 -483 -484 -485 -486 -487 -488 -489 -490 -4911x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -7x -7x -  -  -7x -7x -  -  -7x -11x -11x -11x -11x -11x -11x -11x -11x -11x -  -  -  -  -11x -11x -11x -11x -11x -1x -1x -1x -1x -1x -1x -1x -11x -11x -11x -  -  -  -  -11x -11x -11x -1x -1x -1x -1x -11x -11x -11x -1x -1x -1x -1x -11x -11x -11x -11x -11x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -11x -11x -11x -11x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -11x -11x -7x -7x -7x -  -  -7x -7x -7x -7x -7x -7x -7x -7x -7x -7x -7x -7x -7x -1x -1x -1x -1x -1x -1x -1x -1x -1x -  -  -  -  -  -  -  -  -  -1x -7x -11x -11x -11x -  -  -  -  -  -11x -11x -7x -7x -  -  -7x -1x -7x -6x -6x -11x -11x -11x -7x -7x -7x -7x -7x -5x -5x -15x -15x -15x -5x -5x -7x -7x -7x -  -  -  -  -  -  -  -  -7x -7x -6x -6x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -6x -6x -6x -6x -6x -6x -7x -7x -7x -6x -6x -7x -7x -11x -11x -11x -11x -  -  -  -  -  -11x -11x -11x -11x -  -  -  -  -  -  -  -  -  -  -  -11x -11x -11x -7x -7x -7x -7x -11x -11x -11x -11x -11x -11x -11x -11x -3x -3x -11x -11x -  -  -  -  -11x -11x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -  -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -11x -11x -11x -7x -7x -7x -7x -7x -7x -7x -7x -7x -7x -  -7x -7x -7x -7x -7x -7x -7x -3x -11x -11x -11x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -  -1x -1x -1x -1x -1x -1x -9x -11x -11x -11x -2x -2x -2x -2x -2x -2x -2x -2x -2x -2x -2x -  -2x -2x -2x -2x -2x -2x -2x -8x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -1x -1x -1x -1x - 
import { Scroll } from '@models/TimelineHorizontalModel';
-import { TimelineCardModel } from '@models/TimelineItemModel';
-import { TimelineModel } from '@models/TimelineModel';
-import { getUniqueID } from '@utils/index';
-import cls from 'classnames';
-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 TimelineHorizontal from '../timeline-horizontal/timeline-horizontal';
-import TimelineVertical from '../timeline-vertical/timeline-vertical';
-import { TimelineToolbar } from './timeline-toolbar';
-import {
-  Outline,
-  TimelineContentRender,
-  TimelineMain,
-  TimelineMainWrapper,
-  ToolbarWrapper,
-  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,
-    updateHorizontalAllCards,
-    toolbarPosition,
-  } = 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 === 'HORIZONTAL' && showAllCardsHorizontal ? 'HORIZONTAL_ALL' : 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 : getUniqueID()}`,
-  );
- 
-  useMatchMedia(
-    `(min-width: 100px) and (max-width: ${verticalBreakPoint}px)`,
-    () => {
-      if (mode === 'VERTICAL_ALTERNATING') {
-        setTimelineMode('VERTICAL');
-      }
-    },
-    enableBreakPoint,
-  );
- 
-  // handlers for navigation
-  const handleNext = useCallback(() => {
-    if (hasFocus) {
-      activeItemIndex.current = Math.min(
-        activeItemIndex.current + 1,
-        items.length - 1,
-      );
-      onNext?.();
-    }
-  }, [hasFocus, onNext]);
- 
-  const handlePrevious = useCallback(() => {
-    if (hasFocus) {
-      activeItemIndex.current = Math.max(activeItemIndex.current - 1, 0);
-      onPrevious?.();
-    }
-  }, [hasFocus, onPrevious]);
- 
-  const handleFirst = useCallback(() => {
-    if (hasFocus) {
-      activeItemIndex.current = 0;
-      onFirst?.();
-    }
-  }, [hasFocus, onFirst]);
- 
-  const handleLast = useCallback(() => {
-    if (hasFocus) {
-      activeItemIndex.current = items.length - 1;
-      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;
-        }
-      }
-    }
-  };
- 
-  useEffect(() => {
-    const activeItem = items[activeTimelineItem || 0];
- 
-    if (slideShowRunning) {
-      activeItemIndex.current = activeTimelineItem;
-    }
- 
-    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, slideShowRunning]);
- 
-  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 handleTimelineUpdate = useCallback((mode: string) => {
-    if (mode === 'VERTICAL') {
-      setTimelineMode('VERTICAL');
-    } else if (mode === 'HORIZONTAL') {
-      setTimelineMode('HORIZONTAL');
-      updateHorizontalAllCards?.(false);
-    } else if (mode === 'VERTICAL_ALTERNATING') {
-      setTimelineMode('VERTICAL_ALTERNATING');
-    } else if (mode === 'HORIZONTAL_ALL') {
-      setTimelineMode('HORIZONTAL_ALL');
-      updateHorizontalAllCards?.(true);
-    }
-  }, []);
- 
-  const wrapperClass = useMemo(() => {
-    return cls(mode.toLocaleLowerCase(), {
-      'focus-visible': !isChild,
-      'js-focus-visible': !isChild,
-    });
-  }, [mode, isChild]);
- 
-  return (
-    <Wrapper
-      onKeyDown={handleKeyDown}
-      className={wrapperClass}
-      cardPositionHorizontal={cardPositionHorizontal}
-      onMouseDown={() => {
-        setHasFocus(true);
-      }}
-      $hideControls={hideControls}
-      onKeyUp={(evt) => {
-        if (evt.key === 'Escape') {
-          onPaused?.();
-        }
-      }}
-    >
-      {!isChild ? (
-        <ToolbarWrapper position={toolbarPosition}>
-          <TimelineToolbar
-            activeTimelineItem={activeTimelineItem}
-            totalItems={items.length}
-            slideShowEnabled={slideShowEnabled}
-            slideShowRunning={slideShowRunning}
-            onFirst={handleFirst}
-            onLast={handleLast}
-            onNext={handleNext}
-            onPrevious={handlePrevious}
-            onRestartSlideshow={onRestartSlideshow}
-            darkMode={darkMode}
-            toggleDarkMode={toggleDarkMode}
-            onPaused={onPaused}
-            id={id.current}
-            flipLayout={flipLayout}
-            items={items}
-            onActivateTimelineItem={handleTimelineItemClick}
-            onUpdateTimelineMode={handleTimelineUpdate}
-            mode={timelineMode}
-          />
-        </ToolbarWrapper>
-      ) : null}
-      <TimelineMainWrapper
-        ref={timelineMainRef}
-        $scrollable={canScrollTimeline}
-        className={`${mode.toLowerCase()} timeline-main-wrapper`}
-        id="timeline-main-wrapper"
-        data-testid="timeline-main-wrapper"
-        theme={theme}
-        mode={mode}
-        position={toolbarPosition}
-        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' || timelineMode === 'HORIZONTAL_ALL' ? (
-          <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>
- 
-      {/* 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/components/toolbar/index.html b/coverage/components/toolbar/index.html deleted file mode 100644 index 19b7448d..00000000 --- a/coverage/components/toolbar/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for components/toolbar - - - - - - - - - -
-
-

All files components/toolbar

-
- -
- 100% - Statements - 76/76 -
- - -
- 80% - Branches - 4/5 -
- - -
- 100% - Functions - 1/1 -
- - -
- 100% - Lines - 76/76 -
- - -
-

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

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.tsx -
-
100%43/4375%3/4100%1/1100%43/43
toolbar.styles.ts -
-
100%33/33100%1/1100%0/0100%33/33
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/components/toolbar/index.tsx.html b/coverage/components/toolbar/index.tsx.html deleted file mode 100644 index a4202802..00000000 --- a/coverage/components/toolbar/index.tsx.html +++ /dev/null @@ -1,214 +0,0 @@ - - - - - - Code coverage report for components/toolbar/index.tsx - - - - - - - - - -
-
-

All files / components/toolbar index.tsx

-
- -
- 100% - Statements - 43/43 -
- - -
- 75% - Branches - 3/4 -
- - -
- 100% - Functions - 1/1 -
- - -
- 100% - Lines - 43/43 -
- - -
-

- 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 -441x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -11x -11x -11x -11x -11x -11x -11x -30x -30x -30x -30x -30x -30x -11x -11x -11x -11x -1x -1x - 
import { FunctionComponent, ReactNode } from 'react';
-import {
-  ContentWrapper,
-  IconWrapper,
-  ToolbarListItem,
-  ToolbarWrapper,
-} from './toolbar.styles';
-import { Theme } from '@models/Theme';
- 
-export type ToolbarItem = {
-  icon?: ReactNode;
-  id?: string;
-  label?: string;
-  name: string;
-  onSelect: (id: string, name: string) => void;
-};
- 
-export type ToolbarProps = {
-  children?: ReactNode | ReactNode[];
-  items?: ToolbarItem[];
-  theme: Theme;
-};
- 
-const Toolbar: FunctionComponent<ToolbarProps> = ({
-  items,
-  children = [],
-  theme,
-}) => {
-  return (
-    <ToolbarWrapper theme={theme}>
-      {items?.map(({ label, id, icon }, index) => {
-        return (
-          <ToolbarListItem aria-label={label} key={id}>
-            {icon ? <IconWrapper>{icon}</IconWrapper> : null}
-            <ContentWrapper>{children[index]}</ContentWrapper>
-          </ToolbarListItem>
-        );
-      })}
-    </ToolbarWrapper>
-  );
-};
- 
-export { Toolbar };
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/components/toolbar/toolbar.styles.ts.html b/coverage/components/toolbar/toolbar.styles.ts.html deleted file mode 100644 index 9323823a..00000000 --- a/coverage/components/toolbar/toolbar.styles.ts.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - Code coverage report for components/toolbar/toolbar.styles.ts - - - - - - - - - -
-
-

All files / components/toolbar toolbar.styles.ts

-
- -
- 100% - Statements - 33/33 -
- - -
- 100% - Branches - 1/1 -
- - -
- 100% - Functions - 0/0 -
- - -
- 100% - Lines - 33/33 -
- - -
-

- 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 -341x -1x -1x -1x -1x -1x -1x -1x -1x -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 from 'styled-components';
- 
-export const ToolbarWrapper = styled.ul<{ theme: Theme }>`
-  list-style: none;
-  margin: 0;
-  display: flex;
-  align-items: center;
-  background-color: ${(p) => p.theme.toolbarBgColor};
-  box-shadow: 0 2px 1px rgba(0, 0, 0, 0.1);
-  width: 100%;
-  height: 100%;
-  padding: 10px 20px;
-  border-radius: 6px;
-  flex-wrap: wrap;
-`;
- 
-export const ToolbarListItem = styled.li`
-  padding: 0;
-  margin: 0 0.5rem;
-`;
- 
-export const IconWrapper = styled.span`
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  width: 1rem;
-  height: 1rem;
-`;
- 
-export const ContentWrapper = styled.span`
-  display: flex;
-`;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/favicon.png b/coverage/favicon.png deleted file mode 100644 index c1525b811a167671e9de1fa78aab9f5c0b61cef7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 445 zcmV;u0Yd(XP))rP{nL}Ln%S7`m{0DjX9TLF* zFCb$4Oi7vyLOydb!7n&^ItCzb-%BoB`=x@N2jll2Nj`kauio%aw_@fe&*}LqlFT43 z8doAAe))z_%=P%v^@JHp3Hjhj^6*Kr_h|g_Gr?ZAa&y>wxHE99Gk>A)2MplWz2xdG zy8VD2J|Uf#EAw*bo5O*PO_}X2Tob{%bUoO2G~T`@%S6qPyc}VkhV}UifBuRk>%5v( z)x7B{I~z*k<7dv#5tC+m{km(D087J4O%+<<;K|qwefb6@GSX45wCK}Sn*> - - - - Code coverage report for All files - - - - - - - - - -
-
-

All files

-
- -
- 86.85% - Statements - 4812/5540 -
- - -
- 68.29% - Branches - 420/615 -
- - -
- 73.07% - Functions - 114/156 -
- - -
- 86.85% - Lines - 4812/5540 -
- - -
-

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

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
components/common/styles -
-
100%19/19100%3/3100%2/2100%19/19
components/common/test -
-
100%83/83100%1/114.28%1/7100%83/83
components/common/themes -
-
100%47/47100%0/0100%0/0100%47/47
components/effects -
-
62.01%111/17975%12/1675%3/462.01%111/179
components/elements/list -
-
98.84%256/25997.14%34/3585.71%6/798.84%256/259
components/elements/popover -
-
97.76%175/17992.3%24/2688.88%8/997.76%175/179
components/timeline -
-
82.24%741/90171.95%59/8240.74%11/2782.24%741/901
components/timeline-elements/memoized -
-
68.39%119/17480%12/15100%1/168.39%119/174
components/timeline-elements/timeline-card -
-
96.82%335/34675%33/4491.66%11/1296.82%335/346
components/timeline-elements/timeline-card-content -
-
81.91%1051/128366.25%106/16083.33%30/3681.91%1051/1283
components/timeline-elements/timeline-card-media -
-
82.04%571/69653.84%42/7866.66%14/2182.04%571/696
components/timeline-elements/timeline-control -
-
98.1%310/31653.19%25/47100%3/398.1%310/316
components/timeline-elements/timeline-item-title -
-
100%73/7382.35%14/17100%6/6100%73/73
components/timeline-horizontal -
-
100%138/13855.55%5/9100%1/1100%138/138
components/timeline-vertical -
-
92.97%635/68359.09%39/6690.9%10/1192.97%635/683
components/toolbar -
-
100%76/7680%4/5100%1/1100%76/76
utils -
-
81.81%72/8863.63%7/1175%6/881.81%72/88
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/base.css b/coverage/lcov-report/base.css deleted file mode 100644 index f418035b..00000000 --- a/coverage/lcov-report/base.css +++ /dev/null @@ -1,224 +0,0 @@ -body, html { - margin:0; padding: 0; - height: 100%; -} -body { - font-family: Helvetica Neue, Helvetica, Arial; - font-size: 14px; - color:#333; -} -.small { font-size: 12px; } -*, *:after, *:before { - -webkit-box-sizing:border-box; - -moz-box-sizing:border-box; - box-sizing:border-box; - } -h1 { font-size: 20px; margin: 0;} -h2 { font-size: 14px; } -pre { - font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace; - margin: 0; - padding: 0; - -moz-tab-size: 2; - -o-tab-size: 2; - tab-size: 2; -} -a { color:#0074D9; text-decoration:none; } -a:hover { text-decoration:underline; } -.strong { font-weight: bold; } -.space-top1 { padding: 10px 0 0 0; } -.pad2y { padding: 20px 0; } -.pad1y { padding: 10px 0; } -.pad2x { padding: 0 20px; } -.pad2 { padding: 20px; } -.pad1 { padding: 10px; } -.space-left2 { padding-left:55px; } -.space-right2 { padding-right:20px; } -.center { text-align:center; } -.clearfix { display:block; } -.clearfix:after { - content:''; - display:block; - height:0; - clear:both; - visibility:hidden; - } -.fl { float: left; } -@media only screen and (max-width:640px) { - .col3 { width:100%; max-width:100%; } - .hide-mobile { display:none!important; } -} - -.quiet { - color: #7f7f7f; - color: rgba(0,0,0,0.5); -} -.quiet a { opacity: 0.7; } - -.fraction { - font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; - font-size: 10px; - color: #555; - background: #E8E8E8; - padding: 4px 5px; - border-radius: 3px; - vertical-align: middle; -} - -div.path a:link, div.path a:visited { color: #333; } -table.coverage { - border-collapse: collapse; - margin: 10px 0 0 0; - padding: 0; -} - -table.coverage td { - margin: 0; - padding: 0; - vertical-align: top; -} -table.coverage td.line-count { - text-align: right; - padding: 0 5px 0 20px; -} -table.coverage td.line-coverage { - text-align: right; - padding-right: 10px; - min-width:20px; -} - -table.coverage td span.cline-any { - display: inline-block; - padding: 0 5px; - width: 100%; -} -.missing-if-branch { - display: inline-block; - margin-right: 5px; - border-radius: 3px; - position: relative; - padding: 0 4px; - background: #333; - color: yellow; -} - -.skip-if-branch { - display: none; - margin-right: 10px; - position: relative; - padding: 0 4px; - background: #ccc; - color: white; -} -.missing-if-branch .typ, .skip-if-branch .typ { - color: inherit !important; -} -.coverage-summary { - border-collapse: collapse; - width: 100%; -} -.coverage-summary tr { border-bottom: 1px solid #bbb; } -.keyline-all { border: 1px solid #ddd; } -.coverage-summary td, .coverage-summary th { padding: 10px; } -.coverage-summary tbody { border: 1px solid #bbb; } -.coverage-summary td { border-right: 1px solid #bbb; } -.coverage-summary td:last-child { border-right: none; } -.coverage-summary th { - text-align: left; - font-weight: normal; - white-space: nowrap; -} -.coverage-summary th.file { border-right: none !important; } -.coverage-summary th.pct { } -.coverage-summary th.pic, -.coverage-summary th.abs, -.coverage-summary td.pct, -.coverage-summary td.abs { text-align: right; } -.coverage-summary td.file { white-space: nowrap; } -.coverage-summary td.pic { min-width: 120px !important; } -.coverage-summary tfoot td { } - -.coverage-summary .sorter { - height: 10px; - width: 7px; - display: inline-block; - margin-left: 0.5em; - background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; -} -.coverage-summary .sorted .sorter { - background-position: 0 -20px; -} -.coverage-summary .sorted-desc .sorter { - background-position: 0 -10px; -} -.status-line { height: 10px; } -/* yellow */ -.cbranch-no { background: yellow !important; color: #111; } -/* dark red */ -.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 } -.low .chart { border:1px solid #C21F39 } -.highlighted, -.highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{ - background: #C21F39 !important; -} -/* medium red */ -.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE } -/* light red */ -.low, .cline-no { background:#FCE1E5 } -/* light green */ -.high, .cline-yes { background:rgb(230,245,208) } -/* medium green */ -.cstat-yes { background:rgb(161,215,106) } -/* dark green */ -.status-line.high, .high .cover-fill { background:rgb(77,146,33) } -.high .chart { border:1px solid rgb(77,146,33) } -/* dark yellow (gold) */ -.status-line.medium, .medium .cover-fill { background: #f9cd0b; } -.medium .chart { border:1px solid #f9cd0b; } -/* light yellow */ -.medium { background: #fff4c2; } - -.cstat-skip { background: #ddd; color: #111; } -.fstat-skip { background: #ddd; color: #111 !important; } -.cbranch-skip { background: #ddd !important; color: #111; } - -span.cline-neutral { background: #eaeaea; } - -.coverage-summary td.empty { - opacity: .5; - padding-top: 4px; - padding-bottom: 4px; - line-height: 1; - color: #888; -} - -.cover-fill, .cover-empty { - display:inline-block; - height: 12px; -} -.chart { - line-height: 0; -} -.cover-empty { - background: white; -} -.cover-full { - border-right: none !important; -} -pre.prettyprint { - border: none !important; - padding: 0 !important; - margin: 0 !important; -} -.com { color: #999 !important; } -.ignore-none { color: #999; font-weight: normal; } - -.wrapper { - min-height: 100%; - height: auto !important; - height: 100%; - margin: 0 auto -48px; -} -.footer, .push { - height: 48px; -} diff --git a/coverage/lcov-report/block-navigation.js b/coverage/lcov-report/block-navigation.js deleted file mode 100644 index cc121302..00000000 --- a/coverage/lcov-report/block-navigation.js +++ /dev/null @@ -1,87 +0,0 @@ -/* eslint-disable */ -var jumpToCode = (function init() { - // Classes of code we would like to highlight in the file view - var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no']; - - // Elements to highlight in the file listing view - var fileListingElements = ['td.pct.low']; - - // We don't want to select elements that are direct descendants of another match - var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > ` - - // Selecter that finds elements on the page to which we can jump - var selector = - fileListingElements.join(', ') + - ', ' + - notSelector + - missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b` - - // The NodeList of matching elements - var missingCoverageElements = document.querySelectorAll(selector); - - var currentIndex; - - function toggleClass(index) { - missingCoverageElements - .item(currentIndex) - .classList.remove('highlighted'); - missingCoverageElements.item(index).classList.add('highlighted'); - } - - function makeCurrent(index) { - toggleClass(index); - currentIndex = index; - missingCoverageElements.item(index).scrollIntoView({ - behavior: 'smooth', - block: 'center', - inline: 'center' - }); - } - - function goToPrevious() { - var nextIndex = 0; - if (typeof currentIndex !== 'number' || currentIndex === 0) { - nextIndex = missingCoverageElements.length - 1; - } else if (missingCoverageElements.length > 1) { - nextIndex = currentIndex - 1; - } - - makeCurrent(nextIndex); - } - - function goToNext() { - var nextIndex = 0; - - if ( - typeof currentIndex === 'number' && - currentIndex < missingCoverageElements.length - 1 - ) { - nextIndex = currentIndex + 1; - } - - makeCurrent(nextIndex); - } - - return function jump(event) { - if ( - document.getElementById('fileSearch') === document.activeElement && - document.activeElement != null - ) { - // if we're currently focused on the search input, we don't want to navigate - return; - } - - switch (event.which) { - case 78: // n - case 74: // j - goToNext(); - break; - case 66: // b - case 75: // k - case 80: // p - goToPrevious(); - break; - } - }; -})(); -window.addEventListener('keydown', jumpToCode); diff --git a/coverage/lcov-report/components/common/styles/index.html b/coverage/lcov-report/components/common/styles/index.html deleted file mode 100644 index 9de57ea5..00000000 --- a/coverage/lcov-report/components/common/styles/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - 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 deleted file mode 100644 index 3132cd6b..00000000 --- a/coverage/lcov-report/components/common/styles/index.ts.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - 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 deleted file mode 100644 index cfe441c4..00000000 --- a/coverage/lcov-report/components/common/test/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - 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 deleted file mode 100644 index c17a5560..00000000 --- a/coverage/lcov-report/components/common/test/index.tsx.html +++ /dev/null @@ -1,334 +0,0 @@ - - - - - - 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 -17x -17x -17x -17x -17x -17x -17x -17x - 
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 deleted file mode 100644 index 7ca784fd..00000000 --- a/coverage/lcov-report/components/common/themes/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - Code coverage report for components/common/themes - - - - - - - - - -
-
-

All files components/common/themes

-
- -
- 100% - Statements - 47/47 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 100% - Lines - 47/47 -
- - -
-

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

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.ts -
-
100%47/47100%0/0100%0/0100%47/47
-
-
-
- - - - - - - - \ 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 deleted file mode 100644 index cbc31d0f..00000000 --- a/coverage/lcov-report/components/common/themes/index.ts.html +++ /dev/null @@ -1,226 +0,0 @@ - - - - - - Code coverage report for components/common/themes/index.ts - - - - - - - - - -
-
-

All files / components/common/themes index.ts

-
- -
- 100% - Statements - 47/47 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 100% - Lines - 47/47 -
- - -
-

- 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 -481x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -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',
-  toolbarBgColor: '#f5f5f5',
-  toolbarBtnBgColor: '#fff',
-  toolbarTextColor: '#000',
-};
- 
-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',
-  toolbarBgColor: '#555',
-  toolbarBtnBgColor: '#222',
-  toolbarTextColor: '#ffffff',
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/components/effects/index.html b/coverage/lcov-report/components/effects/index.html deleted file mode 100644 index fb66e924..00000000 --- a/coverage/lcov-report/components/effects/index.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - Code coverage report for components/effects - - - - - - - - - -
-
-

All files components/effects

-
- -
- 62.01% - Statements - 111/179 -
- - -
- 75% - Branches - 12/16 -
- - -
- 75% - Functions - 3/4 -
- - -
- 62.01% - Lines - 111/179 -
- - -
-

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

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
useCloseClickOutside.ts -
-
93.33%42/45100%6/6100%1/193.33%42/45
useMatchMedia.ts -
-
86.95%40/4650%4/850%1/286.95%40/46
useNewScrollPosition.ts -
-
32.95%29/88100%2/2100%1/132.95%29/88
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/components/effects/useCloseClickOutside.ts.html b/coverage/lcov-report/components/effects/useCloseClickOutside.ts.html deleted file mode 100644 index ac27203e..00000000 --- a/coverage/lcov-report/components/effects/useCloseClickOutside.ts.html +++ /dev/null @@ -1,220 +0,0 @@ - - - - - - Code coverage report for components/effects/useCloseClickOutside.ts - - - - - - - - - -
-
-

All files / components/effects useCloseClickOutside.ts

-
- -
- 93.33% - Statements - 42/45 -
- - -
- 100% - Branches - 6/6 -
- - -
- 100% - Functions - 1/1 -
- - -
- 93.33% - Lines - 42/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 -29x -29x -29x -29x -29x -29x -29x -10x -10x -10x -10x -3x -3x -10x -29x -29x -29x -  -  -  -29x -29x -29x -21x -21x -21x -21x -21x -21x -21x -29x -29x -29x -12x -12x -12x -12x -12x -12x -12x -12x -29x -29x - 
import { RefObject, useCallback, useEffect, useRef } from 'react';
- 
-export default function useCloseClickOutside(
-  el: RefObject<HTMLDivElement>,
-  callback: () => void,
-) {
-  const htmlElement = useRef<HTMLElement>();
- 
-  const handleClick = useCallback((e: MouseEvent) => {
-    const element = htmlElement.current;
- 
-    if (element) {
-      if (!element.contains(e.target as Node)) {
-        callback();
-      }
-    }
-  }, []);
- 
-  const handleEscape = useCallback((e: KeyboardEvent) => {
-    if (e.key === 'Escape') {
-      callback();
-    }
-  }, []);
- 
-  useEffect(() => {
-    const element = el.current;
- 
-    if (element) {
-      htmlElement.current = element;
- 
-      element.addEventListener('keyup', handleEscape);
-    }
-  }, [el, callback]);
- 
-  useEffect(() => {
-    document.addEventListener('click', handleClick);
-    return () => {
-      const element = htmlElement.current;
-      if (element) {
-        element.removeEventListener('keyup', handleEscape);
-      }
-      document.removeEventListener('click', handleClick);
-    };
-  }, []);
-}
- 
- -
-
- - - - - - - - \ 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 deleted file mode 100644 index 47eeaa2c..00000000 --- a/coverage/lcov-report/components/effects/useMatchMedia.ts.html +++ /dev/null @@ -1,223 +0,0 @@ - - - - - - Code coverage report for components/effects/useMatchMedia.ts - - - - - - - - - -
-
-

All files / components/effects useMatchMedia.ts

-
- -
- 86.95% - Statements - 40/46 -
- - -
- 50% - Branches - 4/8 -
- - -
- 50% - Functions - 1/2 -
- - -
- 86.95% - Lines - 40/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 -10x -10x -10x -10x -10x -10x -10x -7x -  -  -7x -7x -7x -7x -7x -7x -  -  -7x -7x -7x -7x -7x -7x -10x -10x -10x -10x -  -  -10x -10x -10x -10x - 
/**
- * 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/components/effects/useNewScrollPosition.ts.html b/coverage/lcov-report/components/effects/useNewScrollPosition.ts.html deleted file mode 100644 index bbb88eb1..00000000 --- a/coverage/lcov-report/components/effects/useNewScrollPosition.ts.html +++ /dev/null @@ -1,349 +0,0 @@ - - - - - - Code coverage report for components/effects/useNewScrollPosition.ts - - - - - - - - - -
-
-

All files / components/effects useNewScrollPosition.ts

-
- -
- 32.95% - Statements - 29/88 -
- - -
- 100% - Branches - 2/2 -
- - -
- 100% - Functions - 1/1 -
- - -
- 32.95% - Lines - 29/88 -
- - -
-

- 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 -891x -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 -1x -1x - 
import { Scroll } from '@models/TimelineHorizontalModel';
-import { TimelineMode } from '@models/TimelineModel';
-import { useMemo, useState } from 'react';
- 
-/**
- * Hook to calculate the new scroll position based on the given mode and item width.
- *
- * @param {TimelineMode} mode - The mode of the timeline (HORIZONTAL, VERTICAL, or VERTICAL_ALTERNATING).
- * @param {number} [itemWidth] - Optional item width for horizontal mode.
- * @returns {[number, (e: HTMLElement, s: Partial<Scroll>) => void]} - The new offset and a function to compute the new offset.
- */
-const useNewScrollPosition = (
-  mode: TimelineMode,
-  itemWidth?: number,
-): [number, (e: HTMLElement, s: Partial<Scroll>) => void] => {
-  // State to hold the new offset value
-  const [newOffset, setNewOffset] = useState(0);
- 
-  // Memoized function to compute the new offset value
-  const computeNewOffset = useMemo(
-    () => (parent: HTMLElement, scroll: Partial<Scroll>) => {
-      // Destructuring relevant properties from parent and scroll
-      const { clientWidth, scrollLeft, scrollTop, clientHeight } = parent;
-      const { pointOffset, pointWidth, contentHeight, contentOffset } = scroll;
-
-      // Handling horizontal mode
-      if (mode === 'HORIZONTAL' && itemWidth && pointWidth && pointOffset) {
-        // Calculating right boundaries for container and circular element
-        const contrRight = scrollLeft + clientWidth;
-        const circRight = pointOffset + pointWidth;
-
-        // Checking if the element is fully visible
-        const isVisible = pointOffset >= scrollLeft && circRight <= contrRight;
-
-        // Checking if the element is partially visible
-        const isPartiallyVisible =
-          (pointOffset < scrollLeft && circRight > scrollLeft) ||
-          (circRight > contrRight && pointOffset < contrRight);
-
-        // Calculating gaps from left and right
-        const leftGap = pointOffset - scrollLeft;
-        const rightGap = contrRight - pointOffset;
-
-        // Setting offset based on visibility and gap conditions
-        if (
-          !(isVisible || isPartiallyVisible) ||
-          (leftGap <= itemWidth && leftGap >= 0) ||
-          (rightGap <= itemWidth && rightGap >= 0)
-        ) {
-          setNewOffset(pointOffset - itemWidth);
-        }
-      } else if (mode === 'VERTICAL' || mode === 'VERTICAL_ALTERNATING') {
-        // Handling vertical modes
-        if (contentOffset && contentHeight) {
-          // Calculating bottom boundaries for container and circular element
-          const contrBottom = scrollTop + clientHeight;
-          const circBottom = contentOffset + contentHeight;
-
-          // Checking if the element is fully visible
-          const isVisible =
-            contentOffset >= scrollTop && circBottom <= contrBottom;
-
-          // Checking if the element is partially visible
-          const isPartiallyVisible =
-            (contentOffset < scrollTop && circBottom > scrollTop) ||
-            (circBottom > contrBottom && contentOffset < contrBottom);
-
-          // Calculating new offset
-          const nOffset = contentOffset - contentHeight;
-          const notVisible = !isVisible || isPartiallyVisible;
-
-          // Setting offset based on visibility conditions
-          if (notVisible && nOffset + contentHeight < contrBottom) {
-            setNewOffset(nOffset + Math.round(contentHeight / 2));
-          } else if (notVisible) {
-            setNewOffset(nOffset);
-          }
-        }
-      }
-    },
-    [mode, itemWidth], // Dependencies for useMemo
-  );
- 
-  // Returning the new offset and the function to compute it
-  return [newOffset, computeNewOffset];
-};
- 
-export default useNewScrollPosition;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/components/elements/list/index.html b/coverage/lcov-report/components/elements/list/index.html deleted file mode 100644 index ce2a55a9..00000000 --- a/coverage/lcov-report/components/elements/list/index.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - Code coverage report for components/elements/list - - - - - - - - - -
-
-

All files components/elements/list

-
- -
- 98.84% - Statements - 256/259 -
- - -
- 97.14% - Branches - 34/35 -
- - -
- 85.71% - Functions - 6/7 -
- - -
- 98.84% - Lines - 256/259 -
- - -
-

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

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
list-item.tsx -
-
95.16%59/62100%6/650%1/295.16%59/62
list.styles.ts -
-
100%109/10994.11%16/17100%4/4100%109/109
list.tsx -
-
100%88/88100%12/12100%1/1100%88/88
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/components/elements/list/list-item.tsx.html b/coverage/lcov-report/components/elements/list/list-item.tsx.html deleted file mode 100644 index 4b7bcf74..00000000 --- a/coverage/lcov-report/components/elements/list/list-item.tsx.html +++ /dev/null @@ -1,271 +0,0 @@ - - - - - - Code coverage report for components/elements/list/list-item.tsx - - - - - - - - - -
-
-

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

-
- -
- 95.16% - Statements - 59/62 -
- - -
- 100% - Branches - 6/6 -
- - -
- 50% - Functions - 1/2 -
- - -
- 95.16% - Lines - 59/62 -
- - -
-

- 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 -631x -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 -6x -6x -6x -6x -6x -6x -13x -13x -13x -13x -13x -13x -13x -13x -13x -1x -1x -1x -1x -1x - 
import { FunctionComponent, KeyboardEvent, memo, useCallback } from 'react';
-import { ListItemModel } from './list.model';
-import {
-  CheckboxStyle,
-  CheckboxWrapper,
-  ListItemStyle,
-  StyleAndDescription,
-  TitleDescriptionStyle,
-  TitleStyle,
-} from './list.styles';
-import { CheckIcon } from 'src/components/icons';
- 
-const ListItem: FunctionComponent<ListItemModel> = memo(
-  ({
-    title,
-    id,
-    description,
-    theme,
-    onClick,
-    active,
-    selected = false,
-    selectable = false,
-  }: ListItemModel) => {
-    const handleOnClick = useCallback((id: string) => onClick?.(id), []);
- 
-    const handleKeyPress = useCallback((ev: KeyboardEvent, id: string) => {
-      if (ev.key === 'Enter') {
-        handleOnClick(id);
-      }
-    }, []);
- 
-    return (
-      <ListItemStyle
-        key={id}
-        theme={theme}
-        onClick={() => handleOnClick(id)}
-        active={active}
-        tabIndex={0}
-        selectable={selectable}
-        onKeyUp={(ev) => handleKeyPress(ev, id)}
-      >
-        {selectable ? (
-          <CheckboxWrapper>
-            <CheckboxStyle role="checkbox" selected={selected} theme={theme}>
-              {selected && <CheckIcon />}
-            </CheckboxStyle>
-          </CheckboxWrapper>
-        ) : null}
-        <StyleAndDescription selectable={selectable}>
-          <TitleStyle theme={theme}>{title}</TitleStyle>
-          <TitleDescriptionStyle theme={theme}>
-            {description}{' '}
-          </TitleDescriptionStyle>
-        </StyleAndDescription>
-      </ListItemStyle>
-    );
-  },
-);
- 
-ListItem.displayName = 'ListItem';
- 
-export { ListItem };
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/components/elements/list/list.styles.ts.html b/coverage/lcov-report/components/elements/list/list.styles.ts.html deleted file mode 100644 index af92c237..00000000 --- a/coverage/lcov-report/components/elements/list/list.styles.ts.html +++ /dev/null @@ -1,412 +0,0 @@ - - - - - - Code coverage report for components/elements/list/list.styles.ts - - - - - - - - - -
-
-

All files / components/elements/list list.styles.ts

-
- -
- 100% - Statements - 109/109 -
- - -
- 94.11% - Branches - 16/17 -
- - -
- 100% - Functions - 4/4 -
- - -
- 100% - Lines - 109/109 -
- - -
-

- 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 -1101x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -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 from 'styled-components';
- 
-// Style constants
-const BACKGROUND_COLOR = '#f5f5f5';
-const BORDER_COLOR = 'rgba(0, 0, 0, 0.1)';
- 
-// Common styles
-const commonStyles = `
-  align-items: center;
-  background: ${BACKGROUND_COLOR};
-  border-radius: 4px;
-  box-shadow: 0px 1px 1px ${BORDER_COLOR};
-  display: flex;
-  margin: 0;
-  margin-bottom: 0.5rem;
-  padding: 0.25rem 0.5rem;
-  width: 100%;
- 
-  &:last-child {
-    margin-bottom: 0;
-  }
-`;
- 
-// List styles
-export const ListStyle = styled.ul`
-  display: flex;
-  flex-direction: column;
-  justify-content: flex-start;
-  list-style: none;
-  margin: 0;
-  padding: 0;popo
-  width: 100%;
-`;
- 
-// List item styles
-export const ListItemStyle = styled.li<{
-  active?: boolean;
-  selectable?: boolean;
-  theme: Theme;
-}>`
-  ${commonStyles}
-  border: ${(p) =>
-    p.active ? `1px solid ${p.theme.primary}` : '1px solid transparent'};
-  flex-direction: ${(p) => (p.selectable ? 'row' : 'column')};
-  background: ${(p) => p.theme.toolbarBtnBgColor};
-  &:hover {
-    border: 1px solid ${(p) => p.theme.primary};
-    cursor: pointer;
-  }
-  user-select: none;
-`;
- 
-// Title styles
-export const TitleStyle = styled.h1<{ theme: Theme }>`
-  color: ${(p) => p.theme.primary};
-  font-size: 1rem;
-  font-weight: normal;
-  margin: 0.2rem 0;
-  text-align: left;
-  white-space: nowrap;
-`;
- 
-// Title description styles
-export const TitleDescriptionStyle = styled.p<{ theme: Theme }>`
-  font-size: 0.8rem;
-  font-weight: normal;
-  margin: 0;
-  padding: 0.1rem;
-  text-align: left;
-  width: 100%;
-  color: ${(p) => p.theme.cardSubtitleColor};
-`;
- 
-// Checkbox wrapper styles
-export const CheckboxWrapper = styled.span`
-  width: 2rem;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-`;
- 
-// Checkbox styles
-export const CheckboxStyle = styled.span<{ selected?: boolean; theme: Theme }>`
-  align-items: center;
-  background-color: white;
-  ${(p) => !p.selected && `box-shadow: inset 0 0 0 1px ${BORDER_COLOR};`}
-  background: ${(p) => (p.selected ? p.theme.primary : p.theme.toolbarBgColor)};
-  color: #fff;
-  border-radius: 50%;
-  display: flex;
-  height: 1.25rem;
-  justify-content: center;
-  margin-right: 0.25rem;
-  margin-left: 0.1rem;
-  width: 1.25rem;
- 
-  svg {
-    width: 80%;
-    height: 80%;
-  }
-`;
- 
-// Style and description wrapper styles
-export const StyleAndDescription = styled.div<{ selectable?: boolean }>`
-  flex-direction: column;
-  display: flex;
-  width: ${(p) => (p.selectable ? 'calc(100% - 2rem)' : '100%')};
-`;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/components/elements/list/list.tsx.html b/coverage/lcov-report/components/elements/list/list.tsx.html deleted file mode 100644 index 84ffdd4c..00000000 --- a/coverage/lcov-report/components/elements/list/list.tsx.html +++ /dev/null @@ -1,349 +0,0 @@ - - - - - - Code coverage report for components/elements/list/list.tsx - - - - - - - - - -
-
-

All files / components/elements/list list.tsx

-
- -
- 100% - Statements - 88/88 -
- - -
- 100% - Branches - 12/12 -
- - -
- 100% - Functions - 1/1 -
- - -
- 100% - Lines - 88/88 -
- - -
-

- 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 -891x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -8x -8x -8x -8x -8x -8x -8x -8x -5x -10x -10x -5x -8x -8x -8x -8x -2x -4x -2x -2x -2x -2x -2x -2x -2x -2x -2x -2x -2x -2x -2x -8x -8x -8x -8x -2x -2x -2x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -8x -8x -8x -8x -8x -8x -14x -14x -14x -14x -14x -14x -14x -14x -14x -14x -14x -14x -14x -8x -8x -8x -8x -1x -1x -1x - 
// Import necessary dependencies and utilities
-import { getUniqueID } from '@utils/index';
-import {
-  FunctionComponent,
-  startTransition,
-  useCallback,
-  useState,
-} from 'react';
-import { ListItem } from './list-item';
-import { ListModel } from './list.model';
-import { ListStyle } from './list.styles';
- 
-// Define the List component
-const List: FunctionComponent<ListModel> = ({
-  items,
-  theme,
-  onClick,
-  activeItemIndex,
-  multiSelectable = false,
-}) => {
-  // Initialize state for list items
-  const [listItems, setListItems] = useState(() =>
-    items.map((item) => ({
-      id: getUniqueID(),
-      ...item,
-    })),
-  );
- 
-  // Callback function for handling checkbox selection
-  const onChecked = useCallback((id: string) => {
-    const updatedItems = listItems.map((item) => {
-      if (item.id === id) {
-        return {
-          ...item,
-          selected: true,
-        };
-      } else {
-        return {
-          ...item,
-          selected: false,
-        };
-      }
-    });
- 
-    setListItems(updatedItems);
-  }, []);
- 
-  // Callback function for handling item click
-  const handleClick = useCallback((id: string) => {
-    onChecked(id);
- 
-    if (multiSelectable) {
-      const item = listItems.find((item) => item.id === id);
- 
-      if (item.onSelect) {
-        startTransition(() => {
-          item.onSelect();
-        });
-      }
-    } else {
-      onClick?.(id);
-    }
-  }, []);
- 
-  // Render the List component
-  return (
-    <ListStyle>
-      {listItems?.map(({ title, id, description, selected }, index) => {
-        return (
-          <ListItem
-            title={title}
-            id={id}
-            key={id}
-            description={description}
-            theme={theme}
-            onClick={handleClick}
-            selectable={multiSelectable}
-            selected={selected}
-            active={activeItemIndex === index}
-          />
-        );
-      })}
-    </ListStyle>
-  );
-};
- 
-// Export the List component
-export { List };
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/components/elements/popover/index.html b/coverage/lcov-report/components/elements/popover/index.html deleted file mode 100644 index 4ce93317..00000000 --- a/coverage/lcov-report/components/elements/popover/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for components/elements/popover - - - - - - - - - -
-
-

All files components/elements/popover

-
- -
- 97.76% - Statements - 175/179 -
- - -
- 92.3% - Branches - 24/26 -
- - -
- 88.88% - Functions - 8/9 -
- - -
- 97.76% - Lines - 175/179 -
- - -
-

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

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.tsx -
-
95.29%81/85100%9/975%3/495.29%81/85
popover.styles.ts -
-
100%94/9488.23%15/17100%5/5100%94/94
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/components/elements/popover/index.tsx.html b/coverage/lcov-report/components/elements/popover/index.tsx.html deleted file mode 100644 index 2056c92b..00000000 --- a/coverage/lcov-report/components/elements/popover/index.tsx.html +++ /dev/null @@ -1,340 +0,0 @@ - - - - - - Code coverage report for components/elements/popover/index.tsx - - - - - - - - - -
-
-

All files / components/elements/popover index.tsx

-
- -
- 95.29% - Statements - 81/85 -
- - -
- 100% - Branches - 9/9 -
- - -
- 75% - Functions - 3/4 -
- - -
- 95.29% - Lines - 81/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 -31x -31x -31x -31x -31x -31x -31x -31x -31x -31x -31x -31x -31x -31x -31x -31x -  -  -  -  -31x -31x -31x -31x -17x -5x -5x -5x -12x -12x -12x -31x -31x -31x -31x -31x -31x -31x -31x -31x -31x -31x -31x -31x -31x -31x -31x -31x -31x -31x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -18x -31x -31x -31x -1x -1x - 
import React, { FunctionComponent, useEffect, useRef, useState } from 'react';
-import useCloseClickOutside from 'src/components/effects/useCloseClickOutside';
-import { ChevronDown, CloseIcon } from 'src/components/icons';
-import { PopOverModel } from './popover.model';
-import {
-  CloseButton,
-  Content,
-  Header,
-  PopoverHolder,
-  PopoverWrapper,
-  Selecter,
-  SelecterIcon,
-  SelecterLabel,
-} from './popover.styles';
- 
-const PopOver: FunctionComponent<PopOverModel> = ({
-  children,
-  position,
-  placeholder,
-  theme,
-  width = '300px',
-  isDarkMode = false,
-}) => {
-  const [open, setOpen] = useState(false);
-  const [isVisible, setIsVisible] = useState(false);
-  const ref = useRef<HTMLDivElement>(null);
- 
-  const toggleOpen = () => setOpen(!open);
- 
-  const closePopover = () => setOpen(false);
- 
-  const handleKeyPress = (ev: React.KeyboardEvent) => {
-    if (ev.key === 'Enter') {
-      toggleOpen();
-    }
-  };
- 
-  useCloseClickOutside(ref, closePopover);
- 
-  useEffect(() => {
-    if (open) {
-      setTimeout(() => {
-        setIsVisible(true);
-      }, 10);
-    } else {
-      setIsVisible(false);
-    }
-  }, [open]);
- 
-  return (
-    <PopoverWrapper ref={ref}>
-      <Selecter
-        role="button"
-        onClick={toggleOpen}
-        theme={theme}
-        open={open}
-        isDarkMode={isDarkMode}
-        tabIndex={0}
-        onKeyUp={handleKeyPress}
-      >
-        <SelecterIcon theme={theme} open={open}>
-          <ChevronDown />
-        </SelecterIcon>
-        <SelecterLabel>{placeholder}</SelecterLabel>
-      </Selecter>
-      {open ? (
-        <PopoverHolder
-          position={position}
-          style={{ width: `${width}` }}
-          theme={theme}
-          visible={isVisible}
-        >
-          <Header>
-            <CloseButton theme={theme} onClick={closePopover}>
-              <CloseIcon />
-            </CloseButton>
-          </Header>
-          <Content>{children}</Content>
-        </PopoverHolder>
-      ) : null}
-    </PopoverWrapper>
-  );
-};
- 
-export { PopOver };
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/components/elements/popover/popover.styles.ts.html b/coverage/lcov-report/components/elements/popover/popover.styles.ts.html deleted file mode 100644 index 01f11ae5..00000000 --- a/coverage/lcov-report/components/elements/popover/popover.styles.ts.html +++ /dev/null @@ -1,367 +0,0 @@ - - - - - - Code coverage report for components/elements/popover/popover.styles.ts - - - - - - - - - -
-
-

All files / components/elements/popover popover.styles.ts

-
- -
- 100% - Statements - 94/94 -
- - -
- 88.23% - Branches - 15/17 -
- - -
- 100% - Functions - 5/5 -
- - -
- 100% - Lines - 94/94 -
- - -
-

- 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 -951x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -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 -15x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -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 from 'styled-components';
- 
-export const PopoverWrapper = styled.div``;
- 
-export const PopoverHolder = styled.div<{
-  position?: 'top' | 'bottom';
-  theme?: Theme;
-  visible?: boolean;
-}>`
-  align-items: flex-start;
-  background: ${({ theme }) => theme.toolbarBgColor};
-  background:;
-  border-radius: 6px;
-  box-shadow: 0px 5px 16px rgba(0, 0, 0, 0.5);
-  display: flex;
-  flex-direction: column;
-  justify-content: space-between;
-  max-height: 500px;
-  overflow-y: auto;
-  padding: 0.5rem;
-  position: absolute;
-  ${(p) => (p.position === 'bottom' ? `bottom: 3.5rem` : `top: 3.5rem`)};
-  width: 100%;
-  z-index: 100;
-  opacity: ${({ visible }) => (visible ? 1 : 0)};
-  transition: opacity 0.1s ease-in-out;
-`;
- 
-export const Selecter = styled.div<{
-  isDarkMode: boolean;
-  open?: boolean;
-  theme: Theme;
-}>`
-  align-items: center;
-  background: ${({ theme }) => theme.toolbarBtnBgColor};
-  color: ${({ theme }) => theme.toolbarTextColor};
-  border-radius: 25px;
-  box-shadow: ${({ open, isDarkMode }) =>
-    !open
-      ? `0px 1px 1px rgba(0, 0, 0, ${isDarkMode ? '0.85' : '0.2'})`
-      : 'inset 0 0 1px 1px rgba(0, 0, 0, 0.2)'};
-  cursor: pointer;
-  display: flex;
-  font-weight: normal;
-  justify-content: space-between;
-  padding: 0.4rem 0.75rem 0.4rem 0.5rem;
-  user-select: none;
-`;
- 
-export const SelecterIcon = styled.span<{ open: boolean; theme: Theme }>`
-  align-items: center;
-  color: ${({ theme }) => theme.primary};
-  display: flex;
-  height: 1.25rem;
-  justify-content: center;
-  width: 1.25rem;
-  transform: ${({ open }) => (open ? 'rotate(180deg)' : 'rotate(0deg)')};
-  transition: transform 0.2s ease-in-out;
- 
-  & svg {
-    height: 100%;
-    width: 100%;
-  }
-`;
- 
-export const SelecterLabel = styled.span`
-  font-size: 0.9rem;
-  text-align: left;
-`;
- 
-export const Header = styled.div`
-  height: 30px;
-  width: 100%;
-`;
- 
-export const Content = styled.div`
-  height: calc(100% - 30px);
-  overflow-y: auto;
-  padding: 0.25rem;
-  width: calc(100% - 0rem);
-`;
- 
-export const CloseButton = styled.button<{ theme: Theme }>`
-  align-items: center;
-  background: transparent;
-  border: none;
-  color: ${({ theme }) => theme.primary};
-  cursor: pointer;
-  display: flex;
-  justify-content: center;
-  margin-bottom: 0.5rem;
-  margin-left: auto;
-`;
- 
- -
-
- - - - - - - - \ 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 deleted file mode 100644 index 788e08f4..00000000 --- a/coverage/lcov-report/components/timeline-elements/memoized/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - Code coverage report for components/timeline-elements/memoized - - - - - - - - - -
-
-

All files components/timeline-elements/memoized

-
- -
- 68.39% - Statements - 119/174 -
- - -
- 80% - Branches - 12/15 -
- - -
- 100% - Functions - 1/1 -
- - -
- 68.39% - Lines - 119/174 -
- - -
-

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

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.tsx -
-
68.39%119/17480%12/15100%1/168.39%119/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 deleted file mode 100644 index 1d0fcdc7..00000000 --- a/coverage/lcov-report/components/timeline-elements/memoized/index.tsx.html +++ /dev/null @@ -1,607 +0,0 @@ - - - - - - Code coverage report for components/timeline-elements/memoized/index.tsx - - - - - - - - - -
-
-

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

-
- -
- 68.39% - Statements - 119/174 -
- - -
- 80% - Branches - 12/15 -
- - -
- 100% - Functions - 1/1 -
- - -
- 68.39% - Lines - 119/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 -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -25x -25x -25x -25x -25x -25x -25x -25x -25x -25x -1x -1x -1x -24x -24x -25x -25x -4x -29x -1x -1x -1x -1x -1x -29x -24x -24x -24x -24x -24x -24x -24x -24x -24x -24x -5x -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 -10x -10x -10x -  -  -10x -10x -10x -  -  -  -  -  -  -  -  -  -  -10x -10x -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 deleted file mode 100644 index c7ad1fa2..00000000 --- a/coverage/lcov-report/components/timeline-elements/timeline-card-content/card-animations.styles.ts.html +++ /dev/null @@ -1,220 +0,0 @@ - - - - - - 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 deleted file mode 100644 index 31ff93a7..00000000 --- a/coverage/lcov-report/components/timeline-elements/timeline-card-content/content-footer.tsx.html +++ /dev/null @@ -1,436 +0,0 @@ - - - - - - Code coverage report for components/timeline-elements/timeline-card-content/content-footer.tsx - - - - - - - - - -
-
-

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

-
- -
- 75.21% - Statements - 88/117 -
- - -
- 75% - Branches - 6/8 -
- - -
- 33.33% - Functions - 1/3 -
- - -
- 75.21% - Lines - 88/117 -
- - -
-

- 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 -1181x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -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 -41x -41x -41x -41x -41x -41x -41x -41x -41x -32x -32x -32x -32x -32x -32x -41x -41x -41x -  -  -  -  -41x -41x -32x -41x -41x -41x -41x -41x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -41x -41x -41x -  -  -  -  -  -  -  -  -41x -41x -41x -37x -37x -37x -37x -37x -41x -41x -41x -41x -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}
-          $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 deleted file mode 100644 index 8cfcce26..00000000 --- a/coverage/lcov-report/components/timeline-elements/timeline-card-content/content-header.tsx.html +++ /dev/null @@ -1,244 +0,0 @@ - - - - - - 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 - 7/7 -
- - -
- 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 -25x -25x -25x -25x -25x -25x -25x -19x -19x -19x -19x -19x -19x -19x -25x -25x -25x -19x -19x -19x -19x -19x -19x -25x -25x -25x -25x -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 deleted file mode 100644 index 4a659579..00000000 --- a/coverage/lcov-report/components/timeline-elements/timeline-card-content/details-text.tsx.html +++ /dev/null @@ -1,283 +0,0 @@ - - - - - - Code coverage report for components/timeline-elements/timeline-card-content/details-text.tsx - - - - - - - - - -
-
-

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

-
- -
- 100% - Statements - 66/66 -
- - -
- 50% - Branches - 1/2 -
- - -
- 100% - Functions - 0/0 -
- - -
- 100% - Lines - 66/66 -
- - -
-

- 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 -671x -1x -1x -1x -1x -1x -1x -1x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -41x -1x -1x -1x -1x -1x - 
import { forwardRef, useContext } from 'react';
-import { GlobalContext } from '../../GlobalContext';
-import { DetailsTextProps } from './details-text.model';
-import { getTextOrContent } from './text-or-content';
-import { TimelineContentDetailsWrapper } from './timeline-card-content.styles';
- 
-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 || (
-            <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 deleted file mode 100644 index aca5e50b..00000000 --- a/coverage/lcov-report/components/timeline-elements/timeline-card-content/index.html +++ /dev/null @@ -1,206 +0,0 @@ - - - - - - Code coverage report for components/timeline-elements/timeline-card-content - - - - - - - - - -
-
-

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

-
- -
- 81.91% - Statements - 1051/1283 -
- - -
- 66.25% - Branches - 106/160 -
- - -
- 83.33% - Functions - 30/36 -
- - -
- 81.91% - Lines - 1051/1283 -
- - -
-

- 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 -
-
75.21%88/11775%6/833.33%1/375.21%88/117
content-header.tsx -
-
100%53/53100%7/7100%0/0100%53/53
details-text.tsx -
-
100%66/6650%1/2100%0/0100%66/66
text-or-content.tsx -
-
90.98%111/12245%9/20100%3/390.98%111/122
timeline-card-content.styles.ts -
-
78.94%330/41867.74%42/6289.65%26/2978.94%330/418
timeline-card-content.tsx -
-
77.48%358/46267.21%41/610%0/177.48%358/462
-
-
-
- - - - - - - - \ 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 deleted file mode 100644 index 103c86a3..00000000 --- a/coverage/lcov-report/components/timeline-elements/timeline-card-content/text-or-content.tsx.html +++ /dev/null @@ -1,451 +0,0 @@ - - - - - - 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

-
- -
- 90.98% - Statements - 111/122 -
- - -
- 45% - Branches - 9/20 -
- - -
- 100% - Functions - 3/3 -
- - -
- 90.98% - Lines - 111/122 -
- - -
-

- 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 -1231x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -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 -1x -1x -1x -1x -1x -1x -1x -73x -73x -73x -73x -73x -73x -73x -41x -41x -41x -41x -41x -41x -  -41x -41x -41x -1x -1x -1x -1x -1x -1x -1x -41x -40x -40x -41x -41x -41x -  -  -  -  -  -41x -41x -41x -35x -35x -35x -35x -35x -35x -35x -35x -6x -41x -41x -41x -41x -41x -73x -73x -73x -73x -73x -73x -1x -1x - 
import { TimelineContentModel } from '@models/TimelineContentModel';
-import { TimelineProps } from '@models/TimelineModel';
-import {
-  ForwardRefExoticComponent,
-  ReactNode,
-  forwardRef,
-  useContext,
-} from 'react';
-import xss from 'xss';
-import { GlobalContext } from '../../GlobalContext';
-import {
-  TimelineContentDetails,
-  TimelineSubContent,
-} from './timeline-card-content.styles';
- 
-// Define the type for the TextOrContentModel
-export type TextOrContentModel = Pick<
-  TimelineContentModel,
-  'timelineContent' | 'theme' | 'detailedText'
-> & {
-  showMore?: boolean;
-};
- 
-// Function to render an array of text
-const renderTextArray: (
-  p: Pick<TimelineProps, 'parseDetailsAsHTML' | 'fontSizes' | 'theme'> & {
-    cardTextClassName: string;
-    detailedText: string[];
-  },
-) => ReactNode = ({
-  fontSizes,
-  parseDetailsAsHTML,
-  theme,
-  detailedText,
-  cardTextClassName,
-}) => {
-  return detailedText.map((text, index) => {
-    const props = parseDetailsAsHTML
-      ? {
-          dangerouslySetInnerHTML: {
-            __html: xss(text),
-          },
-        }
-      : null;
-    return (
-      <TimelineSubContent
-        key={index}
-        fontSize={fontSizes?.cardText}
-        className={cardTextClassName}
-        theme={theme}
-        {...props}
-      >
-        {parseDetailsAsHTML ? null : text}
-      </TimelineSubContent>
-    );
-  });
-};
- 
-// Function to get the TextOrContent component
-const getTextOrContent: (
-  p: TextOrContentModel,
-) => ForwardRefExoticComponent<TextOrContentModel> = ({
-  timelineContent,
-  theme,
-  detailedText,
-  showMore,
-}) => {
-  const TextOrContent = forwardRef<HTMLParagraphElement, TextOrContentModel>(
-    (prop, ref) => {
-      const isTextArray = Array.isArray(detailedText);
-      const { fontSizes, classNames, parseDetailsAsHTML } =
-        useContext(GlobalContext);
- 
-      const renderTimelineContent = () => {
-        if (timelineContent) {
-          return <div ref={ref}>{timelineContent}</div>;
-        } else {
-          let textContent = null;
-          if (isTextArray) {
-            textContent = renderTextArray({
-              cardTextClassName: classNames?.cardText,
-              detailedText,
-              fontSizes,
-              parseDetailsAsHTML,
-              theme,
-            });
-          } else {
-            textContent = parseDetailsAsHTML ? xss(detailedText) : detailedText;
-          }
- 
-          const textContentProps =
-            parseDetailsAsHTML && !isTextArray
-              ? {
-                  dangerouslySetInnerHTML: {
-                    __html: xss(textContent),
-                  },
-                }
-              : {};
- 
-          return textContent ? (
-            <TimelineContentDetails
-              className={showMore ? 'active' : ''}
-              ref={ref}
-              theme={theme}
-              {...textContentProps}
-            >
-              {parseDetailsAsHTML && !isTextArray ? null : textContent}
-            </TimelineContentDetails>
-          ) : null;
-        }
-      };
- 
-      return renderTimelineContent();
-    },
-  );
- 
-  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 deleted file mode 100644 index d356bfb0..00000000 --- a/coverage/lcov-report/components/timeline-elements/timeline-card-content/timeline-card-content.styles.ts.html +++ /dev/null @@ -1,1339 +0,0 @@ - - - - - - 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

-
- -
- 78.94% - Statements - 330/418 -
- - -
- 67.74% - Branches - 42/62 -
- - -
- 89.65% - Functions - 26/29 -
- - -
- 78.94% - Lines - 330/418 -
- - -
-

- 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 -4191x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -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 -1x -1x -1x -1x -1x -1x -1x -1x -41x -  -1x -1x -1x -1x -1x -1x -1x -41x -  -  -  -  -  -  -  -  -  -  -  -  -  -41x -41x -41x -41x -1x -1x -1x -41x -  -  -41x -41x -1x -1x -1x -1x -1x -1x -1x -1x -1x -41x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -41x -1x -1x -41x -  -  -  -  -  -  -41x -41x -  -  -  -  -41x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -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 -37x -1x -1x -41x -41x -41x -41x -41x -41x -41x -  -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -41x -41x -41x -41x -41x -41x -41x -  -  -  -  -  -  -  -  -  -41x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -  -  -  -  -  -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -  -  -  -  -  -  -  -1x -1x -  -  -  -  -  -  -  -  -  -  -  -  -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -  -  -  -  -1x -1x -1x -1x -1x -1x -1x -1x -1x -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;
-    $customContent?: boolean;
-    $highlight?: boolean;
-    $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: 8px;
-  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;
-  ${(p) =>
-    p.$customContent
-      ? `height: ${p.$minHeight}px;`
-      : `min-height: ${p.$minHeight}px;`}
-  position: relative;
-  text-align: left;
-  width: 98%;
-  z-index: 0;
- 
-  ${(p) =>
-    p.$highlight
-      ? css`
-          &:hover {
-            filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.3)) brightness(1.05);
-
-            &::before {
-              content: '';
-              height: 100%;
-              left: 0;
-              position: absolute;
-              top: 0;
-              width: 100%;
-              z-index: -1;
-              border: 2px solid ${p.theme.primary};
-              border-radius: 4px;
-            }
-          }
-        `
-      : css``}
- 
-  ${(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;`
-      : 'height: 100%'}
-  ${({
-    $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;
- 
-  ${(p) => (p.$customContent ? `height: 100%;` : '')}
- 
-  $${({
-    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.progress<{
-  $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;
-  border: 0;
- 
-  ${(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 deleted file mode 100644 index cb96b44b..00000000 --- a/coverage/lcov-report/components/timeline-elements/timeline-card-content/timeline-card-content.tsx.html +++ /dev/null @@ -1,1471 +0,0 @@ - - - - - - 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

-
- -
- 77.48% - Statements - 358/462 -
- - -
- 67.21% - Branches - 41/61 -
- - -
- 0% - Functions - 0/1 -
- - -
- 77.48% - Lines - 358/462 -
- - -
-

- 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 -4631x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -32x -71x -71x -71x -71x -71x -71x -32x -71x -71x -71x -32x -32x -32x -32x -32x -71x -71x -71x -32x -6x -6x -71x -71x -71x -71x -82x -41x -41x -41x -82x -  -  -41x -41x -41x -41x -41x -41x -82x -71x -71x -71x -71x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -71x -71x -71x -32x -  -  -71x -71x -71x -71x -  -  -  -  -  -  -  -  -  -  -  -  -  -71x -71x -71x -71x -  -  -  -  -  -  -  -  -  -  -  -  -  -71x -71x -71x -32x -  -  -32x -32x -  -  -  -32x -32x -32x -  -  -32x -32x -32x -32x -71x -71x -71x -41x -  -  -71x -71x -71x -32x -  -  -71x -71x -71x -32x -71x -71x -71x -71x -71x -71x -32x -71x -71x -71x -71x -71x -71x -71x -71x -  -  -  -  -  -  -  -  -  -  -  -71x -71x -71x -71x -71x -32x -32x -32x -32x -71x -71x -71x -71x -71x -32x -32x -28x -4x -32x -32x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -32x -  -32x -32x -32x -  -  -71x -71x -71x -  -  -  -  -71x -71x -71x -32x -  -  -  -  -  -  -32x -71x -71x -71x -71x -71x -71x -71x -71x -32x -32x -  -32x -  -32x -71x -71x -71x -71x -32x -71x -71x -71x -32x -32x -32x -32x -32x -32x -71x -71x -71x -32x -32x -32x -  -  -  -  -  -  -  -  -  -  -32x -32x -32x -32x -32x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -64x -64x -64x -64x -64x -64x -64x -7x -71x -71x -71x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -  -  -  -  -  -  -  -  -  -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -71x -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 { DetailsText } from './details-text';
-import { getTextOrContent } from './text-or-content';
-import { TimelineItemContentWrapper } from './timeline-card-content.styles';
- 
-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<HTMLProgressElement | 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,
-        disableInteraction,
-        highlightCardsOnHover,
-      } = 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 && !disableInteraction) {
-          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}
-          $highlight={highlightCardsOnHover}
-          data-testid="timeline-card-content"
-          $customContent={!!customContent}
-        >
-          {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 deleted file mode 100644 index ec3f6d9b..00000000 --- a/coverage/lcov-report/components/timeline-elements/timeline-card-media/index.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - Code coverage report for components/timeline-elements/timeline-card-media - - - - - - - - - -
-
-

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

-
- -
- 82.04% - Statements - 571/696 -
- - -
- 53.84% - Branches - 42/78 -
- - -
- 66.66% - Functions - 14/21 -
- - -
- 82.04% - Lines - 571/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%0/0100%0/0100%48/48
timeline-card-media.styles.ts -
-
79.41%189/23847.22%17/3676.47%13/1779.41%189/238
timeline-card-media.tsx -
-
81.46%334/41059.52%25/4225%1/481.46%334/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 deleted file mode 100644 index f25174c6..00000000 --- a/coverage/lcov-report/components/timeline-elements/timeline-card-media/timeline-card-media-buttons.tsx.html +++ /dev/null @@ -1,229 +0,0 @@ - - - - - - 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 - 0/0 -
- - -
- 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 deleted file mode 100644 index c23b9868..00000000 --- a/coverage/lcov-report/components/timeline-elements/timeline-card-media/timeline-card-media.styles.ts.html +++ /dev/null @@ -1,799 +0,0 @@ - - - - - - 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

-
- -
- 79.41% - Statements - 189/238 -
- - -
- 47.22% - Branches - 17/36 -
- - -
- 76.47% - Functions - 13/17 -
- - -
- 79.41% - Lines - 189/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 -10x -  -  -  -10x -10x -  -  -  -10x -10x -10x -10x -10x -10x -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 -10x -10x -10x -10x -10x -10x -10x -1x -1x -1x -1x -1x -10x -  -  -  -  -  -  -10x -10x -  -  -  -  -  -  -10x -10x -  -  -  -  -  -  -10x -1x -1x -10x -  -  -  -  -  -  -  -  -  -  -10x -10x -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 - 
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 deleted file mode 100644 index c19ab6e6..00000000 --- a/coverage/lcov-report/components/timeline-elements/timeline-card-media/timeline-card-media.tsx.html +++ /dev/null @@ -1,1315 +0,0 @@ - - - - - - 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

-
- -
- 81.46% - Statements - 334/410 -
- - -
- 59.52% - Branches - 25/42 -
- - -
- 25% - Functions - 1/4 -
- - -
- 81.46% - Lines - 334/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 -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -  -  -10x -10x -6x -6x -10x -4x -4x -4x -10x -10x -10x -10x -  -10x -10x -10x -10x -  -  -  -  -  -  -  -  -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -  -  -  -  -  -10x -10x -  -  -  -  -  -10x -10x -  -  -  -  -  -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -  -  -  -10x -10x -10x -10x -10x -  -  -  -  -  -10x -10x -10x -10x -10x -10x -10x -10x -  -  -  -  -  -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -  -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -  -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -1x -  -  -  -  -10x -10x -10x -9x -9x -  -  -10x -10x -10x -  -  -  -  -  -  -  -  -10x -10x -10x -  -  -  -  -  -  -  -10x -10x -10x -10x -10x -10x -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}
-        data-testid="timeline-card-content-video"
-      />
-    );
- 
-    // 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}
-        fit={mediaSettings?.imageFit}
-        data-testid="timeline-card-content-image"
-      />
-    );
-  }, [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}
-            $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 deleted file mode 100644 index bce4cff5..00000000 --- a/coverage/lcov-report/components/timeline-elements/timeline-card/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for components/timeline-elements/timeline-card - - - - - - - - - -
-
-

All files components/timeline-elements/timeline-card

-
- -
- 96.82% - Statements - 335/346 -
- - -
- 75% - Branches - 33/44 -
- - -
- 91.66% - Functions - 11/12 -
- - -
- 96.82% - Lines - 335/346 -
- - -
-

- 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.42%189/19686.36%19/2266.66%2/396.42%189/196
-
-
-
- - - - - - - - \ 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 deleted file mode 100644 index 42ca8849..00000000 --- a/coverage/lcov-report/components/timeline-elements/timeline-card/timeline-horizontal-card.styles.ts.html +++ /dev/null @@ -1,535 +0,0 @@ - - - - - - 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 -58x -58x -58x -  -  -  -  -58x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -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 deleted file mode 100644 index 51f88771..00000000 --- a/coverage/lcov-report/components/timeline-elements/timeline-card/timeline-horizontal-card.tsx.html +++ /dev/null @@ -1,673 +0,0 @@ - - - - - - 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.42% - Statements - 189/196 -
- - -
- 86.36% - Branches - 19/22 -
- - -
- 66.66% - Functions - 2/3 -
- - -
- 96.42% - Lines - 189/196 -
- - -
-

- 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 -1971x -1x -1x -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 -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -  -  -  -  -9x -9x -9x -6x -6x -6x -6x -6x -6x -6x -6x -  -  -  -6x -6x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -6x -6x -6x -6x -6x -6x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -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,
-    disableInteraction,
-  } = 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 && !disableInteraction}
-        $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 && !disableInteraction}
-          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 deleted file mode 100644 index 3a7b13c5..00000000 --- a/coverage/lcov-report/components/timeline-elements/timeline-control/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for components/timeline-elements/timeline-control - - - - - - - - - -
-
-

All files components/timeline-elements/timeline-control

-
- -
- 98.1% - Statements - 310/316 -
- - -
- 53.19% - Branches - 25/47 -
- - -
- 100% - Functions - 3/3 -
- - -
- 98.1% - Lines - 310/316 -
- - -
-

- 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%89/89100%10/10100%2/2100%89/89
timeline-control.tsx -
-
97.35%221/22740.54%15/37100%1/197.35%221/227
-
-
-
- - - - - - - - \ 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 deleted file mode 100644 index 1c2134b3..00000000 --- a/coverage/lcov-report/components/timeline-elements/timeline-control/timeline-control.styles.ts.html +++ /dev/null @@ -1,352 +0,0 @@ - - - - - - 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 - 89/89 -
- - -
- 100% - Branches - 10/10 -
- - -
- 100% - Functions - 2/2 -
- - -
- 100% - Lines - 89/89 -
- - -
-

- 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 -901x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -60x -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 -60x -40x -40x -60x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -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 }>`
-  border-radius: 25px;
-  display: flex;
-  list-style: none;
-  padding: 0.25em 0.25em;
-  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
-  background: ${(p) => p.theme.toolbarBtnBgColor};
-`;
- 
-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.5) grayscale(95%);'
-      : ''};
-`;
- 
-export const TimelineNavButton = styled.button<{
-  mode?: TimelineMode;
-  rotate?: 'TRUE' | 'FALSE';
-  theme?: Theme;
-}>`
-  align-items: center;
-  background: ${(p) => p.theme.primary};
-  filter: brightness(1.25);
-  border-radius: 50%;
-  border: 0;
-  color: #fff;
-  cursor: pointer;
-  display: flex;
-  height: 24px;
-  justify-content: center;
-  margin: 0 0.2em;
-  padding: 0;
-  transition: all 0.1s ease-in;
-  width: 24px;
- 
-  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: 65%;
-    height: 65%;
-  }
-`;
- 
-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: 3em;
-  justify-content: center;
-  margin-left: 0.5em;
-  width: 3em;
-  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 deleted file mode 100644 index 74745b37..00000000 --- a/coverage/lcov-report/components/timeline-elements/timeline-control/timeline-control.tsx.html +++ /dev/null @@ -1,766 +0,0 @@ - - - - - - Code coverage report for components/timeline-elements/timeline-control/timeline-control.tsx - - - - - - - - - -
-
-

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

-
- -
- 97.35% - Statements - 221/227 -
- - -
- 40.54% - Branches - 15/37 -
- - -
- 100% - Functions - 1/1 -
- - -
- 97.35% - Lines - 221/227 -
- - -
-

- 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 -2281x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -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 -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -  -  -  -  -  -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -  -10x -10x -10x -10x -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,
-    disableInteraction,
-  } = 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)}
-        theme={theme}
-      >
-        {/* jump to first */}
-        {disableInteraction ? null : (
-          <>
-            <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 deleted file mode 100644 index 358026d3..00000000 --- a/coverage/lcov-report/components/timeline-elements/timeline-item-title/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for components/timeline-elements/timeline-item-title - - - - - - - - - -
-
-

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

-
- -
- 100% - Statements - 73/73 -
- - -
- 82.35% - Branches - 14/17 -
- - -
- 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/2476.92%10/13100%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 deleted file mode 100644 index b6489eb0..00000000 --- a/coverage/lcov-report/components/timeline-elements/timeline-item-title/timeline-card-title.styles.ts.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - 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 -
- - -
- 76.92% - Branches - 10/13 -
- - -
- 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 deleted file mode 100644 index 7dfc3456..00000000 --- a/coverage/lcov-report/components/timeline-elements/timeline-item-title/timeline-card-title.tsx.html +++ /dev/null @@ -1,232 +0,0 @@ - - - - - - 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 -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -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-horizontal/index.html b/coverage/lcov-report/components/timeline-horizontal/index.html deleted file mode 100644 index 3020687e..00000000 --- a/coverage/lcov-report/components/timeline-horizontal/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for components/timeline-horizontal - - - - - - - - - -
-
-

All files components/timeline-horizontal

-
- -
- 100% - Statements - 138/138 -
- - -
- 55.55% - Branches - 5/9 -
- - -
- 100% - Functions - 1/1 -
- - -
- 100% - Lines - 138/138 -
- - -
-

- 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/3566.66%2/3100%0/0100%35/35
timeline-horizontal.tsx -
-
100%103/10350%3/6100%1/1100%103/103
-
-
-
- - - - - - - - \ 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 deleted file mode 100644 index 8325d355..00000000 --- a/coverage/lcov-report/components/timeline-horizontal/timeline-horizontal.styles.ts.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - - - Code coverage report for components/timeline-horizontal/timeline-horizontal.styles.ts - - - - - - - - - -
-
-

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

-
- -
- 100% - Statements - 35/35 -
- - -
- 66.66% - Branches - 2/3 -
- - -
- 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 deleted file mode 100644 index 6f9803d3..00000000 --- a/coverage/lcov-report/components/timeline-horizontal/timeline-horizontal.tsx.html +++ /dev/null @@ -1,394 +0,0 @@ - - - - - - Code coverage report for components/timeline-horizontal/timeline-horizontal.tsx - - - - - - - - - -
-
-

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

-
- -
- 100% - Statements - 103/103 -
- - -
- 50% - Branches - 3/6 -
- - -
- 100% - Functions - 1/1 -
- - -
- 100% - Lines - 103/103 -
- - -
-

- 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 -1041x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -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 -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);
- 
-  console.log('showing', showAllCardsHorizontal);
- 
-  // 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 deleted file mode 100644 index 001088b9..00000000 --- a/coverage/lcov-report/components/timeline-vertical/index.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - Code coverage report for components/timeline-vertical - - - - - - - - - -
-
-

All files components/timeline-vertical

-
- -
- 92.97% - Statements - 635/683 -
- - -
- 59.09% - Branches - 39/66 -
- - -
- 90.9% - Functions - 10/11 -
- - -
- 92.97% - Lines - 635/683 -
- - -
-

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

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
timeline-point.tsx -
-
92.64%126/13663.63%7/110%0/192.64%126/136
timeline-vertical-item.tsx -
-
96.17%226/23543.75%7/16100%1/196.17%226/235
timeline-vertical-shape.styles.ts -
-
100%53/5362.5%5/8100%3/3100%53/53
timeline-vertical.styles.ts -
-
85.41%123/14457.14%12/21100%5/585.41%123/144
timeline-vertical.tsx -
-
93.04%107/11580%8/10100%1/193.04%107/115
-
-
-
- - - - - - - - \ 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 deleted file mode 100644 index 9bd53269..00000000 --- a/coverage/lcov-report/components/timeline-vertical/timeline-point.tsx.html +++ /dev/null @@ -1,493 +0,0 @@ - - - - - - Code coverage report for components/timeline-vertical/timeline-point.tsx - - - - - - - - - -
-
-

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

-
- -
- 92.64% - Statements - 126/136 -
- - -
- 63.63% - Branches - 7/11 -
- - -
- 0% - Functions - 0/1 -
- - -
- 92.64% - Lines - 126/136 -
- - -
-

- 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 -1371x -1x -1x -1x -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 -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 -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<HTMLButtonElement>(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"
-        $cardLess={cardLess}
-      >
-        {/* {!disableTimelinePoint ? ( */}
-        <TimelinePointContainer
-          className={`${className} timeline-vertical-circle`}
-          {...clickHandlerProps}
-          ref={circleRef}
-          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 deleted file mode 100644 index d061808d..00000000 --- a/coverage/lcov-report/components/timeline-vertical/timeline-vertical-item.tsx.html +++ /dev/null @@ -1,790 +0,0 @@ - - - - - - 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 -
- - -
- 43.75% - Branches - 7/16 -
- - -
- 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 -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -  -  -  -  -  -29x -29x -29x -29x -29x -  -  -  -29x -29x -29x -29x -20x -20x -20x -20x -20x -20x -20x -20x -20x -20x -20x -20x -20x -20x -20x -20x -20x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -20x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -  -29x -29x -29x -29x -29x -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<HTMLLIElement>(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,
-    disableInteraction,
-  } = 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={!alternateCards && flipLayout}
-      >
-        <TimelineItemTitle
-          title={title}
-          active={active && !disableInteraction}
-          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}
-      $isNested={isNested}
-      theme={theme}
-    >
-      {/* title */}
-      {!isNested ? Title : null}
- 
-      {/* card section */}
-      <TimelineCardContentWrapper
-        className={contentClass}
-        $alternateCards={alternateCards}
-        $noTitle={!title}
-        $flip={!alternateCards && 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={!alternateCards && 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 deleted file mode 100644 index 595e2256..00000000 --- a/coverage/lcov-report/components/timeline-vertical/timeline-vertical-shape.styles.ts.html +++ /dev/null @@ -1,244 +0,0 @@ - - - - - - Code coverage report for components/timeline-vertical/timeline-vertical-shape.styles.ts - - - - - - - - - -
-
-

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

-
- -
- 100% - Statements - 53/53 -
- - -
- 62.5% - Branches - 5/8 -
- - -
- 100% - Functions - 3/3 -
- - -
- 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 -1x -1x -1x -1x -1x -1x -1x -1x -1x -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: 5%;
- 
-  &.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.button<{ $hide?: boolean }>`
-  position: relative;
-  z-index: 1;
-  visibility: ${(p) => (p.$hide ? 'hidden' : 'visible')};
-  background: none;
-  border: 0;
-`;
- 
- -
-
- - - - - - - - \ 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 deleted file mode 100644 index ddaa3b75..00000000 --- a/coverage/lcov-report/components/timeline-vertical/timeline-vertical.styles.ts.html +++ /dev/null @@ -1,517 +0,0 @@ - - - - - - Code coverage report for components/timeline-vertical/timeline-vertical.styles.ts - - - - - - - - - -
-
-

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

-
- -
- 85.41% - Statements - 123/144 -
- - -
- 57.14% - Branches - 12/21 -
- - -
- 100% - Functions - 5/5 -
- - -
- 85.41% - Lines - 123/144 -
- - -
-

- 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 -1451x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -29x -  -  -  -  -  -  -  -  -  -29x -29x -29x -29x -29x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -29x -21x -29x -  -8x -8x -8x -29x -1x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -29x -  -  -  -  -  -  -  -  -  -  -29x -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 -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.li<{
-  $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;
-  list-style: none;
- 
-  &.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: 85%;`;
-    }
-  }}
-  ${(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: 10%')};
- 
-  &.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 deleted file mode 100644 index 0ff3fe6b..00000000 --- a/coverage/lcov-report/components/timeline-vertical/timeline-vertical.tsx.html +++ /dev/null @@ -1,430 +0,0 @@ - - - - - - Code coverage report for components/timeline-vertical/timeline-vertical.tsx - - - - - - - - - -
-
-

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

-
- -
- 93.04% - Statements - 107/115 -
- - -
- 80% - Branches - 8/10 -
- - -
- 100% - Functions - 1/1 -
- - -
- 93.04% - Lines - 107/115 -
- - -
-

- 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 -1161x -1x -1x -1x -1x -1x -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 -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -  -  -  -  -  -  -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -9x -27x -27x -27x -27x -21x -27x -6x -6x -27x -27x -27x -  -27x -27x -27x -  -27x -9x -18x -27x -27x -27x -27x -27x -27x -27x -27x -27x -27x -27x -27x -27x -27x -27x -27x -27x -27x -27x -27x -9x -9x -9x -9x -1x -1x -1x -1x - 
import { TimelineVerticalModel } from '@models/TimelineVerticalModel';
-import React, { useCallback } from 'react';
-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(() => {}, []);
- 
-  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 deleted file mode 100644 index 54d61fd8..00000000 --- a/coverage/lcov-report/components/timeline/index.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - Code coverage report for components/timeline - - - - - - - - - -
-
-

All files components/timeline

-
- -
- 82.24% - Statements - 741/901 -
- - -
- 71.95% - Branches - 59/82 -
- - -
- 40.74% - Functions - 11/27 -
- - -
- 82.24% - Lines - 741/901 -
- - -
-

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

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
timeline-popover-elements.tsx -
-
97.03%131/135100%10/1042.85%3/797.03%131/135
timeline-toolbar.tsx -
-
86.84%99/11460%6/1025%1/486.84%99/114
timeline.style.ts -
-
95.06%154/16257.14%12/21100%5/595.06%154/162
timeline.tsx -
-
72.85%357/49075.6%31/4118.18%2/1172.85%357/490
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline/timeline-popover-elements.tsx.html b/coverage/lcov-report/components/timeline/timeline-popover-elements.tsx.html deleted file mode 100644 index df265895..00000000 --- a/coverage/lcov-report/components/timeline/timeline-popover-elements.tsx.html +++ /dev/null @@ -1,490 +0,0 @@ - - - - - - Code coverage report for components/timeline/timeline-popover-elements.tsx - - - - - - - - - -
-
-

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

-
- -
- 97.03% - Statements - 131/135 -
- - -
- 100% - Branches - 10/10 -
- - -
- 42.85% - Functions - 3/7 -
- - -
- 97.03% - Lines - 131/135 -
- - -
-

- 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 -1361x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -15x -15x -15x -15x -15x -15x -15x -15x -15x -15x -15x -15x -15x -15x -15x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -15x -15x -15x -15x -15x -15x -10x -10x -10x -  -  -10x -10x -10x -10x -10x -10x -  -  -10x -10x -10x -10x -15x -15x -15x -15x -15x -15x -15x -15x -15x -15x -15x -15x -15x -2x -11x -15x -15x -15x -15x -15x -15x -15x -1x -1x -2x -2x -2x -2x -2x -2x -2x -2x -2x -2x -2x -2x -2x -2x -2x -2x -2x -2x -4x -4x -4x -4x -4x -4x -2x -2x -2x -2x -2x -2x -2x -1x -1x - 
import { Theme } from '@models/Theme';
-import { TimelineMode } from '@models/TimelineModel';
-import { FunctionComponent, useContext, useMemo } from 'react';
-import { GlobalContext } from '../GlobalContext';
-import { List } from '../elements/list/list';
-import { ListItemModel } from '../elements/list/list.model';
-import { PopOver } from '../elements/popover';
- 
-type LayoutSwitcherProp = {
-  initialTimelineMode?: TimelineMode | 'HORIZONTAL_ALL';
-  isDarkMode: boolean;
-  mode?: TimelineMode;
-  onUpdateTimelineMode: (s: string) => void;
-  position: 'top' | 'bottom';
-  theme: Theme;
-};
- 
-type QuickJumpProp = {
-  activeItem: number;
-  isDarkMode: boolean;
-  items: ListItemModel[];
-  onActivateItem: (id: string) => void;
-  position: 'top' | 'bottom';
-  theme: Theme;
-};
- 
-const LayoutSwitcher: FunctionComponent<LayoutSwitcherProp> = ({
-  onUpdateTimelineMode,
-  theme,
-  mode,
-  isDarkMode,
-  position,
-}: LayoutSwitcherProp) => {
-  const { showAllCardsHorizontal, buttonTexts } = useContext(GlobalContext);
- 
-  const activeTimelineMode = useMemo(
-    () => mode,
-    [showAllCardsHorizontal, mode],
-  );
- 
-  const verticalItems = useMemo(
-    () => [
-      {
-        id: 'VERTICAL',
-        onSelect: () => onUpdateTimelineMode('VERTICAL'),
-        selected: activeTimelineMode === 'VERTICAL',
-        title: 'Default',
-      },
-      {
-        id: 'VERTICAL_ALTERNATING',
-        onSelect: () => onUpdateTimelineMode('VERTICAL_ALTERNATING'),
-        selected: activeTimelineMode === 'VERTICAL_ALTERNATING',
-        title: 'Alternating',
-      },
-    ],
-    [activeTimelineMode],
-  );
- 
-  // horizontal list OF options when the mode is `HORIZONTAL`
-  const horizontalItems = useMemo(
-    () => [
-      {
-        id: 'HORIZONTAL',
-        onSelect: () => {
-          onUpdateTimelineMode('HORIZONTAL');
-        },
-        selected: activeTimelineMode === 'HORIZONTAL',
-        title: 'Default',
-      },
-      {
-        id: 'HORIZONTAL_ALL',
-        onSelect: () => {
-          onUpdateTimelineMode('HORIZONTAL_ALL');
-        },
-        selected: activeTimelineMode === 'HORIZONTAL_ALL',
-        title: 'Show all cards',
-      },
-    ],
-    [activeTimelineMode],
-  );
- 
-  return (
-    <PopOver
-      placeholder={buttonTexts.changeLayout}
-      position={position}
-      theme={theme}
-      isDarkMode={isDarkMode}
-    >
-      <List
-        items={
-          mode === 'HORIZONTAL' || mode === 'HORIZONTAL_ALL'
-            ? horizontalItems
-            : verticalItems
-        }
-        theme={theme}
-        multiSelectable
-      />
-    </PopOver>
-  );
-};
- 
-const QuickJump: FunctionComponent<QuickJumpProp> = ({
-  activeItem,
-  items,
-  theme,
-  onActivateItem,
-  isDarkMode,
-  position,
-}: QuickJumpProp) => {
-  const { buttonTexts } = useContext(GlobalContext);
-  return (
-    <PopOver
-      placeholder={buttonTexts.jumpTo}
-      position={position}
-      theme={theme}
-      width={'400px'}
-      isDarkMode={isDarkMode}
-    >
-      <List
-        items={items.map((item, index) => ({
-          active: index === activeItem,
-          description: item.description,
-          id: item.id,
-          label: item.title,
-          onSelect: () => {},
-          title: item.title,
-        }))}
-        theme={theme}
-        onClick={onActivateItem}
-      />
-    </PopOver>
-  );
-};
- 
-export { LayoutSwitcher, QuickJump };
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/components/timeline/timeline-toolbar.tsx.html b/coverage/lcov-report/components/timeline/timeline-toolbar.tsx.html deleted file mode 100644 index eb007ab5..00000000 --- a/coverage/lcov-report/components/timeline/timeline-toolbar.tsx.html +++ /dev/null @@ -1,427 +0,0 @@ - - - - - - Code coverage report for components/timeline/timeline-toolbar.tsx - - - - - - - - - -
-
-

All files / components/timeline timeline-toolbar.tsx

-
- -
- 86.84% - Statements - 99/114 -
- - -
- 60% - Branches - 6/10 -
- - -
- 25% - Functions - 1/4 -
- - -
- 86.84% - Lines - 99/114 -
- - -
-

- 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 -1151x -1x -1x -1x -1x -1x -1x -1x -1x -1x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -7x -7x -7x -7x -7x -7x -7x -7x -7x -7x -7x -7x -7x -7x -7x -7x -7x -11x -11x -11x -11x -7x -  -7x -11x -11x -11x -11x -7x -  -7x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -  -  -  -  -  -  -  -  -  -  -  -  -10x -11x -10x -10x -10x -10x -10x -10x -10x -  -11x -11x -11x -1x -1x -1x - 
// Import necessary dependencies
-import { FunctionComponent, useContext, useMemo } from 'react';
-import { GlobalContext } from '../GlobalContext';
-import TimelineControl from '../timeline-elements/timeline-control/timeline-control';
-import { Toolbar } from '../toolbar';
-import { LayoutSwitcher, QuickJump } from './timeline-popover-elements';
-import { TimelineToolbarProps } from './timeline-toolbar.model';
- 
-// Define the TimelineToolbar component
-const TimelineToolbar: FunctionComponent<TimelineToolbarProps> = ({
-  activeTimelineItem,
-  slideShowEnabled,
-  slideShowRunning,
-  flipLayout,
-  toggleDarkMode,
-  onPaused,
-  onFirst,
-  onLast,
-  onNext,
-  onPrevious,
-  onRestartSlideshow,
-  totalItems,
-  items = [],
-  id,
-  onActivateTimelineItem,
-  onUpdateTimelineMode,
-  mode,
-}) => {
-  // Access the global context
-  const { theme, cardLess, enableQuickJump, darkMode, toolbarPosition } =
-    useContext(GlobalContext);
- 
-  // Define the toolbar items
-  const toolbarItems = useMemo(() => {
-    return [
-      {
-        label: 'Timeline Controls',
-        name: 'timeline_control',
-        onSelect: () => {},
-      },
-      {
-        label: 'timeline_popover',
-        name: 'popover',
-        onSelect: () => {},
-      },
-      {
-        label: 'layout_popover',
-        name: 'popover',
-        onSelect: () => {},
-      },
-    ];
-  }, []);
- 
-  // Determine if the left arrow should be disabled
-  const disableLeft = useMemo(() => {
-    return flipLayout
-      ? activeTimelineItem === totalItems - 1
-      : activeTimelineItem === 0;
-  }, [flipLayout, activeTimelineItem, totalItems]);
- 
-  // Determine if the right arrow should be disabled
-  const disableRight = useMemo(() => {
-    return flipLayout
-      ? activeTimelineItem === 0
-      : activeTimelineItem === totalItems - 1;
-  }, [flipLayout, activeTimelineItem, totalItems]);
- 
-  // Render the TimelineToolbar component
-  return (
-    <Toolbar items={toolbarItems} theme={theme}>
-      <TimelineControl
-        disableLeft={disableLeft}
-        disableRight={disableRight}
-        id={id}
-        onFirst={onFirst}
-        onLast={onLast}
-        onNext={onNext}
-        onPrevious={onPrevious}
-        onReplay={onRestartSlideshow}
-        slideShowEnabled={slideShowEnabled}
-        slideShowRunning={slideShowRunning}
-        isDark={darkMode}
-        onToggleDarkMode={toggleDarkMode}
-        onPaused={onPaused}
-      />
-      {enableQuickJump ? (
-        <QuickJump
-          activeItem={activeTimelineItem}
-          isDarkMode={darkMode}
-          items={items.map((item) => ({
-            ...item,
-            description: item.cardSubtitle,
-            title: item.title,
-          }))}
-          onActivateItem={onActivateTimelineItem}
-          theme={theme}
-          position={toolbarPosition}
-        />
-      ) : null}
-      {!cardLess ? (
-        <LayoutSwitcher
-          isDarkMode={darkMode}
-          theme={theme}
-          onUpdateTimelineMode={onUpdateTimelineMode}
-          mode={mode}
-          position={toolbarPosition}
-        />
-      ) : null}
-    </Toolbar>
-  );
-};
- 
-// Export the TimelineToolbar component
-export { TimelineToolbar };
- 
- -
-
- - - - - - - - \ 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 deleted file mode 100644 index 4399a75e..00000000 --- a/coverage/lcov-report/components/timeline/timeline.style.ts.html +++ /dev/null @@ -1,571 +0,0 @@ - - - - - - Code coverage report for components/timeline/timeline.style.ts - - - - - - - - - -
-
-

All files / components/timeline timeline.style.ts

-
- -
- 95.06% - Statements - 154/162 -
- - -
- 57.14% - Branches - 12/21 -
- - -
- 100% - Functions - 5/5 -
- - -
- 95.06% - Lines - 154/162 -
- - -
-

- 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 -1631x -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 -1x -1x -1x -10x -  -10x -10x -10x -10x -10x -10x -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 -1x -  -  -  -  -  -  -1x -1x -1x -1x -1x -1x -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;
-  position?: 'top' | 'bottom';
-  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%;
-  order: ${(p) => (p.position === 'top' ? 1 : 0)};
- 
-  ${ScrollBar}
- 
-  &.horizontal {
-    min-height: 150px;
-  }
- 
-  padding: ${({ $scrollable }) => (!$scrollable ? '0 1rem 0' : '')};
-`;
- 
-export const TimelineMain = styled.div`
-  position: absolute;
-  top: 50%;
-  left: 0;
-  display: flex;
-  align-items: center;
-  transition: all 0.2s ease;
-  transform: translate(0, -50%);
- 
-  &.vertical {
-    align-items: flex-start;
-    justify-content: flex-start;
-    width: 100%;
-    height: 100%;
-  }
-`;
- 
-export const Outline = styled.div<{ color?: string; height?: number }>`
-  position: absolute;
-  right: 0;
-  left: 0;
-  width: 100%;
-  height: ${(p) => `${p.height}px`};
-  margin-right: auto;
-  margin-left: auto;
-  background: ${(p) => p.color};
-`;
- 
-export const TimelineControlContainer = styled.div<{
-  active?: boolean;
-  mode?: TimelineMode;
-}>`
-  display: flex;
-  align-items: center;
-  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 }>`
-  display: flex;
-  align-items: flex-start;
-  justify-content: ${(p) => (p.$showAllCards ? 'flex-start' : 'center')};
-  width: 98%;
-  margin-right: auto;
-  margin-left: auto;
-  overflow-x: hidden;
-`;
- 
-export const ToolbarWrapper = styled.div<{ position: 'top' | 'bottom' }>`
-  display: flex;
-  font-weight: bold;
-  text-align: center;
-  text-decoration: none;
-  border-radius: 6px;
-  width: 100%;
-  margin: ${(p) => (p.position === 'top' ? '0 0 20px 0' : '20px 0 0 0')};
-  order: ${(p) => (p.position === 'top' ? 0 : 1)};
-`;
- 
- -
-
- - - - - - - - \ 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 deleted file mode 100644 index 47c53d4d..00000000 --- a/coverage/lcov-report/components/timeline/timeline.tsx.html +++ /dev/null @@ -1,1555 +0,0 @@ - - - - - - Code coverage report for components/timeline/timeline.tsx - - - - - - - - - -
-
-

All files / components/timeline timeline.tsx

-
- -
- 72.85% - Statements - 357/490 -
- - -
- 75.6% - Branches - 31/41 -
- - -
- 18.18% - Functions - 2/11 -
- - -
- 72.85% - Lines - 357/490 -
- - -
-

- 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 -475 -476 -477 -478 -479 -480 -481 -482 -483 -484 -485 -486 -487 -488 -489 -490 -4911x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -7x -7x -  -  -7x -7x -  -  -7x -11x -11x -11x -11x -11x -11x -11x -11x -11x -  -  -  -  -11x -11x -11x -11x -11x -1x -1x -1x -1x -1x -1x -1x -11x -11x -11x -  -  -  -  -11x -11x -11x -1x -1x -1x -1x -11x -11x -11x -1x -1x -1x -1x -11x -11x -11x -11x -11x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -11x -11x -11x -11x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -11x -11x -7x -7x -7x -  -  -7x -7x -7x -7x -7x -7x -7x -7x -7x -7x -7x -7x -7x -1x -1x -1x -1x -1x -1x -1x -1x -1x -  -  -  -  -  -  -  -  -  -1x -7x -11x -11x -11x -  -  -  -  -  -11x -11x -7x -7x -  -  -7x -1x -7x -6x -6x -11x -11x -11x -7x -7x -7x -7x -7x -5x -5x -15x -15x -15x -5x -5x -7x -7x -7x -  -  -  -  -  -  -  -  -7x -7x -6x -6x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -6x -6x -6x -6x -6x -6x -7x -7x -7x -6x -6x -7x -7x -11x -11x -11x -11x -  -  -  -  -  -11x -11x -11x -11x -  -  -  -  -  -  -  -  -  -  -  -11x -11x -11x -7x -7x -7x -7x -11x -11x -11x -11x -11x -11x -11x -11x -3x -3x -11x -11x -  -  -  -  -11x -11x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -  -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -11x -11x -11x -7x -7x -7x -7x -7x -7x -7x -7x -7x -7x -  -7x -7x -7x -7x -7x -7x -7x -3x -11x -11x -11x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -  -1x -1x -1x -1x -1x -1x -9x -11x -11x -11x -2x -2x -2x -2x -2x -2x -2x -2x -2x -2x -2x -  -2x -2x -2x -2x -2x -2x -2x -8x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -11x -1x -1x -1x -1x - 
import { Scroll } from '@models/TimelineHorizontalModel';
-import { TimelineCardModel } from '@models/TimelineItemModel';
-import { TimelineModel } from '@models/TimelineModel';
-import { getUniqueID } from '@utils/index';
-import cls from 'classnames';
-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 TimelineHorizontal from '../timeline-horizontal/timeline-horizontal';
-import TimelineVertical from '../timeline-vertical/timeline-vertical';
-import { TimelineToolbar } from './timeline-toolbar';
-import {
-  Outline,
-  TimelineContentRender,
-  TimelineMain,
-  TimelineMainWrapper,
-  ToolbarWrapper,
-  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,
-    updateHorizontalAllCards,
-    toolbarPosition,
-  } = 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 === 'HORIZONTAL' && showAllCardsHorizontal ? 'HORIZONTAL_ALL' : 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 : getUniqueID()}`,
-  );
- 
-  useMatchMedia(
-    `(min-width: 100px) and (max-width: ${verticalBreakPoint}px)`,
-    () => {
-      if (mode === 'VERTICAL_ALTERNATING') {
-        setTimelineMode('VERTICAL');
-      }
-    },
-    enableBreakPoint,
-  );
- 
-  // handlers for navigation
-  const handleNext = useCallback(() => {
-    if (hasFocus) {
-      activeItemIndex.current = Math.min(
-        activeItemIndex.current + 1,
-        items.length - 1,
-      );
-      onNext?.();
-    }
-  }, [hasFocus, onNext]);
- 
-  const handlePrevious = useCallback(() => {
-    if (hasFocus) {
-      activeItemIndex.current = Math.max(activeItemIndex.current - 1, 0);
-      onPrevious?.();
-    }
-  }, [hasFocus, onPrevious]);
- 
-  const handleFirst = useCallback(() => {
-    if (hasFocus) {
-      activeItemIndex.current = 0;
-      onFirst?.();
-    }
-  }, [hasFocus, onFirst]);
- 
-  const handleLast = useCallback(() => {
-    if (hasFocus) {
-      activeItemIndex.current = items.length - 1;
-      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;
-        }
-      }
-    }
-  };
- 
-  useEffect(() => {
-    const activeItem = items[activeTimelineItem || 0];
- 
-    if (slideShowRunning) {
-      activeItemIndex.current = activeTimelineItem;
-    }
- 
-    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, slideShowRunning]);
- 
-  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 handleTimelineUpdate = useCallback((mode: string) => {
-    if (mode === 'VERTICAL') {
-      setTimelineMode('VERTICAL');
-    } else if (mode === 'HORIZONTAL') {
-      setTimelineMode('HORIZONTAL');
-      updateHorizontalAllCards?.(false);
-    } else if (mode === 'VERTICAL_ALTERNATING') {
-      setTimelineMode('VERTICAL_ALTERNATING');
-    } else if (mode === 'HORIZONTAL_ALL') {
-      setTimelineMode('HORIZONTAL_ALL');
-      updateHorizontalAllCards?.(true);
-    }
-  }, []);
- 
-  const wrapperClass = useMemo(() => {
-    return cls(mode.toLocaleLowerCase(), {
-      'focus-visible': !isChild,
-      'js-focus-visible': !isChild,
-    });
-  }, [mode, isChild]);
- 
-  return (
-    <Wrapper
-      onKeyDown={handleKeyDown}
-      className={wrapperClass}
-      cardPositionHorizontal={cardPositionHorizontal}
-      onMouseDown={() => {
-        setHasFocus(true);
-      }}
-      $hideControls={hideControls}
-      onKeyUp={(evt) => {
-        if (evt.key === 'Escape') {
-          onPaused?.();
-        }
-      }}
-    >
-      {!isChild ? (
-        <ToolbarWrapper position={toolbarPosition}>
-          <TimelineToolbar
-            activeTimelineItem={activeTimelineItem}
-            totalItems={items.length}
-            slideShowEnabled={slideShowEnabled}
-            slideShowRunning={slideShowRunning}
-            onFirst={handleFirst}
-            onLast={handleLast}
-            onNext={handleNext}
-            onPrevious={handlePrevious}
-            onRestartSlideshow={onRestartSlideshow}
-            darkMode={darkMode}
-            toggleDarkMode={toggleDarkMode}
-            onPaused={onPaused}
-            id={id.current}
-            flipLayout={flipLayout}
-            items={items}
-            onActivateTimelineItem={handleTimelineItemClick}
-            onUpdateTimelineMode={handleTimelineUpdate}
-            mode={timelineMode}
-          />
-        </ToolbarWrapper>
-      ) : null}
-      <TimelineMainWrapper
-        ref={timelineMainRef}
-        $scrollable={canScrollTimeline}
-        className={`${mode.toLowerCase()} timeline-main-wrapper`}
-        id="timeline-main-wrapper"
-        data-testid="timeline-main-wrapper"
-        theme={theme}
-        mode={mode}
-        position={toolbarPosition}
-        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' || timelineMode === 'HORIZONTAL_ALL' ? (
-          <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>
- 
-      {/* 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/components/toolbar/index.html b/coverage/lcov-report/components/toolbar/index.html deleted file mode 100644 index b223f775..00000000 --- a/coverage/lcov-report/components/toolbar/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for components/toolbar - - - - - - - - - -
-
-

All files components/toolbar

-
- -
- 100% - Statements - 76/76 -
- - -
- 80% - Branches - 4/5 -
- - -
- 100% - Functions - 1/1 -
- - -
- 100% - Lines - 76/76 -
- - -
-

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

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.tsx -
-
100%43/4375%3/4100%1/1100%43/43
toolbar.styles.ts -
-
100%33/33100%1/1100%0/0100%33/33
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/components/toolbar/index.tsx.html b/coverage/lcov-report/components/toolbar/index.tsx.html deleted file mode 100644 index 02061a16..00000000 --- a/coverage/lcov-report/components/toolbar/index.tsx.html +++ /dev/null @@ -1,214 +0,0 @@ - - - - - - Code coverage report for components/toolbar/index.tsx - - - - - - - - - -
-
-

All files / components/toolbar index.tsx

-
- -
- 100% - Statements - 43/43 -
- - -
- 75% - Branches - 3/4 -
- - -
- 100% - Functions - 1/1 -
- - -
- 100% - Lines - 43/43 -
- - -
-

- 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 -441x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -11x -11x -11x -11x -11x -11x -11x -30x -30x -30x -30x -30x -30x -11x -11x -11x -11x -1x -1x - 
import { FunctionComponent, ReactNode } from 'react';
-import {
-  ContentWrapper,
-  IconWrapper,
-  ToolbarListItem,
-  ToolbarWrapper,
-} from './toolbar.styles';
-import { Theme } from '@models/Theme';
- 
-export type ToolbarItem = {
-  icon?: ReactNode;
-  id?: string;
-  label?: string;
-  name: string;
-  onSelect: (id: string, name: string) => void;
-};
- 
-export type ToolbarProps = {
-  children?: ReactNode | ReactNode[];
-  items?: ToolbarItem[];
-  theme: Theme;
-};
- 
-const Toolbar: FunctionComponent<ToolbarProps> = ({
-  items,
-  children = [],
-  theme,
-}) => {
-  return (
-    <ToolbarWrapper theme={theme}>
-      {items?.map(({ label, id, icon }, index) => {
-        return (
-          <ToolbarListItem aria-label={label} key={id}>
-            {icon ? <IconWrapper>{icon}</IconWrapper> : null}
-            <ContentWrapper>{children[index]}</ContentWrapper>
-          </ToolbarListItem>
-        );
-      })}
-    </ToolbarWrapper>
-  );
-};
- 
-export { Toolbar };
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/components/toolbar/toolbar.styles.ts.html b/coverage/lcov-report/components/toolbar/toolbar.styles.ts.html deleted file mode 100644 index 46fc25b0..00000000 --- a/coverage/lcov-report/components/toolbar/toolbar.styles.ts.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - Code coverage report for components/toolbar/toolbar.styles.ts - - - - - - - - - -
-
-

All files / components/toolbar toolbar.styles.ts

-
- -
- 100% - Statements - 33/33 -
- - -
- 100% - Branches - 1/1 -
- - -
- 100% - Functions - 0/0 -
- - -
- 100% - Lines - 33/33 -
- - -
-

- 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 -341x -1x -1x -1x -1x -1x -1x -1x -1x -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 from 'styled-components';
- 
-export const ToolbarWrapper = styled.ul<{ theme: Theme }>`
-  list-style: none;
-  margin: 0;
-  display: flex;
-  align-items: center;
-  background-color: ${(p) => p.theme.toolbarBgColor};
-  box-shadow: 0 2px 1px rgba(0, 0, 0, 0.1);
-  width: 100%;
-  height: 100%;
-  padding: 10px 20px;
-  border-radius: 6px;
-  flex-wrap: wrap;
-`;
- 
-export const ToolbarListItem = styled.li`
-  padding: 0;
-  margin: 0 0.5rem;
-`;
- 
-export const IconWrapper = styled.span`
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  width: 1rem;
-  height: 1rem;
-`;
- 
-export const ContentWrapper = styled.span`
-  display: flex;
-`;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/favicon.png b/coverage/lcov-report/favicon.png deleted file mode 100644 index c1525b811a167671e9de1fa78aab9f5c0b61cef7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 445 zcmV;u0Yd(XP))rP{nL}Ln%S7`m{0DjX9TLF* zFCb$4Oi7vyLOydb!7n&^ItCzb-%BoB`=x@N2jll2Nj`kauio%aw_@fe&*}LqlFT43 z8doAAe))z_%=P%v^@JHp3Hjhj^6*Kr_h|g_Gr?ZAa&y>wxHE99Gk>A)2MplWz2xdG zy8VD2J|Uf#EAw*bo5O*PO_}X2Tob{%bUoO2G~T`@%S6qPyc}VkhV}UifBuRk>%5v( z)x7B{I~z*k<7dv#5tC+m{km(D087J4O%+<<;K|qwefb6@GSX45wCK}Sn*> - - - - Code coverage report for All files - - - - - - - - - -
-
-

All files

-
- -
- 86.85% - Statements - 4812/5540 -
- - -
- 68.29% - Branches - 420/615 -
- - -
- 73.07% - Functions - 114/156 -
- - -
- 86.85% - Lines - 4812/5540 -
- - -
-

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

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
components/common/styles -
-
100%19/19100%3/3100%2/2100%19/19
components/common/test -
-
100%83/83100%1/114.28%1/7100%83/83
components/common/themes -
-
100%47/47100%0/0100%0/0100%47/47
components/effects -
-
62.01%111/17975%12/1675%3/462.01%111/179
components/elements/list -
-
98.84%256/25997.14%34/3585.71%6/798.84%256/259
components/elements/popover -
-
97.76%175/17992.3%24/2688.88%8/997.76%175/179
components/timeline -
-
82.24%741/90171.95%59/8240.74%11/2782.24%741/901
components/timeline-elements/memoized -
-
68.39%119/17480%12/15100%1/168.39%119/174
components/timeline-elements/timeline-card -
-
96.82%335/34675%33/4491.66%11/1296.82%335/346
components/timeline-elements/timeline-card-content -
-
81.91%1051/128366.25%106/16083.33%30/3681.91%1051/1283
components/timeline-elements/timeline-card-media -
-
82.04%571/69653.84%42/7866.66%14/2182.04%571/696
components/timeline-elements/timeline-control -
-
98.1%310/31653.19%25/47100%3/398.1%310/316
components/timeline-elements/timeline-item-title -
-
100%73/7382.35%14/17100%6/6100%73/73
components/timeline-horizontal -
-
100%138/13855.55%5/9100%1/1100%138/138
components/timeline-vertical -
-
92.97%635/68359.09%39/6690.9%10/1192.97%635/683
components/toolbar -
-
100%76/7680%4/5100%1/1100%76/76
utils -
-
81.81%72/8863.63%7/1175%6/881.81%72/88
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/prettify.css b/coverage/lcov-report/prettify.css deleted file mode 100644 index b317a7cd..00000000 --- a/coverage/lcov-report/prettify.css +++ /dev/null @@ -1 +0,0 @@ -.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} diff --git a/coverage/lcov-report/prettify.js b/coverage/lcov-report/prettify.js deleted file mode 100644 index b3225238..00000000 --- a/coverage/lcov-report/prettify.js +++ /dev/null @@ -1,2 +0,0 @@ -/* eslint-disable */ -window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]); diff --git a/coverage/lcov-report/sort-arrow-sprite.png b/coverage/lcov-report/sort-arrow-sprite.png deleted file mode 100644 index 6ed68316eb3f65dec9063332d2f69bf3093bbfab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^>_9Bd!3HEZxJ@+%Qh}Z>jv*C{$p!i!8j}?a+@3A= zIAGwzjijN=FBi!|L1t?LM;Q;gkwn>2cAy-KV{dn nf0J1DIvEHQu*n~6U}x}qyky7vi4|9XhBJ7&`njxgN@xNA8m%nc diff --git a/coverage/lcov-report/sorter.js b/coverage/lcov-report/sorter.js deleted file mode 100644 index 2bb296a8..00000000 --- a/coverage/lcov-report/sorter.js +++ /dev/null @@ -1,196 +0,0 @@ -/* eslint-disable */ -var addSorting = (function() { - 'use strict'; - var cols, - currentSort = { - index: 0, - desc: false - }; - - // returns the summary table element - function getTable() { - return document.querySelector('.coverage-summary'); - } - // returns the thead element of the summary table - function getTableHeader() { - return getTable().querySelector('thead tr'); - } - // returns the tbody element of the summary table - function getTableBody() { - return getTable().querySelector('tbody'); - } - // returns the th element for nth column - function getNthColumn(n) { - return getTableHeader().querySelectorAll('th')[n]; - } - - function onFilterInput() { - const searchValue = document.getElementById('fileSearch').value; - const rows = document.getElementsByTagName('tbody')[0].children; - for (let i = 0; i < rows.length; i++) { - const row = rows[i]; - if ( - row.textContent - .toLowerCase() - .includes(searchValue.toLowerCase()) - ) { - row.style.display = ''; - } else { - row.style.display = 'none'; - } - } - } - - // loads the search box - function addSearchBox() { - var template = document.getElementById('filterTemplate'); - var templateClone = template.content.cloneNode(true); - templateClone.getElementById('fileSearch').oninput = onFilterInput; - template.parentElement.appendChild(templateClone); - } - - // loads all columns - function loadColumns() { - var colNodes = getTableHeader().querySelectorAll('th'), - colNode, - cols = [], - col, - i; - - for (i = 0; i < colNodes.length; i += 1) { - colNode = colNodes[i]; - col = { - key: colNode.getAttribute('data-col'), - sortable: !colNode.getAttribute('data-nosort'), - type: colNode.getAttribute('data-type') || 'string' - }; - cols.push(col); - if (col.sortable) { - col.defaultDescSort = col.type === 'number'; - colNode.innerHTML = - colNode.innerHTML + ''; - } - } - return cols; - } - // attaches a data attribute to every tr element with an object - // of data values keyed by column name - function loadRowData(tableRow) { - var tableCols = tableRow.querySelectorAll('td'), - colNode, - col, - data = {}, - i, - val; - for (i = 0; i < tableCols.length; i += 1) { - colNode = tableCols[i]; - col = cols[i]; - val = colNode.getAttribute('data-value'); - if (col.type === 'number') { - val = Number(val); - } - data[col.key] = val; - } - return data; - } - // loads all row data - function loadData() { - var rows = getTableBody().querySelectorAll('tr'), - i; - - for (i = 0; i < rows.length; i += 1) { - rows[i].data = loadRowData(rows[i]); - } - } - // sorts the table using the data for the ith column - function sortByIndex(index, desc) { - var key = cols[index].key, - sorter = function(a, b) { - a = a.data[key]; - b = b.data[key]; - return a < b ? -1 : a > b ? 1 : 0; - }, - finalSorter = sorter, - tableBody = document.querySelector('.coverage-summary tbody'), - rowNodes = tableBody.querySelectorAll('tr'), - rows = [], - i; - - if (desc) { - finalSorter = function(a, b) { - return -1 * sorter(a, b); - }; - } - - for (i = 0; i < rowNodes.length; i += 1) { - rows.push(rowNodes[i]); - tableBody.removeChild(rowNodes[i]); - } - - rows.sort(finalSorter); - - for (i = 0; i < rows.length; i += 1) { - tableBody.appendChild(rows[i]); - } - } - // removes sort indicators for current column being sorted - function removeSortIndicators() { - var col = getNthColumn(currentSort.index), - cls = col.className; - - cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); - col.className = cls; - } - // adds sort indicators for current column being sorted - function addSortIndicators() { - getNthColumn(currentSort.index).className += currentSort.desc - ? ' sorted-desc' - : ' sorted'; - } - // adds event listeners for all sorter widgets - function enableUI() { - var i, - el, - ithSorter = function ithSorter(i) { - var col = cols[i]; - - return function() { - var desc = col.defaultDescSort; - - if (currentSort.index === i) { - desc = !currentSort.desc; - } - sortByIndex(i, desc); - removeSortIndicators(); - currentSort.index = i; - currentSort.desc = desc; - addSortIndicators(); - }; - }; - for (i = 0; i < cols.length; i += 1) { - if (cols[i].sortable) { - // add the click event handler on the th so users - // dont have to click on those tiny arrows - el = getNthColumn(i).querySelector('.sorter').parentElement; - if (el.addEventListener) { - el.addEventListener('click', ithSorter(i)); - } else { - el.attachEvent('onclick', ithSorter(i)); - } - } - } - } - // adds sorting functionality to the UI - return function() { - if (!getTable()) { - return; - } - cols = loadColumns(); - loadData(); - addSearchBox(); - addSortIndicators(); - enableUI(); - }; -})(); - -window.addEventListener('load', addSorting); diff --git a/coverage/lcov-report/utils/index.html b/coverage/lcov-report/utils/index.html deleted file mode 100644 index 1a9569cc..00000000 --- a/coverage/lcov-report/utils/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - Code coverage report for utils - - - - - - - - - -
-
-

All files utils

-
- -
- 81.81% - Statements - 72/88 -
- - -
- 63.63% - Branches - 7/11 -
- - -
- 75% - Functions - 6/8 -
- - -
- 81.81% - Lines - 72/88 -
- - -
-

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

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.ts -
-
81.81%72/8863.63%7/1175%6/881.81%72/88
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/utils/index.ts.html b/coverage/lcov-report/utils/index.ts.html deleted file mode 100644 index 6427f78f..00000000 --- a/coverage/lcov-report/utils/index.ts.html +++ /dev/null @@ -1,349 +0,0 @@ - - - - - - Code coverage report for utils/index.ts - - - - - - - - - -
-
-

All files / utils index.ts

-
- -
- 81.81% - Statements - 72/88 -
- - -
- 63.63% - Branches - 7/11 -
- - -
- 75% - Functions - 6/8 -
- - -
- 81.81% - Lines - 72/88 -
- - -
-

- 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 -891x -1x -1x -1x -1x -20x -20x -20x -20x -20x -20x -1x -1x -7x -  -  -7x -7x -1x -1x -5x -5x -5x -5x -5x -5x -5x -5x -1x -1x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -1x -1x -1x -1x -5x -5x -5x -  -  -5x -  -  -5x -5x -5x -5x -  -  -  -1x -1x -  -  -1x -1x -  -  -  -  -  -1x -1x -20x -20x -20x -20x -20x -20x -20x -20x -20x -20x -140x -140x -20x -20x -20x - 
import { SlideShowType, TimelineMode } from '@models/TimelineModel';
-import xss from 'xss';
-import { darkTheme, defaultTheme } from '../components/common/themes';
- 
-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 = () => ({
-  changeLayout: 'Change layout',
-  dark: 'Switch to Dark Mode',
-  first: 'Go to First',
-  jumpTo: 'Jump to',
-  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';
-};
- 
-export const isTextArray = (text: string | string[]): text is string[] => {
-  return Array.isArray(text);
-};
- 
-export const sanitizeHtmlText = (text: string | string[]) => {
-  if (isTextArray(text)) {
-    return text.map((t) => xss(t));
-  }
-  return xss(text);
-};
- 
-export const getUniqueID = () => {
-  const chars =
-    'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
- 
-  let autoId = '';
- 
-  const randomValues = new Uint32Array(7);
- 
-  window.crypto.getRandomValues(randomValues);
- 
-  for (let i = 0; i < randomValues.length; i++) {
-    autoId += chars[randomValues[i] % chars.length];
-  }
- 
-  return autoId;
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov.info b/coverage/lcov.info deleted file mode 100644 index eac2a2ef..00000000 --- a/coverage/lcov.info +++ /dev/null @@ -1,6845 +0,0 @@ -TN: -SF:src\components\common\styles\index.ts -FN:4,Object.defineProperty.enumerable -FN:16,Object.defineProperty.enumerable -FNF:2 -FNH:2 -FNDA:10,Object.defineProperty.enumerable -FNDA:10,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,10 -BRDA:16,1,0,10 -BRDA:17,2,0,10 -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:17,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,17 -DA:77,17 -DA:78,17 -DA:79,17 -DA:80,17 -DA:81,17 -DA:82,17 -DA:83,17 -LF:83 -LH:83 -BRDA:75,0,0,17 -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 -DA:42,1 -DA:43,1 -DA:44,1 -DA:45,1 -DA:46,1 -DA:47,1 -LF:47 -LH:47 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src\components\effects\useCloseClickOutside.ts -FN:3,useCloseClickOutside -FNF:1 -FNH:1 -FNDA:29,useCloseClickOutside -DA:1,1 -DA:2,1 -DA:3,29 -DA:4,29 -DA:5,29 -DA:6,29 -DA:7,29 -DA:8,29 -DA:9,29 -DA:10,10 -DA:11,10 -DA:12,10 -DA:13,10 -DA:14,3 -DA:15,3 -DA:16,10 -DA:17,29 -DA:18,29 -DA:19,29 -DA:20,0 -DA:21,0 -DA:22,0 -DA:23,29 -DA:24,29 -DA:25,29 -DA:26,21 -DA:27,21 -DA:28,21 -DA:29,21 -DA:30,21 -DA:31,21 -DA:32,21 -DA:33,29 -DA:34,29 -DA:35,29 -DA:36,12 -DA:37,12 -DA:38,12 -DA:39,12 -DA:40,12 -DA:41,12 -DA:42,12 -DA:43,12 -DA:44,29 -DA:45,29 -LF:45 -LH:42 -BRDA:3,0,0,29 -BRDA:9,1,0,10 -BRDA:13,2,0,3 -BRDA:25,3,0,21 -BRDA:35,4,0,12 -BRDA:37,5,0,12 -BRF:6 -BRH:6 -end_of_record -TN: -SF:src\components\effects\useMatchMedia.ts -FN:12,useMatchMedia -FN:25,listener -FNF:2 -FNH:1 -FNDA:10,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,10 -DA:14,10 -DA:15,10 -DA:16,10 -DA:17,10 -DA:18,10 -DA:19,10 -DA:20,7 -DA:21,0 -DA:22,0 -DA:23,7 -DA:24,7 -DA:25,7 -DA:26,7 -DA:27,7 -DA:28,7 -DA:29,0 -DA:30,0 -DA:31,7 -DA:32,7 -DA:33,7 -DA:34,7 -DA:35,7 -DA:36,7 -DA:37,10 -DA:38,10 -DA:39,10 -DA:40,10 -DA:41,0 -DA:42,0 -DA:43,10 -DA:44,10 -DA:45,10 -DA:46,10 -LF:46 -LH:40 -BRDA:12,0,0,10 -BRDA:19,1,0,7 -BRDA:20,2,0,0 -BRDA:28,3,0,0 -BRDA:34,4,0,7 -BRDA:39,5,0,10 -BRDA:40,6,0,0 -BRDA:40,7,0,0 -BRF:8 -BRH:4 -end_of_record -TN: -SF:src\components\effects\useNewScrollPosition.ts -FN:12,useNewScrollPosition -FNF:1 -FNH:1 -FNDA:10,useNewScrollPosition -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,10 -DA:14,10 -DA:15,10 -DA:16,10 -DA:17,10 -DA:18,10 -DA:19,10 -DA:20,10 -DA:21,10 -DA:22,0 -DA:23,0 -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,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,10 -DA:82,10 -DA:83,10 -DA:84,10 -DA:85,10 -DA:86,10 -DA:87,1 -DA:88,1 -LF:88 -LH:29 -BRDA:12,0,0,10 -BRDA:21,1,0,7 -BRF:2 -BRH:2 -end_of_record -TN: -SF:src\components\elements\list\list-item.tsx -FN:36,onClick -FN:40,onKeyUp -FNF:2 -FNH:1 -FNDA:2,onClick -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,13 -DA:16,13 -DA:17,13 -DA:18,13 -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,0 -DA:28,0 -DA:29,0 -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,6 -DA:44,6 -DA:45,6 -DA:46,6 -DA:47,6 -DA:48,6 -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,1 -DA:59,1 -DA:60,1 -DA:61,1 -DA:62,1 -LF:62 -LH:59 -BRDA:14,0,0,13 -BRDA:42,1,0,6 -BRDA:45,2,0,3 -BRDA:47,3,0,6 -BRDA:24,4,0,2 -BRDA:36,5,0,2 -BRF:6 -BRH:6 -end_of_record -TN: -SF:src\components\elements\list\list.styles.ts -FN:43,Object.defineProperty.enumerable -FN:45,Object.defineProperty.enumerable -FN:46,Object.defineProperty.enumerable -FN:87,Object.defineProperty.enumerable -FNF:4 -FNH:4 -FNDA:12,Object.defineProperty.enumerable -FNDA:12,Object.defineProperty.enumerable -FNDA:12,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,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 -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 -LF:109 -LH:109 -BRDA:43,0,0,12 -BRDA:44,1,0,0 -BRDA:45,2,0,12 -BRDA:45,3,0,6 -BRDA:45,4,0,6 -BRDA:46,5,0,12 -BRDA:48,6,0,12 -BRDA:56,7,0,12 -BRDA:72,8,0,12 -BRDA:87,9,0,6 -BRDA:87,10,0,3 -BRDA:88,11,0,6 -BRDA:88,12,0,3 -BRDA:88,13,0,3 -BRDA:108,14,0,12 -BRDA:108,15,0,6 -BRDA:108,16,0,6 -BRF:17 -BRH:16 -end_of_record -TN: -SF:src\components\elements\list\list.tsx -FN:14,List -FNF:1 -FNH:1 -FNDA:8,List -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,8 -DA:16,8 -DA:17,8 -DA:18,8 -DA:19,8 -DA:20,8 -DA:21,8 -DA:22,8 -DA:23,5 -DA:24,10 -DA:25,10 -DA:26,5 -DA:27,8 -DA:28,8 -DA:29,8 -DA:30,8 -DA:31,2 -DA:32,4 -DA:33,2 -DA:34,2 -DA:35,2 -DA:36,2 -DA:37,2 -DA:38,2 -DA:39,2 -DA:40,2 -DA:41,2 -DA:42,2 -DA:43,2 -DA:44,2 -DA:45,2 -DA:46,8 -DA:47,8 -DA:48,8 -DA:49,8 -DA:50,2 -DA:51,2 -DA:52,2 -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,8 -DA:64,8 -DA:65,8 -DA:66,8 -DA:67,8 -DA:68,8 -DA:69,14 -DA:70,14 -DA:71,14 -DA:72,14 -DA:73,14 -DA:74,14 -DA:75,14 -DA:76,14 -DA:77,14 -DA:78,14 -DA:79,14 -DA:80,14 -DA:81,14 -DA:82,8 -DA:83,8 -DA:84,8 -DA:85,8 -DA:86,1 -DA:87,1 -DA:88,1 -LF:88 -LH:88 -BRDA:14,0,0,8 -BRDA:68,1,0,7 -BRDA:22,2,0,5 -BRDA:23,3,0,10 -BRDA:30,4,0,2 -BRDA:31,5,0,4 -BRDA:32,6,0,2 -BRDA:49,7,0,2 -BRDA:52,8,0,1 -BRDA:53,9,0,1 -BRDA:56,10,0,1 -BRDA:68,11,0,14 -BRF:12 -BRH:12 -end_of_record -TN: -SF:src\components\elements\popover\index.tsx -FN:16,PopOver -FN:28,toggleOpen -FN:30,closePopover -FN:32,handleKeyPress -FNF:4 -FNH:3 -FNDA:31,PopOver -FNDA:5,toggleOpen -FNDA:3,closePopover -FNDA:0,handleKeyPress -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,31 -DA:18,31 -DA:19,31 -DA:20,31 -DA:21,31 -DA:22,31 -DA:23,31 -DA:24,31 -DA:25,31 -DA:26,31 -DA:27,31 -DA:28,31 -DA:29,31 -DA:30,31 -DA:31,31 -DA:32,31 -DA:33,0 -DA:34,0 -DA:35,0 -DA:36,0 -DA:37,31 -DA:38,31 -DA:39,31 -DA:40,31 -DA:41,17 -DA:42,5 -DA:43,5 -DA:44,5 -DA:45,12 -DA:46,12 -DA:47,12 -DA:48,31 -DA:49,31 -DA:50,31 -DA:51,31 -DA:52,31 -DA:53,31 -DA:54,31 -DA:55,31 -DA:56,31 -DA:57,31 -DA:58,31 -DA:59,31 -DA:60,31 -DA:61,31 -DA:62,31 -DA:63,31 -DA:64,31 -DA:65,31 -DA:66,31 -DA:67,11 -DA:68,11 -DA:69,11 -DA:70,11 -DA:71,11 -DA:72,11 -DA:73,11 -DA:74,11 -DA:75,11 -DA:76,11 -DA:77,11 -DA:78,11 -DA:79,11 -DA:80,18 -DA:81,31 -DA:82,31 -DA:83,31 -DA:84,1 -DA:85,1 -LF:85 -LH:81 -BRDA:16,0,0,31 -BRDA:66,1,0,11 -BRDA:79,2,0,18 -BRDA:28,3,0,5 -BRDA:30,4,0,3 -BRDA:40,5,0,17 -BRDA:41,6,0,12 -BRDA:41,7,0,5 -BRDA:42,8,0,5 -BRF:9 -BRH:9 -end_of_record -TN: -SF:src\components\elements\popover\popover.styles.ts -FN:12,__vite_ssr_import_0__.default.div.visible.visible -FN:23,__vite_ssr_import_0__.default.div.visible.visible -FN:36,__vite_ssr_import_0__.default.div.theme.theme -FN:37,__vite_ssr_import_0__.default.div.open.open -FN:53,__vite_ssr_import_0__.default.span.open.open -FNF:5 -FNH:5 -FNDA:6,__vite_ssr_import_0__.default.div.visible.visible -FNDA:6,__vite_ssr_import_0__.default.div.visible.visible -FNDA:21,__vite_ssr_import_0__.default.div.theme.theme -FNDA:21,__vite_ssr_import_0__.default.div.open.open -FNDA:21,__vite_ssr_import_0__.default.span.open.open -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,21 -DA:41,15 -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,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 -LF:94 -LH:94 -BRDA:12,0,0,6 -BRDA:23,1,0,6 -BRDA:23,2,0,0 -BRDA:26,3,0,6 -BRDA:26,4,0,1 -BRDA:26,5,0,5 -BRDA:36,6,0,21 -BRDA:37,7,0,21 -BRDA:39,8,0,21 -BRDA:40,9,0,15 -BRDA:41,10,0,0 -BRDA:41,11,0,6 -BRDA:53,12,0,21 -BRDA:58,13,0,21 -BRDA:58,14,0,6 -BRDA:58,15,0,15 -BRDA:88,16,0,6 -BRF:17 -BRH:15 -end_of_record -TN: -SF:src\components\timeline\timeline-popover-elements.tsx -FN:27,LayoutSwitcher -FN:45,onSelect -FN:51,onSelect -FN:64,onSelect -FN:72,onSelect -FN:102,QuickJump -FN:125,onSelect -FNF:7 -FNH:3 -FNDA:15,LayoutSwitcher -FNDA:1,onSelect -FNDA:0,onSelect -FNDA:0,onSelect -FNDA:0,onSelect -FNDA:2,QuickJump -FNDA:0,onSelect -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,15 -DA:29,15 -DA:30,15 -DA:31,15 -DA:32,15 -DA:33,15 -DA:34,15 -DA:35,15 -DA:36,15 -DA:37,15 -DA:38,15 -DA:39,15 -DA:40,15 -DA:41,15 -DA:42,15 -DA:43,10 -DA:44,10 -DA:45,10 -DA:46,10 -DA:47,10 -DA:48,10 -DA:49,10 -DA:50,10 -DA:51,10 -DA:52,10 -DA:53,10 -DA:54,10 -DA:55,10 -DA:56,15 -DA:57,15 -DA:58,15 -DA:59,15 -DA:60,15 -DA:61,15 -DA:62,10 -DA:63,10 -DA:64,10 -DA:65,0 -DA:66,0 -DA:67,10 -DA:68,10 -DA:69,10 -DA:70,10 -DA:71,10 -DA:72,10 -DA:73,0 -DA:74,0 -DA:75,10 -DA:76,10 -DA:77,10 -DA:78,10 -DA:79,15 -DA:80,15 -DA:81,15 -DA:82,15 -DA:83,15 -DA:84,15 -DA:85,15 -DA:86,15 -DA:87,15 -DA:88,15 -DA:89,15 -DA:90,15 -DA:91,15 -DA:92,2 -DA:93,11 -DA:94,15 -DA:95,15 -DA:96,15 -DA:97,15 -DA:98,15 -DA:99,15 -DA:100,15 -DA:101,1 -DA:102,1 -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,4 -DA:122,4 -DA:123,4 -DA:124,4 -DA:125,4 -DA:126,4 -DA:127,2 -DA:128,2 -DA:129,2 -DA:130,2 -DA:131,2 -DA:132,2 -DA:133,2 -DA:134,1 -DA:135,1 -LF:135 -LH:131 -BRDA:27,0,0,15 -BRDA:91,1,0,11 -BRDA:91,2,0,2 -BRDA:92,3,0,11 -BRDA:37,4,0,10 -BRDA:42,5,0,10 -BRDA:45,6,0,1 -BRDA:61,7,0,10 -BRDA:102,8,0,2 -BRDA:120,9,0,4 -BRF:10 -BRH:10 -end_of_record -TN: -SF:src\components\timeline\timeline-toolbar.tsx -FN:10,TimelineToolbar -FN:39,onSelect -FN:44,onSelect -FN:49,onSelect -FNF:4 -FNH:1 -FNDA:11,TimelineToolbar -FNDA:0,onSelect -FNDA:0,onSelect -FNDA:0,onSelect -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,11 -DA:12,11 -DA:13,11 -DA:14,11 -DA:15,11 -DA:16,11 -DA:17,11 -DA:18,11 -DA:19,11 -DA:20,11 -DA:21,11 -DA:22,11 -DA:23,11 -DA:24,11 -DA:25,11 -DA:26,11 -DA:27,11 -DA:28,11 -DA:29,11 -DA:30,11 -DA:31,11 -DA:32,11 -DA:33,11 -DA:34,11 -DA:35,7 -DA:36,7 -DA:37,7 -DA:38,7 -DA:39,7 -DA:40,7 -DA:41,7 -DA:42,7 -DA:43,7 -DA:44,7 -DA:45,7 -DA:46,7 -DA:47,7 -DA:48,7 -DA:49,7 -DA:50,7 -DA:51,7 -DA:52,11 -DA:53,11 -DA:54,11 -DA:55,11 -DA:56,7 -DA:57,0 -DA:58,7 -DA:59,11 -DA:60,11 -DA:61,11 -DA:62,11 -DA:63,7 -DA:64,0 -DA:65,7 -DA:66,11 -DA:67,11 -DA:68,11 -DA:69,11 -DA:70,11 -DA:71,11 -DA:72,11 -DA:73,11 -DA:74,11 -DA:75,11 -DA:76,11 -DA:77,11 -DA:78,11 -DA:79,11 -DA:80,11 -DA:81,11 -DA:82,11 -DA:83,11 -DA:84,11 -DA:85,11 -DA:86,11 -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,10 -DA:100,11 -DA:101,10 -DA:102,10 -DA:103,10 -DA:104,10 -DA:105,10 -DA:106,10 -DA:107,10 -DA:108,0 -DA:109,11 -DA:110,11 -DA:111,11 -DA:112,1 -DA:113,1 -DA:114,1 -LF:114 -LH:99 -BRDA:10,0,0,11 -BRDA:86,1,0,0 -BRDA:98,2,0,10 -BRDA:100,3,0,10 -BRDA:107,4,0,0 -BRDA:34,5,0,7 -BRDA:55,6,0,7 -BRDA:56,7,0,0 -BRDA:62,8,0,7 -BRDA:63,9,0,0 -BRF:10 -BRH:6 -end_of_record -TN: -SF:src\components\timeline\timeline.style.ts -FN:23,Object.defineProperty.enumerable -FN:75,__vite_ssr_import_0__.default.div.$scrollable.$scrollable -FN:78,__vite_ssr_import_0__.default.div.$scrollable.$scrollable -FN:111,Object.defineProperty.enumerable -FN:160,Object.defineProperty.enumerable -FNF:5 -FNH:5 -FNDA:10,Object.defineProperty.enumerable -FNDA:10,__vite_ssr_import_0__.default.div.$scrollable.$scrollable -FNDA:10,__vite_ssr_import_0__.default.div.$scrollable.$scrollable -FNDA:1,Object.defineProperty.enumerable -FNDA:10,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,10 -DA:25,0 -DA:26,10 -DA:27,10 -DA:28,10 -DA:29,10 -DA:30,10 -DA:31,10 -DA:32,10 -DA:33,10 -DA:34,10 -DA:35,10 -DA:36,1 -DA:37,1 -DA:38,1 -DA:39,10 -DA:40,0 -DA:41,10 -DA:42,10 -DA:43,10 -DA:44,10 -DA:45,10 -DA:46,10 -DA:47,10 -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,1 -DA:126,1 -DA:127,0 -DA:128,0 -DA:129,0 -DA:130,0 -DA:131,0 -DA:132,0 -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 -LF:162 -LH:154 -BRDA:23,0,0,10 -BRDA:24,1,0,0 -BRDA:24,2,0,0 -BRDA:38,3,0,10 -BRDA:39,4,0,0 -BRDA:39,5,0,0 -BRDA:75,6,0,10 -BRDA:75,7,0,1 -BRDA:75,8,0,9 -BRDA:78,9,0,10 -BRDA:78,10,0,0 -BRDA:86,11,0,10 -BRDA:86,12,0,0 -BRDA:111,13,0,1 -BRDA:114,14,0,1 -BRDA:146,15,0,10 -BRDA:146,16,0,0 -BRDA:160,17,0,10 -BRDA:160,18,0,0 -BRDA:161,19,0,10 -BRDA:161,20,0,0 -BRF:21 -BRH:12 -end_of_record -TN: -SF:src\components\timeline\timeline.tsx -FN:29,Timeline -FN:175,handleTimelineItemClick -FN:232,handleScroll -FN:266,toggleMedia -FN:278,observer.current.IntersectionObserver.root -FN:348,onMouseDown -FN:352,onKeyUp -FN:391,onScroll -FN:421,onElapsed -FN:444,onElapsed -FN:466,onElapsed -FNF:11 -FNH:2 -FNDA:11,Timeline -FNDA:0,handleTimelineItemClick -FNDA:0,handleScroll -FNDA:0,toggleMedia -FNDA:0,observer.current.IntersectionObserver.root -FNDA:3,onMouseDown -FNDA:0,onKeyUp -FNDA:0,onScroll -FNDA:0,onElapsed -FNDA:0,onElapsed -FNDA:0,onElapsed -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,11 -DA:31,11 -DA:32,11 -DA:33,11 -DA:34,11 -DA:35,11 -DA:36,11 -DA:37,11 -DA:38,11 -DA:39,11 -DA:40,11 -DA:41,11 -DA:42,11 -DA:43,11 -DA:44,11 -DA:45,11 -DA:46,11 -DA:47,11 -DA:48,11 -DA:49,11 -DA:50,11 -DA:51,11 -DA:52,11 -DA:53,11 -DA:54,11 -DA:55,11 -DA:56,11 -DA:57,11 -DA:58,11 -DA:59,11 -DA:60,11 -DA:61,11 -DA:62,11 -DA:63,11 -DA:64,11 -DA:65,11 -DA:66,11 -DA:67,11 -DA:68,11 -DA:69,11 -DA:70,11 -DA:71,11 -DA:72,11 -DA:73,11 -DA:74,11 -DA:75,11 -DA:76,11 -DA:77,11 -DA:78,11 -DA:79,11 -DA:80,11 -DA:81,11 -DA:82,11 -DA:83,11 -DA:84,11 -DA:85,11 -DA:86,11 -DA:87,11 -DA:88,11 -DA:89,11 -DA:90,7 -DA:91,7 -DA:92,0 -DA:93,0 -DA:94,7 -DA:95,7 -DA:96,0 -DA:97,0 -DA:98,7 -DA:99,11 -DA:100,11 -DA:101,11 -DA:102,11 -DA:103,11 -DA:104,11 -DA:105,11 -DA:106,11 -DA:107,11 -DA:108,0 -DA:109,0 -DA:110,0 -DA:111,0 -DA:112,11 -DA:113,11 -DA:114,11 -DA:115,11 -DA:116,11 -DA:117,1 -DA:118,1 -DA:119,1 -DA:120,1 -DA:121,1 -DA:122,1 -DA:123,1 -DA:124,11 -DA:125,11 -DA:126,11 -DA:127,0 -DA:128,0 -DA:129,0 -DA:130,0 -DA:131,11 -DA:132,11 -DA:133,11 -DA:134,1 -DA:135,1 -DA:136,1 -DA:137,1 -DA:138,11 -DA:139,11 -DA:140,11 -DA:141,1 -DA:142,1 -DA:143,1 -DA:144,1 -DA:145,11 -DA:146,11 -DA:147,11 -DA:148,11 -DA:149,11 -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,11 -DA:173,11 -DA:174,11 -DA:175,11 -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,11 -DA:191,11 -DA:192,7 -DA:193,7 -DA:194,7 -DA:195,0 -DA:196,0 -DA:197,7 -DA:198,7 -DA:199,7 -DA:200,7 -DA:201,7 -DA:202,7 -DA:203,7 -DA:204,7 -DA:205,7 -DA:206,7 -DA:207,7 -DA:208,7 -DA:209,7 -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,1 -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,1 -DA:229,7 -DA:230,11 -DA:231,11 -DA:232,11 -DA:233,0 -DA:234,0 -DA:235,0 -DA:236,0 -DA:237,0 -DA:238,11 -DA:239,11 -DA:240,7 -DA:241,7 -DA:242,0 -DA:243,0 -DA:244,7 -DA:245,1 -DA:246,7 -DA:247,6 -DA:248,6 -DA:249,11 -DA:250,11 -DA:251,11 -DA:252,7 -DA:253,7 -DA:254,7 -DA:255,7 -DA:256,7 -DA:257,5 -DA:258,5 -DA:259,15 -DA:260,15 -DA:261,15 -DA:262,5 -DA:263,5 -DA:264,7 -DA:265,7 -DA:266,7 -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,7 -DA:276,7 -DA:277,6 -DA:278,6 -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,6 -DA:298,6 -DA:299,6 -DA:300,6 -DA:301,6 -DA:302,6 -DA:303,7 -DA:304,7 -DA:305,7 -DA:306,6 -DA:307,6 -DA:308,7 -DA:309,7 -DA:310,11 -DA:311,11 -DA:312,11 -DA:313,11 -DA:314,0 -DA:315,0 -DA:316,0 -DA:317,0 -DA:318,0 -DA:319,11 -DA:320,11 -DA:321,11 -DA:322,11 -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,11 -DA:335,11 -DA:336,11 -DA:337,7 -DA:338,7 -DA:339,7 -DA:340,7 -DA:341,11 -DA:342,11 -DA:343,11 -DA:344,11 -DA:345,11 -DA:346,11 -DA:347,11 -DA:348,11 -DA:349,3 -DA:350,3 -DA:351,11 -DA:352,11 -DA:353,0 -DA:354,0 -DA:355,0 -DA:356,0 -DA:357,11 -DA:358,11 -DA:359,10 -DA:360,10 -DA:361,10 -DA:362,10 -DA:363,10 -DA:364,10 -DA:365,10 -DA:366,10 -DA:367,10 -DA:368,10 -DA:369,10 -DA:370,10 -DA:371,10 -DA:372,10 -DA:373,10 -DA:374,10 -DA:375,10 -DA:376,10 -DA:377,10 -DA:378,10 -DA:379,10 -DA:380,10 -DA:381,0 -DA:382,11 -DA:383,11 -DA:384,11 -DA:385,11 -DA:386,11 -DA:387,11 -DA:388,11 -DA:389,11 -DA:390,11 -DA:391,11 -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,11 -DA:410,11 -DA:411,11 -DA:412,7 -DA:413,7 -DA:414,7 -DA:415,7 -DA:416,7 -DA:417,7 -DA:418,7 -DA:419,7 -DA:420,7 -DA:421,7 -DA:422,0 -DA:423,7 -DA:424,7 -DA:425,7 -DA:426,7 -DA:427,7 -DA:428,7 -DA:429,7 -DA:430,3 -DA:431,11 -DA:432,11 -DA:433,11 -DA:434,1 -DA:435,1 -DA:436,1 -DA:437,1 -DA:438,1 -DA:439,1 -DA:440,1 -DA:441,1 -DA:442,1 -DA:443,1 -DA:444,1 -DA:445,0 -DA:446,1 -DA:447,1 -DA:448,1 -DA:449,1 -DA:450,1 -DA:451,1 -DA:452,9 -DA:453,11 -DA:454,11 -DA:455,11 -DA:456,2 -DA:457,2 -DA:458,2 -DA:459,2 -DA:460,2 -DA:461,2 -DA:462,2 -DA:463,2 -DA:464,2 -DA:465,2 -DA:466,2 -DA:467,0 -DA:468,2 -DA:469,2 -DA:470,2 -DA:471,2 -DA:472,2 -DA:473,2 -DA:474,2 -DA:475,8 -DA:476,11 -DA:477,11 -DA:478,11 -DA:479,11 -DA:480,11 -DA:481,11 -DA:482,11 -DA:483,11 -DA:484,11 -DA:485,11 -DA:486,11 -DA:487,1 -DA:488,1 -DA:489,1 -DA:490,1 -LF:490 -LH:357 -BRDA:29,0,0,11 -BRDA:81,1,0,1 -BRDA:81,2,0,0 -BRDA:81,3,0,10 -BRDA:102,4,0,0 -BRDA:102,5,0,10 -BRDA:358,6,0,10 -BRDA:380,7,0,0 -BRDA:411,8,0,7 -BRDA:429,9,0,3 -BRDA:433,10,0,9 -BRDA:433,11,0,1 -BRDA:451,12,0,9 -BRDA:455,13,0,2 -BRDA:474,14,0,8 -BRDA:89,15,0,7 -BRDA:91,16,0,0 -BRDA:95,17,0,0 -BRDA:116,18,0,1 -BRDA:133,19,0,1 -BRDA:140,20,0,1 -BRDA:191,21,0,7 -BRDA:192,22,0,6 -BRDA:194,23,0,0 -BRDA:209,24,0,1 -BRDA:214,25,0,0 -BRDA:218,26,0,0 -BRDA:218,27,0,0 -BRDA:239,28,0,7 -BRDA:241,29,0,0 -BRDA:244,30,0,1 -BRDA:246,31,0,6 -BRDA:251,32,0,7 -BRDA:276,33,0,6 -BRDA:253,34,0,7 -BRDA:256,35,0,5 -BRDA:258,36,0,15 -BRDA:304,37,0,7 -BRDA:305,38,0,6 -BRDA:336,39,0,7 -BRDA:348,40,0,3 -BRF:41 -BRH:31 -end_of_record -TN: -SF:src\components\timeline-elements\memoized\index.tsx -FN:23,TitleMemo -FNF:1 -FNH:1 -FNDA:29,TitleMemo -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,29 -DA:25,29 -DA:26,29 -DA:27,29 -DA:28,29 -DA:29,29 -DA:30,29 -DA:31,29 -DA:32,29 -DA:33,29 -DA:34,29 -DA:35,25 -DA:36,25 -DA:37,25 -DA:38,25 -DA:39,25 -DA:40,25 -DA:41,25 -DA:42,25 -DA:43,25 -DA:44,25 -DA:45,1 -DA:46,1 -DA:47,1 -DA:48,24 -DA:49,24 -DA:50,25 -DA:51,25 -DA:52,4 -DA:53,29 -DA:54,1 -DA:55,1 -DA:56,1 -DA:57,1 -DA:58,1 -DA:59,29 -DA:60,24 -DA:61,24 -DA:62,24 -DA:63,24 -DA:64,24 -DA:65,24 -DA:66,24 -DA:67,24 -DA:68,24 -DA:69,24 -DA:70,5 -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,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,1 -DA:98,1 -DA:99,1 -DA:100,1 -DA:101,1 -DA:102,1 -DA:103,1 -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,1 -DA:122,1 -DA:123,1 -DA:124,1 -DA:125,1 -DA:126,1 -DA:127,10 -DA:128,10 -DA:129,10 -DA:130,10 -DA:131,10 -DA:132,10 -DA:133,10 -DA:134,10 -DA:135,10 -DA:136,0 -DA:137,0 -DA:138,0 -DA:139,10 -DA:140,10 -DA:141,10 -DA:142,10 -DA:143,10 -DA:144,10 -DA:145,10 -DA:146,10 -DA:147,10 -DA:148,0 -DA:149,0 -DA:150,10 -DA:151,10 -DA:152,10 -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,10 -DA:164,10 -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:119 -BRDA:23,0,0,29 -BRDA:34,1,0,25 -BRDA:36,2,0,6 -BRDA:36,3,0,19 -BRDA:44,4,0,1 -BRDA:47,5,0,24 -BRDA:51,6,0,4 -BRDA:58,7,0,29 -BRDA:59,8,0,24 -BRDA:69,9,0,5 -BRDA:126,10,0,10 -BRDA:152,11,0,0 -BRDA:143,12,0,10 -BRDA:144,13,0,0 -BRDA:147,14,0,0 -BRF:15 -BRH:12 -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:58,ShapeBorderStyle -FNDA:29,Object.defineProperty.enumerable -FNDA:29,Object.defineProperty.enumerable -FNDA:29,Object.defineProperty.enumerable -FNDA:29,Object.defineProperty.enumerable -FNDA:29,Object.defineProperty.enumerable -FNDA:29,Object.defineProperty.enumerable -FNDA:29,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,58 -DA:46,58 -DA:47,58 -DA:48,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:52,58 -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,58 -BRDA:47,1,0,0 -BRDA:57,2,0,29 -BRDA:58,3,0,29 -BRDA:59,4,0,29 -BRDA:60,5,0,0 -BRDA:67,6,0,29 -BRDA:68,7,0,0 -BRDA:75,8,0,29 -BRDA:75,9,0,0 -BRDA:76,10,0,29 -BRDA:76,11,0,0 -BRDA:86,12,0,29 -BRDA:89,13,0,29 -BRDA:90,14,0,29 -BRDA:90,15,0,0 -BRDA:91,16,0,29 -BRDA:99,17,0,29 -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:62,handleClick -FN:149,showTimelineContent -FNF:3 -FNH:2 -FNDA:9,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,9 -DA:24,9 -DA:25,9 -DA:26,9 -DA:27,9 -DA:28,9 -DA:29,9 -DA:30,9 -DA:31,9 -DA:32,9 -DA:33,9 -DA:34,9 -DA:35,9 -DA:36,9 -DA:37,9 -DA:38,9 -DA:39,9 -DA:40,9 -DA:41,9 -DA:42,9 -DA:43,9 -DA:44,9 -DA:45,9 -DA:46,9 -DA:47,9 -DA:48,9 -DA:49,9 -DA:50,9 -DA:51,9 -DA:52,9 -DA:53,9 -DA:54,9 -DA:55,9 -DA:56,9 -DA:57,9 -DA:58,9 -DA:59,9 -DA:60,9 -DA:61,9 -DA:62,9 -DA:63,0 -DA:64,0 -DA:65,0 -DA:66,0 -DA:67,9 -DA:68,9 -DA:69,9 -DA:70,6 -DA:71,6 -DA:72,6 -DA:73,6 -DA:74,6 -DA:75,6 -DA:76,6 -DA:77,6 -DA:78,0 -DA:79,0 -DA:80,0 -DA:81,6 -DA:82,6 -DA:83,9 -DA:84,9 -DA:85,9 -DA:86,9 -DA:87,9 -DA:88,9 -DA:89,9 -DA:90,9 -DA:91,9 -DA:92,9 -DA:93,9 -DA:94,9 -DA:95,9 -DA:96,9 -DA:97,9 -DA:98,9 -DA:99,9 -DA:100,9 -DA:101,9 -DA:102,9 -DA:103,9 -DA:104,9 -DA:105,9 -DA:106,9 -DA:107,9 -DA:108,9 -DA:109,9 -DA:110,9 -DA:111,9 -DA:112,9 -DA:113,9 -DA:114,9 -DA:115,9 -DA:116,9 -DA:117,9 -DA:118,9 -DA:119,9 -DA:120,9 -DA:121,9 -DA:122,9 -DA:123,9 -DA:124,9 -DA:125,9 -DA:126,9 -DA:127,9 -DA:128,9 -DA:129,9 -DA:130,9 -DA:131,9 -DA:132,9 -DA:133,9 -DA:134,9 -DA:135,9 -DA:136,9 -DA:137,9 -DA:138,9 -DA:139,9 -DA:140,9 -DA:141,9 -DA:142,9 -DA:143,9 -DA:144,9 -DA:145,9 -DA:146,9 -DA:147,9 -DA:148,9 -DA:149,9 -DA:150,6 -DA:151,6 -DA:152,6 -DA:153,6 -DA:154,6 -DA:155,6 -DA:156,9 -DA:157,9 -DA:158,9 -DA:159,9 -DA:160,9 -DA:161,9 -DA:162,9 -DA:163,9 -DA:164,9 -DA:165,9 -DA:166,9 -DA:167,9 -DA:168,9 -DA:169,9 -DA:170,9 -DA:171,9 -DA:172,9 -DA:173,9 -DA:174,9 -DA:175,9 -DA:176,9 -DA:177,9 -DA:178,9 -DA:179,9 -DA:180,9 -DA:181,9 -DA:182,9 -DA:183,9 -DA:184,9 -DA:185,9 -DA:186,9 -DA:187,9 -DA:188,9 -DA:189,9 -DA:190,9 -DA:191,9 -DA:192,9 -DA:193,9 -DA:194,9 -DA:195,1 -DA:196,1 -LF:196 -LH:189 -BRDA:22,0,0,9 -BRDA:164,1,0,6 -BRDA:177,2,0,6 -BRDA:177,3,0,3 -BRDA:187,4,0,6 -BRDA:68,5,0,9 -BRDA:69,6,0,6 -BRDA:77,7,0,0 -BRDA:87,8,0,9 -BRDA:90,9,0,9 -BRDA:94,10,0,0 -BRDA:95,11,0,0 -BRDA:100,12,0,9 -BRDA:103,13,0,9 -BRDA:108,14,0,6 -BRDA:108,15,0,3 -BRDA:113,16,0,9 -BRDA:120,17,0,6 -BRDA:149,18,0,6 -BRDA:158,19,0,9 -BRDA:158,20,0,6 -BRDA:158,21,0,3 -BRF:22 -BRH:19 -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:1 -FNDA:41,ContentFooter -FNDA:0,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,41 -DA:39,41 -DA:40,41 -DA:41,41 -DA:42,41 -DA:43,41 -DA:44,41 -DA:45,41 -DA:46,41 -DA:47,41 -DA:48,41 -DA:49,41 -DA:50,41 -DA:51,41 -DA:52,41 -DA:53,41 -DA:54,41 -DA:55,32 -DA:56,32 -DA:57,32 -DA:58,32 -DA:59,32 -DA:60,32 -DA:61,41 -DA:62,41 -DA:63,41 -DA:64,0 -DA:65,0 -DA:66,0 -DA:67,0 -DA:68,41 -DA:69,41 -DA:70,32 -DA:71,41 -DA:72,41 -DA:73,41 -DA:74,41 -DA:75,41 -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,41 -DA:94,41 -DA:95,41 -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,41 -DA:105,41 -DA:106,41 -DA:107,37 -DA:108,37 -DA:109,37 -DA:110,37 -DA:111,37 -DA:112,41 -DA:113,41 -DA:114,41 -DA:115,41 -DA:116,1 -DA:117,1 -LF:117 -LH:88 -BRDA:37,0,0,41 -BRDA:75,1,0,0 -BRDA:95,2,0,0 -BRDA:106,3,0,37 -BRDA:54,4,0,32 -BRDA:58,5,0,64 -BRDA:69,6,0,32 -BRDA:70,7,0,24 -BRF:8 -BRH:6 -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,25 -DA:22,25 -DA:23,25 -DA:24,25 -DA:25,25 -DA:26,25 -DA:27,25 -DA:28,19 -DA:29,19 -DA:30,19 -DA:31,19 -DA:32,19 -DA:33,19 -DA:34,19 -DA:35,25 -DA:36,25 -DA:37,25 -DA:38,19 -DA:39,19 -DA:40,19 -DA:41,19 -DA:42,19 -DA:43,19 -DA:44,25 -DA:45,25 -DA:46,25 -DA:47,25 -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,25 -BRDA:27,1,0,19 -BRDA:32,2,0,18 -BRDA:33,3,0,18 -BRDA:37,4,0,19 -BRDA:41,5,0,18 -BRDA:42,6,0,18 -BRF:7 -BRH:7 -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,41 -DA:10,41 -DA:11,41 -DA:12,41 -DA:13,41 -DA:14,41 -DA:15,41 -DA:16,41 -DA:17,41 -DA:18,41 -DA:19,41 -DA:20,41 -DA:21,41 -DA:22,41 -DA:23,41 -DA:24,41 -DA:25,41 -DA:26,41 -DA:27,41 -DA:28,41 -DA:29,41 -DA:30,41 -DA:31,41 -DA:32,41 -DA:33,41 -DA:34,41 -DA:35,41 -DA:36,41 -DA:37,41 -DA:38,41 -DA:39,41 -DA:40,41 -DA:41,41 -DA:42,41 -DA:43,41 -DA:44,41 -DA:45,41 -DA:46,41 -DA:47,41 -DA:48,41 -DA:49,41 -DA:50,41 -DA:51,41 -DA:52,41 -DA:53,41 -DA:54,41 -DA:55,41 -DA:56,41 -DA:57,41 -DA:58,41 -DA:59,41 -DA:60,41 -DA:61,41 -DA:62,1 -DA:63,1 -DA:64,1 -DA:65,1 -DA:66,1 -LF:66 -LH:66 -BRDA:8,0,0,41 -BRDA:47,1,0,0 -BRF:2 -BRH:1 -end_of_record -TN: -SF:src\components\timeline-elements\timeline-card-content\text-or-content.tsx -FN:30,renderTextArray -FN:62,getTextOrContent -FN:74,renderTimelineContent -FNF:3 -FNH:3 -FNDA:1,renderTextArray -FNDA:73,getTextOrContent -FNDA:41,renderTimelineContent -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,2 -DA:39,0 -DA:40,0 -DA:41,0 -DA:42,0 -DA:43,0 -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,1 -DA:57,1 -DA:58,1 -DA:59,1 -DA:60,1 -DA:61,1 -DA:62,1 -DA:63,73 -DA:64,73 -DA:65,73 -DA:66,73 -DA:67,73 -DA:68,73 -DA:69,73 -DA:70,41 -DA:71,41 -DA:72,41 -DA:73,41 -DA:74,41 -DA:75,41 -DA:76,0 -DA:77,41 -DA:78,41 -DA:79,41 -DA:80,1 -DA:81,1 -DA:82,1 -DA:83,1 -DA:84,1 -DA:85,1 -DA:86,1 -DA:87,41 -DA:88,40 -DA:89,40 -DA:90,41 -DA:91,41 -DA:92,41 -DA:93,0 -DA:94,0 -DA:95,0 -DA:96,0 -DA:97,0 -DA:98,41 -DA:99,41 -DA:100,41 -DA:101,35 -DA:102,35 -DA:103,35 -DA:104,35 -DA:105,35 -DA:106,35 -DA:107,35 -DA:108,35 -DA:109,6 -DA:110,41 -DA:111,41 -DA:112,41 -DA:113,41 -DA:114,41 -DA:115,73 -DA:116,73 -DA:117,73 -DA:118,73 -DA:119,73 -DA:120,73 -DA:121,1 -DA:122,1 -LF:122 -LH:111 -BRDA:30,0,0,1 -BRDA:37,1,0,2 -BRDA:38,2,0,0 -BRDA:48,3,0,0 -BRDA:53,4,0,0 -BRDA:62,5,0,73 -BRDA:69,6,0,41 -BRDA:74,7,0,41 -BRDA:75,8,0,0 -BRDA:79,9,0,1 -BRDA:81,10,0,0 -BRDA:87,11,0,40 -BRDA:88,12,0,0 -BRDA:92,13,0,0 -BRDA:92,14,0,0 -BRDA:100,15,0,35 -BRDA:102,16,0,0 -BRDA:107,17,0,0 -BRDA:107,18,0,0 -BRDA:108,19,0,6 -BRF:20 -BRH:9 -end_of_record -TN: -SF:src\components\timeline-elements\timeline-card-content\timeline-card-content.styles.ts -FN:35,__vite_ssr_import_0__.default.section.borderLessCards.borderLessCards -FN:39,Object.defineProperty.enumerable -FN:46,Object.defineProperty.enumerable -FN:47,Object.defineProperty.enumerable -FN:48,Object.defineProperty.enumerable -FN:49,Object.defineProperty.enumerable -FN:58,Object.defineProperty.enumerable -FN:79,Object.defineProperty.enumerable -FN:87,Object.defineProperty.enumerable -FN:90,Object.defineProperty.enumerable -FN:93,Object.defineProperty.enumerable -FN:149,Object.defineProperty.enumerable -FN:150,Object.defineProperty.enumerable -FN:164,Object.defineProperty.enumerable -FN:165,Object.defineProperty.enumerable -FN:170,Object.defineProperty.enumerable -FN:197,Object.defineProperty.enumerable -FN:221,__vite_ssr_import_0__.default.div.$cardHeight.$cardHeight -FN:225,__vite_ssr_import_0__.default.div.height.height -FN:237,__vite_ssr_import_0__.default.div.height.height -FN:240,__vite_ssr_import_0__.default.div.height.height -FN:244,__vite_ssr_import_0__.default.div.height.height -FN:246,Object.defineProperty.enumerable -FN:274,Object.defineProperty.enumerable -FN:275,Object.defineProperty.enumerable -FN:299,Object.defineProperty.enumerable -FN:316,slideAnimation -FN:332,Object.defineProperty.enumerable -FN:406,Object.defineProperty.enumerable -FNF:29 -FNH:26 -FNDA:41,__vite_ssr_import_0__.default.section.borderLessCards.borderLessCards -FNDA:41,Object.defineProperty.enumerable -FNDA:41,Object.defineProperty.enumerable -FNDA:41,Object.defineProperty.enumerable -FNDA:41,Object.defineProperty.enumerable -FNDA:41,Object.defineProperty.enumerable -FNDA:41,Object.defineProperty.enumerable -FNDA:41,Object.defineProperty.enumerable -FNDA:41,Object.defineProperty.enumerable -FNDA:41,Object.defineProperty.enumerable -FNDA:41,Object.defineProperty.enumerable -FNDA:24,Object.defineProperty.enumerable -FNDA:24,Object.defineProperty.enumerable -FNDA:25,Object.defineProperty.enumerable -FNDA:25,Object.defineProperty.enumerable -FNDA:25,Object.defineProperty.enumerable -FNDA:2,Object.defineProperty.enumerable -FNDA:41,__vite_ssr_import_0__.default.div.$cardHeight.$cardHeight -FNDA:41,__vite_ssr_import_0__.default.div.height.height -FNDA:41,__vite_ssr_import_0__.default.div.height.height -FNDA:41,__vite_ssr_import_0__.default.div.height.height -FNDA:41,__vite_ssr_import_0__.default.div.height.height -FNDA:41,Object.defineProperty.enumerable -FNDA:41,Object.defineProperty.enumerable -FNDA:41,Object.defineProperty.enumerable -FNDA:0,Object.defineProperty.enumerable -FNDA:0,slideAnimation -FNDA:0,Object.defineProperty.enumerable -FNDA:37,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,41 -DA:41,41 -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,41 -DA:51,0 -DA:52,1 -DA:53,1 -DA:54,1 -DA:55,1 -DA:56,1 -DA:57,1 -DA:58,1 -DA:59,41 -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,41 -DA:74,41 -DA:75,41 -DA:76,41 -DA:77,1 -DA:78,1 -DA:79,1 -DA:80,41 -DA:81,0 -DA:82,0 -DA:83,41 -DA:84,41 -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,41 -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,41 -DA:120,1 -DA:121,1 -DA:122,41 -DA:123,0 -DA:124,0 -DA:125,0 -DA:126,0 -DA:127,0 -DA:128,0 -DA:129,41 -DA:130,41 -DA:131,0 -DA:132,0 -DA:133,0 -DA:134,0 -DA:135,41 -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,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,1 -DA:205,1 -DA:206,1 -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,1 -DA:219,1 -DA:220,1 -DA:221,1 -DA:222,41 -DA:223,37 -DA:224,1 -DA:225,1 -DA:226,41 -DA:227,41 -DA:228,41 -DA:229,41 -DA:230,41 -DA:231,41 -DA:232,41 -DA:233,0 -DA:234,1 -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,41 -DA:248,41 -DA:249,41 -DA:250,41 -DA:251,41 -DA:252,41 -DA:253,41 -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,41 -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,1 -DA:314,1 -DA:315,1 -DA:316,1 -DA:317,0 -DA:318,0 -DA:319,0 -DA:320,0 -DA:321,0 -DA:322,1 -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,1 -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,0 -DA:344,0 -DA:345,0 -DA:346,0 -DA:347,0 -DA:348,0 -DA:349,0 -DA:350,1 -DA:351,1 -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,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,0 -DA:383,0 -DA:384,0 -DA:385,0 -DA:386,1 -DA:387,1 -DA:388,1 -DA:389,1 -DA:390,1 -DA:391,1 -DA:392,1 -DA:393,1 -DA:394,1 -DA:395,1 -DA:396,1 -DA:397,1 -DA:398,1 -DA:399,1 -DA:400,1 -DA:401,1 -DA:402,1 -DA:403,1 -DA:404,1 -DA:405,1 -DA:406,1 -DA:407,1 -DA:408,1 -DA:409,1 -DA:410,1 -DA:411,1 -DA:412,1 -DA:413,1 -DA:414,1 -DA:415,1 -DA:416,1 -DA:417,1 -DA:418,1 -LF:418 -LH:330 -BRDA:35,0,0,41 -BRDA:39,1,0,41 -BRDA:41,2,0,0 -BRDA:46,3,0,41 -BRDA:46,4,0,0 -BRDA:47,5,0,41 -BRDA:48,6,0,41 -BRDA:49,7,0,41 -BRDA:50,8,0,0 -BRDA:58,9,0,41 -BRDA:59,10,0,0 -BRDA:79,11,0,41 -BRDA:80,12,0,0 -BRDA:87,13,0,41 -BRDA:87,14,0,0 -BRDA:90,15,0,41 -BRDA:93,16,0,41 -BRDA:94,17,0,0 -BRDA:94,18,0,0 -BRDA:121,19,0,41 -BRDA:122,20,0,0 -BRDA:122,21,0,0 -BRDA:130,22,0,0 -BRDA:130,23,0,0 -BRDA:149,24,0,24 -BRDA:150,25,0,24 -BRDA:155,26,0,24 -BRDA:155,27,0,6 -BRDA:155,28,0,18 -BRDA:164,29,0,25 -BRDA:165,30,0,25 -BRDA:170,31,0,25 -BRDA:170,32,0,0 -BRDA:171,33,0,25 -BRDA:188,34,0,35 -BRDA:197,35,0,2 -BRDA:198,36,0,2 -BRDA:221,37,0,41 -BRDA:222,38,0,37 -BRDA:222,39,0,37 -BRDA:222,40,0,37 -BRDA:222,41,0,37 -BRDA:223,42,0,4 -BRDA:225,43,0,41 -BRDA:232,44,0,0 -BRDA:232,45,0,0 -BRDA:237,46,0,41 -BRDA:240,47,0,41 -BRDA:241,48,0,0 -BRDA:244,49,0,41 -BRDA:244,50,0,0 -BRDA:246,51,0,41 -BRDA:253,52,0,0 -BRDA:253,53,0,0 -BRDA:253,54,0,0 -BRDA:274,55,0,41 -BRDA:275,56,0,41 -BRDA:287,57,0,41 -BRDA:406,58,0,37 -BRDA:416,59,0,37 -BRDA:417,60,0,14 -BRDA:417,61,0,23 -BRF:62 -BRH:42 -end_of_record -TN: -SF:src\components\timeline-elements\timeline-card-content\timeline-card-content.tsx -FN:339,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,71 -DA:26,71 -DA:27,71 -DA:28,71 -DA:29,71 -DA:30,71 -DA:31,71 -DA:32,71 -DA:33,71 -DA:34,71 -DA:35,71 -DA:36,71 -DA:37,71 -DA:38,71 -DA:39,71 -DA:40,71 -DA:41,71 -DA:42,71 -DA:43,71 -DA:44,71 -DA:45,71 -DA:46,71 -DA:47,71 -DA:48,71 -DA:49,71 -DA:50,71 -DA:51,71 -DA:52,71 -DA:53,71 -DA:54,71 -DA:55,71 -DA:56,71 -DA:57,71 -DA:58,71 -DA:59,71 -DA:60,71 -DA:61,71 -DA:62,71 -DA:63,71 -DA:64,71 -DA:65,71 -DA:66,71 -DA:67,71 -DA:68,71 -DA:69,71 -DA:70,71 -DA:71,71 -DA:72,71 -DA:73,71 -DA:74,71 -DA:75,71 -DA:76,71 -DA:77,71 -DA:78,71 -DA:79,71 -DA:80,71 -DA:81,71 -DA:82,71 -DA:83,71 -DA:84,71 -DA:85,71 -DA:86,71 -DA:87,32 -DA:88,71 -DA:89,71 -DA:90,71 -DA:91,71 -DA:92,71 -DA:93,71 -DA:94,32 -DA:95,71 -DA:96,71 -DA:97,71 -DA:98,32 -DA:99,32 -DA:100,32 -DA:101,32 -DA:102,32 -DA:103,71 -DA:104,71 -DA:105,71 -DA:106,32 -DA:107,6 -DA:108,6 -DA:109,71 -DA:110,71 -DA:111,71 -DA:112,71 -DA:113,82 -DA:114,41 -DA:115,41 -DA:116,41 -DA:117,82 -DA:118,0 -DA:119,0 -DA:120,41 -DA:121,41 -DA:122,41 -DA:123,41 -DA:124,41 -DA:125,41 -DA:126,82 -DA:127,71 -DA:128,71 -DA:129,71 -DA:130,71 -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,71 -DA:150,71 -DA:151,71 -DA:152,32 -DA:153,0 -DA:154,0 -DA:155,71 -DA:156,71 -DA:157,71 -DA:158,71 -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,71 -DA:173,71 -DA:174,71 -DA:175,71 -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,71 -DA:190,71 -DA:191,71 -DA:192,32 -DA:193,0 -DA:194,0 -DA:195,32 -DA:196,32 -DA:197,0 -DA:198,0 -DA:199,0 -DA:200,32 -DA:201,32 -DA:202,32 -DA:203,0 -DA:204,0 -DA:205,32 -DA:206,32 -DA:207,32 -DA:208,32 -DA:209,71 -DA:210,71 -DA:211,71 -DA:212,41 -DA:213,0 -DA:214,0 -DA:215,71 -DA:216,71 -DA:217,71 -DA:218,32 -DA:219,0 -DA:220,0 -DA:221,71 -DA:222,71 -DA:223,71 -DA:224,32 -DA:225,71 -DA:226,71 -DA:227,71 -DA:228,71 -DA:229,71 -DA:230,71 -DA:231,32 -DA:232,71 -DA:233,71 -DA:234,71 -DA:235,71 -DA:236,71 -DA:237,71 -DA:238,71 -DA:239,71 -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,71 -DA:252,71 -DA:253,71 -DA:254,71 -DA:255,71 -DA:256,32 -DA:257,32 -DA:258,32 -DA:259,32 -DA:260,71 -DA:261,71 -DA:262,71 -DA:263,71 -DA:264,71 -DA:265,32 -DA:266,32 -DA:267,28 -DA:268,4 -DA:269,32 -DA:270,32 -DA:271,71 -DA:272,71 -DA:273,71 -DA:274,71 -DA:275,71 -DA:276,71 -DA:277,71 -DA:278,71 -DA:279,71 -DA:280,71 -DA:281,32 -DA:282,0 -DA:283,32 -DA:284,32 -DA:285,32 -DA:286,0 -DA:287,0 -DA:288,71 -DA:289,71 -DA:290,71 -DA:291,0 -DA:292,0 -DA:293,0 -DA:294,0 -DA:295,71 -DA:296,71 -DA:297,71 -DA:298,32 -DA:299,0 -DA:300,0 -DA:301,0 -DA:302,0 -DA:303,0 -DA:304,0 -DA:305,32 -DA:306,71 -DA:307,71 -DA:308,71 -DA:309,71 -DA:310,71 -DA:311,71 -DA:312,71 -DA:313,71 -DA:314,32 -DA:315,32 -DA:316,0 -DA:317,32 -DA:318,0 -DA:319,32 -DA:320,71 -DA:321,71 -DA:322,71 -DA:323,71 -DA:324,32 -DA:325,71 -DA:326,71 -DA:327,71 -DA:328,32 -DA:329,32 -DA:330,32 -DA:331,32 -DA:332,32 -DA:333,32 -DA:334,71 -DA:335,71 -DA:336,71 -DA:337,32 -DA:338,32 -DA:339,32 -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,32 -DA:351,32 -DA:352,32 -DA:353,32 -DA:354,32 -DA:355,71 -DA:356,71 -DA:357,71 -DA:358,71 -DA:359,71 -DA:360,71 -DA:361,71 -DA:362,71 -DA:363,71 -DA:364,71 -DA:365,71 -DA:366,71 -DA:367,71 -DA:368,71 -DA:369,71 -DA:370,71 -DA:371,71 -DA:372,71 -DA:373,71 -DA:374,71 -DA:375,71 -DA:376,71 -DA:377,71 -DA:378,71 -DA:379,71 -DA:380,64 -DA:381,64 -DA:382,64 -DA:383,64 -DA:384,64 -DA:385,64 -DA:386,64 -DA:387,7 -DA:388,71 -DA:389,71 -DA:390,71 -DA:391,22 -DA:392,22 -DA:393,22 -DA:394,22 -DA:395,22 -DA:396,22 -DA:397,22 -DA:398,22 -DA:399,22 -DA:400,22 -DA:401,22 -DA:402,22 -DA:403,22 -DA:404,22 -DA:405,22 -DA:406,22 -DA:407,22 -DA:408,22 -DA:409,22 -DA:410,22 -DA:411,22 -DA:412,71 -DA:413,71 -DA:414,71 -DA:415,71 -DA:416,71 -DA:417,71 -DA:418,71 -DA:419,71 -DA:420,71 -DA:421,71 -DA:422,71 -DA:423,71 -DA:424,71 -DA:425,71 -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,71 -DA:436,71 -DA:437,71 -DA:438,71 -DA:439,71 -DA:440,71 -DA:441,71 -DA:442,71 -DA:443,71 -DA:444,71 -DA:445,71 -DA:446,71 -DA:447,71 -DA:448,71 -DA:449,71 -DA:450,71 -DA:451,71 -DA:452,71 -DA:453,71 -DA:454,71 -DA:455,71 -DA:456,71 -DA:457,71 -DA:458,1 -DA:459,1 -DA:460,1 -DA:461,1 -DA:462,1 -LF:462 -LH:358 -BRDA:24,0,0,71 -BRDA:320,1,0,65 -BRDA:325,2,0,0 -BRDA:366,3,0,0 -BRDA:379,4,0,64 -BRDA:379,5,0,64 -BRDA:386,6,0,7 -BRDA:390,7,0,22 -BRDA:425,8,0,0 -BRDA:437,9,0,0 -BRDA:86,10,0,32 -BRDA:87,11,0,6 -BRDA:87,12,0,0 -BRDA:93,13,0,32 -BRDA:97,14,0,32 -BRDA:105,15,0,32 -BRDA:106,16,0,6 -BRDA:112,17,0,82 -BRDA:113,18,0,41 -BRDA:117,19,0,0 -BRDA:119,20,0,41 -BRDA:151,21,0,32 -BRDA:152,22,0,0 -BRDA:152,23,0,0 -BRDA:191,24,0,32 -BRDA:192,25,0,0 -BRDA:196,26,0,6 -BRDA:196,27,0,0 -BRDA:202,28,0,6 -BRDA:202,29,0,0 -BRDA:211,30,0,41 -BRDA:212,31,0,9 -BRDA:212,32,0,0 -BRDA:217,33,0,32 -BRDA:218,34,0,0 -BRDA:223,35,0,32 -BRDA:230,36,0,32 -BRDA:231,37,0,28 -BRDA:231,38,0,24 -BRDA:255,39,0,32 -BRDA:257,40,0,6 -BRDA:257,41,0,26 -BRDA:258,42,0,28 -BRDA:264,43,0,32 -BRDA:266,44,0,28 -BRDA:267,45,0,4 -BRDA:269,46,0,28 -BRDA:280,47,0,32 -BRDA:281,48,0,0 -BRDA:281,49,0,0 -BRDA:285,50,0,0 -BRDA:297,51,0,32 -BRDA:298,52,0,0 -BRDA:313,53,0,32 -BRDA:315,54,0,26 -BRDA:315,55,0,0 -BRDA:317,56,0,0 -BRDA:323,57,0,32 -BRDA:324,58,0,0 -BRDA:327,59,0,32 -BRDA:336,60,0,32 -BRF:61 -BRH:41 -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 -BRF:0 -BRH:0 -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:13 -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:9,Object.defineProperty.enumerable -FNDA:9,Object.defineProperty.enumerable -FNDA:10,__vite_ssr_import_0__.default.div.$borderLessCard.$borderLessCard -FNDA:10,__vite_ssr_import_0__.default.div.$borderLessCard.$borderLessCard -FNDA:10,__vite_ssr_import_0__.default.div.$borderLessCard.$borderLessCard -FNDA:10,__vite_ssr_import_0__.default.div.$borderLessCard.$borderLessCard -FNDA:10,Object.defineProperty.enumerable -FNDA:10,Object.defineProperty.enumerable -FNDA:0,Object.defineProperty.enumerable -FNDA:0,Object.defineProperty.enumerable -FNDA:0,Object.defineProperty.enumerable -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,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,0 -DA:48,0 -DA:49,0 -DA:50,10 -DA:51,10 -DA:52,0 -DA:53,0 -DA:54,0 -DA:55,10 -DA:56,10 -DA:57,10 -DA:58,10 -DA:59,10 -DA:60,10 -DA:61,10 -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,10 -DA:107,10 -DA:108,10 -DA:109,10 -DA:110,10 -DA:111,10 -DA:112,10 -DA:113,1 -DA:114,1 -DA:115,1 -DA:116,1 -DA:117,1 -DA:118,10 -DA:119,0 -DA:120,0 -DA:121,0 -DA:122,0 -DA:123,0 -DA:124,0 -DA:125,10 -DA:126,10 -DA:127,0 -DA:128,0 -DA:129,0 -DA:130,0 -DA:131,0 -DA:132,0 -DA:133,10 -DA:134,10 -DA:135,0 -DA:136,0 -DA:137,0 -DA:138,0 -DA:139,0 -DA:140,0 -DA:141,10 -DA:142,1 -DA:143,1 -DA:144,10 -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,10 -DA:156,10 -DA:157,1 -DA:158,1 -DA:159,1 -DA:160,10 -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,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,1 -DA:215,1 -DA:216,0 -DA:217,0 -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:189 -BRDA:34,0,0,10 -BRDA:34,1,0,0 -BRDA:37,2,0,10 -BRDA:37,3,0,0 -BRDA:39,4,0,10 -BRDA:39,5,0,4 -BRDA:39,6,0,0 -BRDA:41,7,0,10 -BRDA:44,8,0,10 -BRDA:44,9,0,0 -BRDA:45,10,0,10 -BRDA:46,11,0,0 -BRDA:51,12,0,0 -BRDA:77,13,0,9 -BRDA:79,14,0,9 -BRDA:79,15,0,0 -BRDA:80,16,0,9 -BRDA:80,17,0,0 -BRDA:105,18,0,10 -BRDA:107,19,0,0 -BRDA:108,20,0,0 -BRDA:117,21,0,10 -BRDA:118,22,0,0 -BRDA:118,23,0,0 -BRDA:126,24,0,0 -BRDA:134,25,0,0 -BRDA:134,26,0,0 -BRDA:142,27,0,10 -BRDA:142,28,0,0 -BRDA:143,29,0,10 -BRDA:144,30,0,0 -BRDA:159,31,0,10 -BRDA:160,32,0,0 -BRDA:163,33,0,10 -BRDA:164,34,0,10 -BRDA:164,35,0,0 -BRF:36 -BRH:17 -end_of_record -TN: -SF:src\components\timeline-elements\timeline-card-media\timeline-card-media.tsx -FN:42,CardMedia -FN:158,onPlay -FN:165,onPause -FN:172,onEnded -FNF:4 -FNH:1 -FNDA:10,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,10 -DA:44,10 -DA:45,10 -DA:46,10 -DA:47,10 -DA:48,10 -DA:49,10 -DA:50,10 -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,10 -DA:67,10 -DA:68,10 -DA:69,10 -DA:70,10 -DA:71,10 -DA:72,10 -DA:73,10 -DA:74,10 -DA:75,10 -DA:76,10 -DA:77,10 -DA:78,10 -DA:79,10 -DA:80,10 -DA:81,10 -DA:82,0 -DA:83,0 -DA:84,10 -DA:85,10 -DA:86,6 -DA:87,6 -DA:88,10 -DA:89,4 -DA:90,4 -DA:91,4 -DA:92,10 -DA:93,10 -DA:94,10 -DA:95,10 -DA:96,0 -DA:97,10 -DA:98,10 -DA:99,10 -DA:100,10 -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,10 -DA:110,10 -DA:111,10 -DA:112,10 -DA:113,10 -DA:114,10 -DA:115,10 -DA:116,10 -DA:117,10 -DA:118,10 -DA:119,10 -DA:120,10 -DA:121,10 -DA:122,10 -DA:123,10 -DA:124,10 -DA:125,10 -DA:126,10 -DA:127,10 -DA:128,10 -DA:129,10 -DA:130,10 -DA:131,10 -DA:132,10 -DA:133,10 -DA:134,10 -DA:135,10 -DA:136,10 -DA:137,10 -DA:138,10 -DA:139,10 -DA:140,10 -DA:141,10 -DA:142,10 -DA:143,10 -DA:144,10 -DA:145,10 -DA:146,10 -DA:147,10 -DA:148,10 -DA:149,10 -DA:150,10 -DA:151,10 -DA:152,10 -DA:153,10 -DA:154,10 -DA:155,10 -DA:156,10 -DA:157,10 -DA:158,10 -DA:159,0 -DA:160,0 -DA:161,0 -DA:162,0 -DA:163,0 -DA:164,10 -DA:165,10 -DA:166,0 -DA:167,0 -DA:168,0 -DA:169,0 -DA:170,0 -DA:171,10 -DA:172,10 -DA:173,0 -DA:174,0 -DA:175,0 -DA:176,0 -DA:177,0 -DA:178,10 -DA:179,10 -DA:180,10 -DA:181,10 -DA:182,10 -DA:183,10 -DA:184,10 -DA:185,10 -DA:186,10 -DA:187,10 -DA:188,10 -DA:189,10 -DA:190,10 -DA:191,10 -DA:192,10 -DA:193,10 -DA:194,10 -DA:195,10 -DA:196,10 -DA:197,10 -DA:198,10 -DA:199,10 -DA:200,10 -DA:201,10 -DA:202,10 -DA:203,10 -DA:204,10 -DA:205,10 -DA:206,10 -DA:207,10 -DA:208,0 -DA:209,0 -DA:210,0 -DA:211,10 -DA:212,10 -DA:213,10 -DA:214,10 -DA:215,10 -DA:216,0 -DA:217,0 -DA:218,0 -DA:219,0 -DA:220,0 -DA:221,10 -DA:222,10 -DA:223,10 -DA:224,10 -DA:225,10 -DA:226,10 -DA:227,10 -DA:228,10 -DA:229,0 -DA:230,0 -DA:231,0 -DA:232,0 -DA:233,0 -DA:234,10 -DA:235,10 -DA:236,10 -DA:237,10 -DA:238,10 -DA:239,10 -DA:240,10 -DA:241,10 -DA:242,10 -DA:243,10 -DA:244,10 -DA:245,10 -DA:246,10 -DA:247,10 -DA:248,10 -DA:249,10 -DA:250,10 -DA:251,10 -DA:252,10 -DA:253,10 -DA:254,10 -DA:255,10 -DA:256,10 -DA:257,10 -DA:258,10 -DA:259,10 -DA:260,10 -DA:261,10 -DA:262,10 -DA:263,10 -DA:264,10 -DA:265,10 -DA:266,10 -DA:267,10 -DA:268,10 -DA:269,10 -DA:270,10 -DA:271,10 -DA:272,10 -DA:273,0 -DA:274,10 -DA:275,10 -DA:276,10 -DA:277,10 -DA:278,10 -DA:279,10 -DA:280,10 -DA:281,10 -DA:282,10 -DA:283,10 -DA:284,10 -DA:285,10 -DA:286,10 -DA:287,10 -DA:288,10 -DA:289,10 -DA:290,10 -DA:291,10 -DA:292,10 -DA:293,10 -DA:294,10 -DA:295,10 -DA:296,10 -DA:297,10 -DA:298,10 -DA:299,10 -DA:300,10 -DA:301,10 -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,10 -DA:317,10 -DA:318,10 -DA:319,10 -DA:320,10 -DA:321,10 -DA:322,10 -DA:323,10 -DA:324,10 -DA:325,10 -DA:326,10 -DA:327,10 -DA:328,10 -DA:329,10 -DA:330,10 -DA:331,10 -DA:332,10 -DA:333,10 -DA:334,10 -DA:335,10 -DA:336,10 -DA:337,10 -DA:338,0 -DA:339,10 -DA:340,10 -DA:341,10 -DA:342,10 -DA:343,10 -DA:344,10 -DA:345,10 -DA:346,10 -DA:347,10 -DA:348,10 -DA:349,10 -DA:350,10 -DA:351,10 -DA:352,10 -DA:353,10 -DA:354,10 -DA:355,10 -DA:356,10 -DA:357,10 -DA:358,10 -DA:359,10 -DA:360,10 -DA:361,10 -DA:362,10 -DA:363,10 -DA:364,10 -DA:365,10 -DA:366,10 -DA:367,10 -DA:368,1 -DA:369,0 -DA:370,0 -DA:371,0 -DA:372,0 -DA:373,10 -DA:374,10 -DA:375,10 -DA:376,9 -DA:377,9 -DA:378,0 -DA:379,0 -DA:380,10 -DA:381,10 -DA:382,10 -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,10 -DA:392,10 -DA:393,10 -DA:394,0 -DA:395,0 -DA:396,0 -DA:397,0 -DA:398,0 -DA:399,0 -DA:400,0 -DA:401,10 -DA:402,10 -DA:403,10 -DA:404,10 -DA:405,10 -DA:406,10 -DA:407,1 -DA:408,1 -DA:409,1 -DA:410,1 -LF:410 -LH:334 -BRDA:42,0,0,10 -BRDA:364,1,0,0 -BRDA:367,2,0,1 -BRDA:368,3,0,0 -BRDA:374,4,0,1 -BRDA:374,5,0,1 -BRDA:375,6,0,9 -BRDA:377,7,0,0 -BRDA:382,8,0,0 -BRDA:393,9,0,0 -BRDA:403,10,0,0 -BRDA:80,11,0,10 -BRDA:81,12,0,0 -BRDA:85,13,0,6 -BRDA:87,14,0,0 -BRDA:88,15,0,4 -BRDA:90,16,0,0 -BRDA:118,17,0,10 -BRDA:131,18,0,10 -BRDA:139,19,0,6 -BRDA:139,20,0,4 -BRDA:150,21,0,10 -BRDA:186,22,0,10 -BRDA:197,23,0,0 -BRDA:239,24,0,10 -BRDA:246,25,0,10 -BRDA:252,26,0,10 -BRDA:252,27,0,4 -BRDA:252,28,0,4 -BRDA:257,29,0,10 -BRDA:257,30,0,0 -BRDA:262,31,0,10 -BRDA:262,32,0,0 -BRDA:267,33,0,10 -BRDA:271,34,0,10 -BRDA:272,35,0,0 -BRDA:279,36,0,10 -BRDA:290,37,0,0 -BRDA:301,38,0,0 -BRDA:337,39,0,0 -BRDA:351,40,0,10 -BRDA:351,41,0,0 -BRF:42 -BRH:25 -end_of_record -TN: -SF:src\components\timeline-elements\timeline-control\timeline-control.styles.ts -FN:31,Object.defineProperty.enumerable -FN:45,Object.defineProperty.enumerable -FNF:2 -FNH:2 -FNDA:60,Object.defineProperty.enumerable -FNDA:60,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,60 -DA:21,16 -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,60 -DA:47,40 -DA:48,40 -DA:49,60 -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 -LF:89 -LH:89 -BRDA:11,0,0,10 -BRDA:19,1,0,60 -BRDA:20,2,0,16 -BRDA:21,3,0,44 -BRDA:31,4,0,60 -BRDA:45,5,0,60 -BRDA:46,6,0,40 -BRDA:53,7,0,60 -BRDA:53,8,0,40 -BRDA:53,9,0,20 -BRF:10 -BRH:10 -end_of_record -TN: -SF:src\components\timeline-elements\timeline-control\timeline-control.tsx -FN:37,TimelineControl -FNF:1 -FNH:1 -FNDA:10,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,10 -DA:39,10 -DA:40,10 -DA:41,10 -DA:42,10 -DA:43,10 -DA:44,10 -DA:45,10 -DA:46,10 -DA:47,10 -DA:48,10 -DA:49,10 -DA:50,10 -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,10 -DA:67,10 -DA:68,10 -DA:69,10 -DA:70,10 -DA:71,10 -DA:72,10 -DA:73,10 -DA:74,10 -DA:75,10 -DA:76,10 -DA:77,10 -DA:78,10 -DA:79,0 -DA:80,0 -DA:81,0 -DA:82,0 -DA:83,0 -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,10 -DA:100,10 -DA:101,10 -DA:102,10 -DA:103,10 -DA:104,10 -DA:105,10 -DA:106,10 -DA:107,10 -DA:108,10 -DA:109,10 -DA:110,10 -DA:111,10 -DA:112,10 -DA:113,10 -DA:114,10 -DA:115,10 -DA:116,10 -DA:117,10 -DA:118,10 -DA:119,10 -DA:120,10 -DA:121,10 -DA:122,10 -DA:123,10 -DA:124,10 -DA:125,10 -DA:126,10 -DA:127,10 -DA:128,10 -DA:129,10 -DA:130,10 -DA:131,10 -DA:132,10 -DA:133,10 -DA:134,10 -DA:135,10 -DA:136,10 -DA:137,10 -DA:138,10 -DA:139,10 -DA:140,10 -DA:141,10 -DA:142,10 -DA:143,10 -DA:144,10 -DA:145,10 -DA:146,10 -DA:147,10 -DA:148,10 -DA:149,10 -DA:150,10 -DA:151,10 -DA:152,10 -DA:153,10 -DA:154,10 -DA:155,10 -DA:156,10 -DA:157,10 -DA:158,10 -DA:159,10 -DA:160,10 -DA:161,10 -DA:162,10 -DA:163,10 -DA:164,10 -DA:165,10 -DA:166,10 -DA:167,10 -DA:168,10 -DA:169,10 -DA:170,10 -DA:171,10 -DA:172,10 -DA:173,10 -DA:174,10 -DA:175,10 -DA:176,10 -DA:177,10 -DA:178,10 -DA:179,10 -DA:180,10 -DA:181,10 -DA:182,10 -DA:183,10 -DA:184,10 -DA:185,10 -DA:186,10 -DA:187,10 -DA:188,10 -DA:189,10 -DA:190,10 -DA:191,10 -DA:192,10 -DA:193,10 -DA:194,10 -DA:195,10 -DA:196,10 -DA:197,10 -DA:198,10 -DA:199,10 -DA:200,10 -DA:201,10 -DA:202,10 -DA:203,10 -DA:204,10 -DA:205,10 -DA:206,10 -DA:207,10 -DA:208,10 -DA:209,10 -DA:210,10 -DA:211,10 -DA:212,10 -DA:213,10 -DA:214,10 -DA:215,10 -DA:216,10 -DA:217,10 -DA:218,10 -DA:219,0 -DA:220,10 -DA:221,10 -DA:222,10 -DA:223,10 -DA:224,1 -DA:225,1 -DA:226,1 -DA:227,1 -LF:227 -LH:221 -BRDA:37,0,0,10 -BRDA:118,1,0,0 -BRDA:124,2,0,0 -BRDA:129,3,0,2 -BRDA:129,4,0,8 -BRDA:130,5,0,0 -BRDA:141,6,0,0 -BRDA:146,7,0,2 -BRDA:146,8,0,8 -BRDA:147,9,0,0 -BRDA:158,10,0,0 -BRDA:163,11,0,0 -BRDA:164,12,0,0 -BRDA:175,13,0,0 -BRDA:180,14,0,0 -BRDA:181,15,0,0 -BRDA:200,16,0,0 -BRDA:211,17,0,0 -BRDA:214,18,0,0 -BRDA:216,19,0,0 -BRDA:218,20,0,0 -BRDA:61,21,0,7 -BRDA:64,22,0,7 -BRDA:64,23,0,0 -BRDA:69,24,0,7 -BRDA:69,25,0,1 -BRDA:74,26,0,7 -BRDA:87,27,0,7 -BRDA:87,28,0,0 -BRDA:92,29,0,7 -BRDA:92,30,0,0 -BRDA:97,31,0,7 -BRDA:97,32,0,0 -BRDA:102,33,0,7 -BRDA:102,34,0,0 -BRDA:107,35,0,7 -BRDA:107,36,0,0 -BRF:37 -BRH:15 -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:29,Object.defineProperty.enumerable -FNDA:29,Object.defineProperty.enumerable -FNDA:29,Object.defineProperty.enumerable -FNDA:29,Object.defineProperty.enumerable -FNDA:29,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,29 -BRDA:11,1,0,0 -BRDA:15,2,0,29 -BRDA:15,3,0,6 -BRDA:15,4,0,23 -BRDA:16,5,0,29 -BRDA:16,6,0,20 -BRDA:16,7,0,9 -BRDA:17,8,0,29 -BRDA:17,9,0,0 -BRDA:20,10,0,29 -BRDA:21,11,0,29 -BRDA:22,12,0,0 -BRF:13 -BRH:10 -end_of_record -TN: -SF:src\components\timeline-elements\timeline-item-title\timeline-card-title.tsx -FN:18,TimelineItemTitle -FNF:1 -FNH:1 -FNDA:29,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,29 -DA:20,29 -DA:21,29 -DA:22,29 -DA:23,29 -DA:24,29 -DA:25,29 -DA:26,29 -DA:27,29 -DA:28,29 -DA:29,29 -DA:30,29 -DA:31,29 -DA:32,29 -DA:33,29 -DA:34,29 -DA:35,29 -DA:36,29 -DA:37,29 -DA:38,29 -DA:39,29 -DA:40,29 -DA:41,29 -DA:42,29 -DA:43,29 -DA:44,29 -DA:45,29 -DA:46,29 -DA:47,29 -DA:48,1 -DA:49,1 -LF:49 -LH:49 -BRDA:18,0,0,29 -BRDA:29,1,0,29 -BRDA:29,2,0,6 -BRDA:29,3,0,23 -BRF:4 -BRH:4 -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 -BRDA:8,0,0,1 -BRDA:8,1,0,0 -BRDA:19,2,0,3 -BRF:3 -BRH:2 -end_of_record -TN: -SF:src\components\timeline-horizontal\timeline-horizontal.tsx -FN:27,TimelineHorizontal -FNF:1 -FNH:1 -FNDA:1,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,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,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,3 -DA:86,3 -DA:87,3 -DA:88,3 -DA:89,3 -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,1 -DA:99,1 -DA:100,1 -DA:101,1 -DA:102,1 -DA:103,1 -LF:103 -LH:103 -BRDA:27,0,0,1 -BRDA:54,1,0,1 -BRDA:58,2,0,0 -BRDA:71,3,0,3 -BRDA:76,4,0,0 -BRDA:89,5,0,0 -BRF:6 -BRH:3 -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,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,0 -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,0 -DA:65,0 -DA:66,0 -DA:67,0 -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,0 -DA:86,0 -DA:87,0 -DA:88,0 -DA:89,0 -DA:90,20 -DA:91,20 -DA:92,20 -DA:93,20 -DA:94,20 -DA:95,20 -DA:96,20 -DA:97,20 -DA:98,20 -DA:99,20 -DA:100,20 -DA:101,20 -DA:102,20 -DA:103,20 -DA:104,20 -DA:105,20 -DA:106,20 -DA:107,20 -DA:108,20 -DA:109,20 -DA:110,20 -DA:111,20 -DA:112,20 -DA:113,20 -DA:114,20 -DA:115,20 -DA:116,20 -DA:117,20 -DA:118,20 -DA:119,20 -DA:120,20 -DA:121,20 -DA:122,20 -DA:123,20 -DA:124,20 -DA:125,20 -DA:126,20 -DA:127,20 -DA:128,20 -DA:129,20 -DA:130,20 -DA:131,1 -DA:132,1 -DA:133,1 -DA:134,1 -DA:135,1 -DA:136,1 -LF:136 -LH:126 -BRDA:27,0,0,20 -BRDA:124,1,0,0 -BRDA:53,2,0,20 -BRDA:54,3,0,0 -BRDA:57,4,0,0 -BRDA:62,5,0,20 -BRDA:63,6,0,0 -BRDA:72,7,0,20 -BRDA:82,8,0,20 -BRDA:95,9,0,20 -BRDA:131,10,0,9 -BRF:11 -BRH:7 -end_of_record -TN: -SF:src\components\timeline-vertical\timeline-vertical-item.tsx -FN:40,VerticalItem -FNF:1 -FNH:1 -FNDA:29,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,29 -DA:42,29 -DA:43,29 -DA:44,29 -DA:45,29 -DA:46,29 -DA:47,29 -DA:48,29 -DA:49,29 -DA:50,29 -DA:51,29 -DA:52,29 -DA:53,29 -DA:54,29 -DA:55,29 -DA:56,29 -DA:57,29 -DA:58,29 -DA:59,29 -DA:60,29 -DA:61,29 -DA:62,29 -DA:63,29 -DA:64,29 -DA:65,29 -DA:66,29 -DA:67,29 -DA:68,29 -DA:69,29 -DA:70,29 -DA:71,29 -DA:72,29 -DA:73,29 -DA:74,29 -DA:75,29 -DA:76,29 -DA:77,29 -DA:78,29 -DA:79,29 -DA:80,29 -DA:81,29 -DA:82,29 -DA:83,29 -DA:84,29 -DA:85,29 -DA:86,29 -DA:87,29 -DA:88,0 -DA:89,0 -DA:90,0 -DA:91,0 -DA:92,0 -DA:93,29 -DA:94,29 -DA:95,29 -DA:96,29 -DA:97,29 -DA:98,0 -DA:99,0 -DA:100,0 -DA:101,29 -DA:102,29 -DA:103,29 -DA:104,29 -DA:105,20 -DA:106,20 -DA:107,20 -DA:108,20 -DA:109,20 -DA:110,20 -DA:111,20 -DA:112,20 -DA:113,20 -DA:114,20 -DA:115,20 -DA:116,20 -DA:117,20 -DA:118,20 -DA:119,20 -DA:120,20 -DA:121,20 -DA:122,29 -DA:123,29 -DA:124,29 -DA:125,29 -DA:126,29 -DA:127,29 -DA:128,29 -DA:129,29 -DA:130,29 -DA:131,29 -DA:132,29 -DA:133,29 -DA:134,29 -DA:135,20 -DA:136,29 -DA:137,29 -DA:138,29 -DA:139,29 -DA:140,29 -DA:141,29 -DA:142,29 -DA:143,29 -DA:144,29 -DA:145,29 -DA:146,29 -DA:147,29 -DA:148,29 -DA:149,29 -DA:150,29 -DA:151,29 -DA:152,29 -DA:153,29 -DA:154,29 -DA:155,29 -DA:156,29 -DA:157,29 -DA:158,29 -DA:159,29 -DA:160,29 -DA:161,29 -DA:162,29 -DA:163,29 -DA:164,29 -DA:165,29 -DA:166,29 -DA:167,29 -DA:168,29 -DA:169,29 -DA:170,29 -DA:171,29 -DA:172,29 -DA:173,29 -DA:174,29 -DA:175,29 -DA:176,29 -DA:177,29 -DA:178,29 -DA:179,29 -DA:180,29 -DA:181,29 -DA:182,29 -DA:183,29 -DA:184,29 -DA:185,29 -DA:186,29 -DA:187,29 -DA:188,29 -DA:189,29 -DA:190,29 -DA:191,29 -DA:192,29 -DA:193,29 -DA:194,29 -DA:195,29 -DA:196,29 -DA:197,29 -DA:198,29 -DA:199,29 -DA:200,29 -DA:201,29 -DA:202,29 -DA:203,29 -DA:204,29 -DA:205,29 -DA:206,29 -DA:207,29 -DA:208,29 -DA:209,29 -DA:210,29 -DA:211,29 -DA:212,29 -DA:213,29 -DA:214,29 -DA:215,29 -DA:216,29 -DA:217,29 -DA:218,29 -DA:219,29 -DA:220,29 -DA:221,29 -DA:222,29 -DA:223,29 -DA:224,29 -DA:225,29 -DA:226,0 -DA:227,29 -DA:228,29 -DA:229,29 -DA:230,29 -DA:231,29 -DA:232,1 -DA:233,1 -DA:234,1 -DA:235,1 -LF:235 -LH:226 -BRDA:40,0,0,29 -BRDA:139,1,0,0 -BRDA:182,2,0,0 -BRDA:192,3,0,0 -BRDA:199,4,0,8 -BRDA:200,5,0,0 -BRDA:220,6,0,8 -BRDA:225,7,0,0 -BRDA:228,8,0,0 -BRDA:104,9,0,20 -BRDA:111,10,0,8 -BRDA:115,11,0,0 -BRDA:117,12,0,0 -BRDA:134,13,0,20 -BRDA:135,14,0,0 -BRDA:145,15,0,29 -BRF:16 -BRH:7 -end_of_record -TN: -SF:src\components\timeline-vertical\timeline-vertical-shape.styles.ts -FN:23,Object.defineProperty.enumerable -FN:24,Object.defineProperty.enumerable -FN:35,Object.defineProperty.enumerable -FNF:3 -FNH:3 -FNDA:20,Object.defineProperty.enumerable -FNDA:20,Object.defineProperty.enumerable -FNDA:20,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 -DA:52,1 -DA:53,1 -LF:53 -LH:53 -BRDA:23,0,0,20 -BRDA:24,1,0,20 -BRDA:24,2,0,0 -BRDA:35,3,0,20 -BRDA:41,4,0,20 -BRDA:41,5,0,0 -BRDA:50,6,0,20 -BRDA:50,7,0,0 -BRF:8 -BRH:5 -end_of_record -TN: -SF:src\components\timeline-vertical\timeline-vertical.styles.ts -FN:81,Object.defineProperty.enumerable -FN:127,Object.defineProperty.enumerable -FN:128,Object.defineProperty.enumerable -FN:131,Object.defineProperty.enumerable -FN:132,Object.defineProperty.enumerable -FNF:5 -FNH:5 -FNDA:29,Object.defineProperty.enumerable -FNDA:20,Object.defineProperty.enumerable -FNDA:20,Object.defineProperty.enumerable -FNDA:20,Object.defineProperty.enumerable -FNDA:20,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 -DA:52,29 -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,29 -DA:63,29 -DA:64,29 -DA:65,29 -DA:66,29 -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,29 -DA:83,21 -DA:84,29 -DA:85,0 -DA:86,8 -DA:87,8 -DA:88,8 -DA:89,29 -DA:90,1 -DA:91,29 -DA:92,29 -DA:93,29 -DA:94,29 -DA:95,29 -DA:96,29 -DA:97,29 -DA:98,29 -DA:99,29 -DA:100,29 -DA:101,29 -DA:102,29 -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,29 -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,20 -DA:138,0 -DA:139,20 -DA:140,20 -DA:141,20 -DA:142,1 -DA:143,1 -DA:144,1 -LF:144 -LH:123 -BRDA:51,0,0,29 -BRDA:52,1,0,0 -BRDA:81,2,0,29 -BRDA:82,3,0,21 -BRDA:84,4,0,8 -BRDA:84,5,0,0 -BRDA:90,6,0,29 -BRDA:102,7,0,0 -BRDA:127,8,0,20 -BRDA:127,9,0,0 -BRDA:127,10,0,0 -BRDA:128,11,0,20 -BRDA:128,12,0,12 -BRDA:128,13,0,8 -BRDA:131,14,0,20 -BRDA:131,15,0,0 -BRDA:132,16,0,20 -BRDA:132,17,0,0 -BRDA:132,18,0,0 -BRDA:136,19,0,20 -BRDA:137,20,0,0 -BRF:21 -BRH:12 -end_of_record -TN: -SF:src\components\timeline-vertical\timeline-vertical.tsx -FN:25,TimelineVertical -FNF:1 -FNH:1 -FNDA:9,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,9 -DA:27,9 -DA:28,9 -DA:29,9 -DA:30,9 -DA:31,9 -DA:32,9 -DA:33,9 -DA:34,9 -DA:35,9 -DA:36,9 -DA:37,9 -DA:38,9 -DA:39,9 -DA:40,9 -DA:41,9 -DA:42,9 -DA:43,9 -DA:44,9 -DA:45,9 -DA:46,0 -DA:47,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:52,9 -DA:53,9 -DA:54,9 -DA:55,9 -DA:56,9 -DA:57,9 -DA:58,9 -DA:59,9 -DA:60,9 -DA:61,9 -DA:62,9 -DA:63,9 -DA:64,9 -DA:65,9 -DA:66,9 -DA:67,9 -DA:68,9 -DA:69,27 -DA:70,27 -DA:71,27 -DA:72,27 -DA:73,21 -DA:74,27 -DA:75,6 -DA:76,6 -DA:77,27 -DA:78,27 -DA:79,27 -DA:80,0 -DA:81,27 -DA:82,27 -DA:83,27 -DA:84,0 -DA:85,27 -DA:86,9 -DA:87,18 -DA:88,27 -DA:89,27 -DA:90,27 -DA:91,27 -DA:92,27 -DA:93,27 -DA:94,27 -DA:95,27 -DA:96,27 -DA:97,27 -DA:98,27 -DA:99,27 -DA:100,27 -DA:101,27 -DA:102,27 -DA:103,27 -DA:104,27 -DA:105,27 -DA:106,27 -DA:107,27 -DA:108,9 -DA:109,9 -DA:110,9 -DA:111,9 -DA:112,1 -DA:113,1 -DA:114,1 -DA:115,1 -LF:115 -LH:107 -BRDA:25,0,0,9 -BRDA:68,1,0,27 -BRDA:72,2,0,21 -BRDA:73,3,0,14 -BRDA:73,4,0,7 -BRDA:74,5,0,6 -BRDA:79,6,0,0 -BRDA:83,7,0,0 -BRDA:85,8,0,9 -BRDA:86,9,0,18 -BRF:10 -BRH:8 -end_of_record -TN: -SF:src\components\toolbar\index.tsx -FN:24,Toolbar -FNF:1 -FNH:1 -FNDA:11,Toolbar -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,11 -DA:26,11 -DA:27,11 -DA:28,11 -DA:29,11 -DA:30,11 -DA:31,11 -DA:32,30 -DA:33,30 -DA:34,30 -DA:35,30 -DA:36,30 -DA:37,30 -DA:38,11 -DA:39,11 -DA:40,11 -DA:41,11 -DA:42,1 -DA:43,1 -LF:43 -LH:43 -BRDA:24,0,0,11 -BRDA:31,1,0,10 -BRDA:31,2,0,30 -BRDA:34,3,0,0 -BRF:4 -BRH:3 -end_of_record -TN: -SF:src\components\toolbar\toolbar.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 -LF:33 -LH:33 -BRDA:9,0,0,10 -BRF:1 -BRH:1 -end_of_record -TN: -SF:src\utils\index.ts -FN:5,hexToRGBA -FN:13,getDefaultThemeOrDark -FN:20,getDefaultClassNames -FN:30,getDefaultButtonTexts -FN:45,getSlideShowType -FN:62,isTextArray -FN:66,sanitizeHtmlText -FN:73,getUniqueID -FNF:8 -FNH:6 -FNDA:20,hexToRGBA -FNDA:7,getDefaultThemeOrDark -FNDA:5,getDefaultClassNames -FNDA:10,getDefaultButtonTexts -FNDA:5,getSlideShowType -FNDA:0,isTextArray -FNDA:0,sanitizeHtmlText -FNDA:20,getUniqueID -DA:1,1 -DA:2,1 -DA:3,1 -DA:4,1 -DA:5,1 -DA:6,20 -DA:7,20 -DA:8,20 -DA:9,20 -DA:10,20 -DA:11,20 -DA:12,1 -DA:13,1 -DA:14,7 -DA:15,0 -DA:16,0 -DA:17,7 -DA:18,7 -DA:19,1 -DA:20,1 -DA:21,5 -DA:22,5 -DA:23,5 -DA:24,5 -DA:25,5 -DA:26,5 -DA:27,5 -DA:28,5 -DA:29,1 -DA:30,1 -DA:31,10 -DA:32,10 -DA:33,10 -DA:34,10 -DA:35,10 -DA:36,10 -DA:37,10 -DA:38,10 -DA:39,10 -DA:40,10 -DA:41,10 -DA:42,1 -DA:43,1 -DA:44,1 -DA:45,1 -DA:46,5 -DA:47,5 -DA:48,5 -DA:49,0 -DA:50,0 -DA:51,5 -DA:52,0 -DA:53,0 -DA:54,5 -DA:55,5 -DA:56,5 -DA:57,5 -DA:58,0 -DA:59,0 -DA:60,0 -DA:61,1 -DA:62,1 -DA:63,0 -DA:64,0 -DA:65,1 -DA:66,1 -DA:67,0 -DA:68,0 -DA:69,0 -DA:70,0 -DA:71,0 -DA:72,1 -DA:73,1 -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,140 -DA:85,140 -DA:86,20 -DA:87,20 -DA:88,20 -LF:88 -LH:72 -BRDA:5,0,0,20 -BRDA:13,1,0,7 -BRDA:14,2,0,0 -BRDA:20,3,0,5 -BRDA:30,4,0,10 -BRDA:45,5,0,5 -BRDA:48,6,0,0 -BRDA:51,7,0,0 -BRDA:57,8,0,0 -BRDA:73,9,0,20 -BRDA:83,10,0,140 -BRF:11 -BRH:7 -end_of_record diff --git a/coverage/prettify.css b/coverage/prettify.css deleted file mode 100644 index b317a7cd..00000000 --- a/coverage/prettify.css +++ /dev/null @@ -1 +0,0 @@ -.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} diff --git a/coverage/prettify.js b/coverage/prettify.js deleted file mode 100644 index b3225238..00000000 --- a/coverage/prettify.js +++ /dev/null @@ -1,2 +0,0 @@ -/* eslint-disable */ -window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]); diff --git a/coverage/sort-arrow-sprite.png b/coverage/sort-arrow-sprite.png deleted file mode 100644 index 6ed68316eb3f65dec9063332d2f69bf3093bbfab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^>_9Bd!3HEZxJ@+%Qh}Z>jv*C{$p!i!8j}?a+@3A= zIAGwzjijN=FBi!|L1t?LM;Q;gkwn>2cAy-KV{dn nf0J1DIvEHQu*n~6U}x}qyky7vi4|9XhBJ7&`njxgN@xNA8m%nc diff --git a/coverage/sorter.js b/coverage/sorter.js deleted file mode 100644 index 2bb296a8..00000000 --- a/coverage/sorter.js +++ /dev/null @@ -1,196 +0,0 @@ -/* eslint-disable */ -var addSorting = (function() { - 'use strict'; - var cols, - currentSort = { - index: 0, - desc: false - }; - - // returns the summary table element - function getTable() { - return document.querySelector('.coverage-summary'); - } - // returns the thead element of the summary table - function getTableHeader() { - return getTable().querySelector('thead tr'); - } - // returns the tbody element of the summary table - function getTableBody() { - return getTable().querySelector('tbody'); - } - // returns the th element for nth column - function getNthColumn(n) { - return getTableHeader().querySelectorAll('th')[n]; - } - - function onFilterInput() { - const searchValue = document.getElementById('fileSearch').value; - const rows = document.getElementsByTagName('tbody')[0].children; - for (let i = 0; i < rows.length; i++) { - const row = rows[i]; - if ( - row.textContent - .toLowerCase() - .includes(searchValue.toLowerCase()) - ) { - row.style.display = ''; - } else { - row.style.display = 'none'; - } - } - } - - // loads the search box - function addSearchBox() { - var template = document.getElementById('filterTemplate'); - var templateClone = template.content.cloneNode(true); - templateClone.getElementById('fileSearch').oninput = onFilterInput; - template.parentElement.appendChild(templateClone); - } - - // loads all columns - function loadColumns() { - var colNodes = getTableHeader().querySelectorAll('th'), - colNode, - cols = [], - col, - i; - - for (i = 0; i < colNodes.length; i += 1) { - colNode = colNodes[i]; - col = { - key: colNode.getAttribute('data-col'), - sortable: !colNode.getAttribute('data-nosort'), - type: colNode.getAttribute('data-type') || 'string' - }; - cols.push(col); - if (col.sortable) { - col.defaultDescSort = col.type === 'number'; - colNode.innerHTML = - colNode.innerHTML + ''; - } - } - return cols; - } - // attaches a data attribute to every tr element with an object - // of data values keyed by column name - function loadRowData(tableRow) { - var tableCols = tableRow.querySelectorAll('td'), - colNode, - col, - data = {}, - i, - val; - for (i = 0; i < tableCols.length; i += 1) { - colNode = tableCols[i]; - col = cols[i]; - val = colNode.getAttribute('data-value'); - if (col.type === 'number') { - val = Number(val); - } - data[col.key] = val; - } - return data; - } - // loads all row data - function loadData() { - var rows = getTableBody().querySelectorAll('tr'), - i; - - for (i = 0; i < rows.length; i += 1) { - rows[i].data = loadRowData(rows[i]); - } - } - // sorts the table using the data for the ith column - function sortByIndex(index, desc) { - var key = cols[index].key, - sorter = function(a, b) { - a = a.data[key]; - b = b.data[key]; - return a < b ? -1 : a > b ? 1 : 0; - }, - finalSorter = sorter, - tableBody = document.querySelector('.coverage-summary tbody'), - rowNodes = tableBody.querySelectorAll('tr'), - rows = [], - i; - - if (desc) { - finalSorter = function(a, b) { - return -1 * sorter(a, b); - }; - } - - for (i = 0; i < rowNodes.length; i += 1) { - rows.push(rowNodes[i]); - tableBody.removeChild(rowNodes[i]); - } - - rows.sort(finalSorter); - - for (i = 0; i < rows.length; i += 1) { - tableBody.appendChild(rows[i]); - } - } - // removes sort indicators for current column being sorted - function removeSortIndicators() { - var col = getNthColumn(currentSort.index), - cls = col.className; - - cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); - col.className = cls; - } - // adds sort indicators for current column being sorted - function addSortIndicators() { - getNthColumn(currentSort.index).className += currentSort.desc - ? ' sorted-desc' - : ' sorted'; - } - // adds event listeners for all sorter widgets - function enableUI() { - var i, - el, - ithSorter = function ithSorter(i) { - var col = cols[i]; - - return function() { - var desc = col.defaultDescSort; - - if (currentSort.index === i) { - desc = !currentSort.desc; - } - sortByIndex(i, desc); - removeSortIndicators(); - currentSort.index = i; - currentSort.desc = desc; - addSortIndicators(); - }; - }; - for (i = 0; i < cols.length; i += 1) { - if (cols[i].sortable) { - // add the click event handler on the th so users - // dont have to click on those tiny arrows - el = getNthColumn(i).querySelector('.sorter').parentElement; - if (el.addEventListener) { - el.addEventListener('click', ithSorter(i)); - } else { - el.attachEvent('onclick', ithSorter(i)); - } - } - } - } - // adds sorting functionality to the UI - return function() { - if (!getTable()) { - return; - } - cols = loadColumns(); - loadData(); - addSearchBox(); - addSortIndicators(); - enableUI(); - }; -})(); - -window.addEventListener('load', addSorting); diff --git a/coverage/utils/index.html b/coverage/utils/index.html deleted file mode 100644 index f5a587f6..00000000 --- a/coverage/utils/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - Code coverage report for utils - - - - - - - - - -
-
-

All files utils

-
- -
- 81.81% - Statements - 72/88 -
- - -
- 63.63% - Branches - 7/11 -
- - -
- 75% - Functions - 6/8 -
- - -
- 81.81% - Lines - 72/88 -
- - -
-

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

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.ts -
-
81.81%72/8863.63%7/1175%6/881.81%72/88
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/utils/index.ts.html b/coverage/utils/index.ts.html deleted file mode 100644 index 05a60056..00000000 --- a/coverage/utils/index.ts.html +++ /dev/null @@ -1,349 +0,0 @@ - - - - - - Code coverage report for utils/index.ts - - - - - - - - - -
-
-

All files / utils index.ts

-
- -
- 81.81% - Statements - 72/88 -
- - -
- 63.63% - Branches - 7/11 -
- - -
- 75% - Functions - 6/8 -
- - -
- 81.81% - Lines - 72/88 -
- - -
-

- 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 -891x -1x -1x -1x -1x -20x -20x -20x -20x -20x -20x -1x -1x -7x -  -  -7x -7x -1x -1x -5x -5x -5x -5x -5x -5x -5x -5x -1x -1x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -1x -1x -1x -1x -5x -5x -5x -  -  -5x -  -  -5x -5x -5x -5x -  -  -  -1x -1x -  -  -1x -1x -  -  -  -  -  -1x -1x -20x -20x -20x -20x -20x -20x -20x -20x -20x -20x -140x -140x -20x -20x -20x - 
import { SlideShowType, TimelineMode } from '@models/TimelineModel';
-import xss from 'xss';
-import { darkTheme, defaultTheme } from '../components/common/themes';
- 
-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 = () => ({
-  changeLayout: 'Change layout',
-  dark: 'Switch to Dark Mode',
-  first: 'Go to First',
-  jumpTo: 'Jump to',
-  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';
-};
- 
-export const isTextArray = (text: string | string[]): text is string[] => {
-  return Array.isArray(text);
-};
- 
-export const sanitizeHtmlText = (text: string | string[]) => {
-  if (isTextArray(text)) {
-    return text.map((t) => xss(t));
-  }
-  return xss(text);
-};
- 
-export const getUniqueID = () => {
-  const chars =
-    'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
- 
-  let autoId = '';
- 
-  const randomValues = new Uint32Array(7);
- 
-  window.crypto.getRandomValues(randomValues);
- 
-  for (let i = 0; i < randomValues.length; i++) {
-    autoId += chars[randomValues[i] % chars.length];
-  }
- 
-  return autoId;
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/package.json b/package.json index d1020fbe..d89badb4 100644 --- a/package.json +++ b/package.json @@ -82,14 +82,14 @@ "@testing-library/user-event": "^14.5.2", "@types/jest": "^29.5.12", "@types/node": "^20.11.19", - "@types/react": "^18.2.56", + "@types/react": "^18.2.57", "@types/react-dom": "^18.2.19", "@types/react-router-dom": "^5.3.3", "@types/sanitize-html": "^2.11.0", "@types/styled-components": "^5.1.34", "@types/testing-library__jest-dom": "^6.0.0", - "@typescript-eslint/eslint-plugin": "^7.0.1", - "@typescript-eslint/parser": "^7.0.1", + "@typescript-eslint/eslint-plugin": "^7.0.2", + "@typescript-eslint/parser": "^7.0.2", "@vitejs/plugin-react": "^4.2.1", "@vitest/coverage-v8": "^1.3.0", "@vitest/ui": "^1.3.0", @@ -111,7 +111,7 @@ "jsdom": "^24.0.0", "lint-staged": "^15.2.2", "postcss": "^8.4.35", - "postcss-preset-env": "^9.3.0", + "postcss-preset-env": "^9.4.0", "postcss-syntax": "^0.36.2", "prettier": "^3.2.5", "pretty-quick": "^4.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 946c1477..b421ac1b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -95,7 +95,7 @@ devDependencies: version: 14.2.1(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.56)(react-dom@18.2.0)(react@18.2.0) + version: 8.0.1(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@testing-library/user-event': specifier: ^14.5.2 version: 14.5.2(@testing-library/dom@9.3.4) @@ -106,8 +106,8 @@ devDependencies: specifier: ^20.11.19 version: 20.11.19 '@types/react': - specifier: ^18.2.56 - version: 18.2.56 + specifier: ^18.2.57 + version: 18.2.57 '@types/react-dom': specifier: ^18.2.19 version: 18.2.19 @@ -124,11 +124,11 @@ devDependencies: specifier: ^6.0.0 version: 6.0.0(@types/jest@29.5.12)(vitest@1.3.0) '@typescript-eslint/eslint-plugin': - specifier: ^7.0.1 - version: 7.0.1(@typescript-eslint/parser@7.0.1)(eslint@8.56.0)(typescript@5.3.3) + specifier: ^7.0.2 + version: 7.0.2(@typescript-eslint/parser@7.0.2)(eslint@8.56.0)(typescript@5.3.3) '@typescript-eslint/parser': - specifier: ^7.0.1 - version: 7.0.1(eslint@8.56.0)(typescript@5.3.3) + specifier: ^7.0.2 + version: 7.0.2(eslint@8.56.0)(typescript@5.3.3) '@vitejs/plugin-react': specifier: ^4.2.1 version: 4.2.1(vite@5.1.3) @@ -143,7 +143,7 @@ devDependencies: version: 10.4.17(postcss@8.4.35) babel-loader: specifier: ^9.1.3 - version: 9.1.3(@babel/core@7.23.9)(webpack@5.90.2) + version: 9.1.3(@babel/core@7.23.9)(webpack@5.90.3) babel-plugin-styled-components: specifier: ^2.1.4 version: 2.1.4(@babel/core@7.23.9)(styled-components@6.1.8) @@ -164,7 +164,7 @@ devDependencies: version: 9.1.0(eslint@8.56.0) eslint-plugin-import: specifier: ^2.29.1 - version: 2.29.1(@typescript-eslint/parser@7.0.1)(eslint@8.56.0) + version: 2.29.1(@typescript-eslint/parser@7.0.2)(eslint@8.56.0) eslint-plugin-jsx-a11y: specifier: ^6.8.0 version: 6.8.0(eslint@8.56.0) @@ -176,7 +176,7 @@ devDependencies: version: 1.1.2 eslint-plugin-typescript-sort-keys: specifier: ^3.1.0 - version: 3.1.0(@typescript-eslint/parser@7.0.1)(eslint@8.56.0)(typescript@5.3.3) + version: 3.1.0(@typescript-eslint/parser@7.0.2)(eslint@8.56.0)(typescript@5.3.3) husky: specifier: ^9.0.11 version: 9.0.11 @@ -193,8 +193,8 @@ devDependencies: specifier: ^8.4.35 version: 8.4.35 postcss-preset-env: - specifier: ^9.3.0 - version: 9.3.0(postcss@8.4.35) + specifier: ^9.4.0 + version: 9.4.0(postcss@8.4.35) postcss-syntax: specifier: ^0.36.2 version: 0.36.2(postcss@8.4.35) @@ -250,8 +250,8 @@ devDependencies: specifier: ^1.71.0 version: 1.71.0 semver: - specifier: 7.5.4 - version: 7.5.4 + specifier: 7.6.0 + version: 7.6.0 size-limit: specifier: ^11.0.2 version: 11.0.2 @@ -1747,81 +1747,57 @@ packages: dev: true optional: true - /@csstools/cascade-layer-name-parser@1.0.5(@csstools/css-parser-algorithms@2.5.0)(@csstools/css-tokenizer@2.2.3): - resolution: {integrity: sha512-v/5ODKNBMfBl0us/WQjlfsvSlYxfZLhNMVIsuCPib2ulTwGKYbKJbwqw671+qH9Y4wvWVnu7LBChvml/wBKjFg==} + /@csstools/cascade-layer-name-parser@1.0.8(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3): + resolution: {integrity: sha512-xHxXavWvXB5nAA9IvZtjEzkONM3hPXpxqYK4cEw60LcqPiFjq7ZlEFxOyYFPrG4UdANKtnucNtRVDy7frjq6AA==} engines: {node: ^14 || ^16 || >=18} peerDependencies: - '@csstools/css-parser-algorithms': ^2.3.2 - '@csstools/css-tokenizer': ^2.2.1 - dependencies: - '@csstools/css-parser-algorithms': 2.5.0(@csstools/css-tokenizer@2.2.3) - '@csstools/css-tokenizer': 2.2.3 - dev: true - - /@csstools/color-helpers@3.0.2: - resolution: {integrity: sha512-NMVs/l7Y9eIKL5XjbCHEgGcG8LOUT2qVcRjX6EzkCdlvftHVKr2tHIPzHavfrULRZ5Q2gxrJ9f44dAlj6fX97Q==} - engines: {node: ^14 || ^16 || >=18} - dev: true - - /@csstools/css-calc@1.1.4(@csstools/css-parser-algorithms@2.3.2)(@csstools/css-tokenizer@2.2.3): - resolution: {integrity: sha512-ZV1TSmToiNcQL1P3hfzlzZzA02mmVkVmXGaUDUqpYUG84PmLhVSZpKX+KfxAuOcK7de04UXSQPBrAvaya6iiGg==} - engines: {node: ^14 || ^16 || >=18} - peerDependencies: - '@csstools/css-parser-algorithms': ^2.3.2 - '@csstools/css-tokenizer': ^2.2.1 + '@csstools/css-parser-algorithms': ^2.6.0 + '@csstools/css-tokenizer': ^2.2.3 dependencies: - '@csstools/css-parser-algorithms': 2.3.2(@csstools/css-tokenizer@2.2.3) + '@csstools/css-parser-algorithms': 2.6.0(@csstools/css-tokenizer@2.2.3) '@csstools/css-tokenizer': 2.2.3 dev: true - /@csstools/css-calc@1.1.4(@csstools/css-parser-algorithms@2.5.0)(@csstools/css-tokenizer@2.2.3): - resolution: {integrity: sha512-ZV1TSmToiNcQL1P3hfzlzZzA02mmVkVmXGaUDUqpYUG84PmLhVSZpKX+KfxAuOcK7de04UXSQPBrAvaya6iiGg==} + /@csstools/color-helpers@4.0.0: + resolution: {integrity: sha512-wjyXB22/h2OvxAr3jldPB7R7kjTUEzopvjitS8jWtyd8fN6xJ8vy1HnHu0ZNfEkqpBJgQ76Q+sBDshWcMvTa/w==} engines: {node: ^14 || ^16 || >=18} - peerDependencies: - '@csstools/css-parser-algorithms': ^2.3.2 - '@csstools/css-tokenizer': ^2.2.1 - dependencies: - '@csstools/css-parser-algorithms': 2.5.0(@csstools/css-tokenizer@2.2.3) - '@csstools/css-tokenizer': 2.2.3 dev: true - /@csstools/css-color-parser@1.4.0(@csstools/css-parser-algorithms@2.3.2)(@csstools/css-tokenizer@2.2.3): - resolution: {integrity: sha512-SlGd8E6ron24JYQPQAIzu5tvmWi1H4sDKTdA7UDnwF45oJv7AVESbOlOO1YjfBhrQFuvLWUgKiOY9DwGoAxwTA==} + /@csstools/css-calc@1.1.7(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3): + resolution: {integrity: sha512-+7bUzB5I4cI97tKmBJA8ilTl/YRo6VAOdlrnd/4x2NyK60nvYurGKa5TZpE1zcgIrTC97iJRE0/V65feyFytuw==} engines: {node: ^14 || ^16 || >=18} peerDependencies: - '@csstools/css-parser-algorithms': ^2.3.2 - '@csstools/css-tokenizer': ^2.2.1 + '@csstools/css-parser-algorithms': ^2.6.0 + '@csstools/css-tokenizer': ^2.2.3 dependencies: - '@csstools/color-helpers': 3.0.2 - '@csstools/css-calc': 1.1.4(@csstools/css-parser-algorithms@2.3.2)(@csstools/css-tokenizer@2.2.3) - '@csstools/css-parser-algorithms': 2.3.2(@csstools/css-tokenizer@2.2.3) + '@csstools/css-parser-algorithms': 2.6.0(@csstools/css-tokenizer@2.2.3) '@csstools/css-tokenizer': 2.2.3 dev: true - /@csstools/css-color-parser@1.4.0(@csstools/css-parser-algorithms@2.5.0)(@csstools/css-tokenizer@2.2.3): - resolution: {integrity: sha512-SlGd8E6ron24JYQPQAIzu5tvmWi1H4sDKTdA7UDnwF45oJv7AVESbOlOO1YjfBhrQFuvLWUgKiOY9DwGoAxwTA==} + /@csstools/css-color-parser@1.5.2(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3): + resolution: {integrity: sha512-5GEkuuUxD5dael3xoWjyf7gAPAi4pwm8X8JW/nUMhxntGY4Wo4Lp7vKlex4V5ZgTfAoov14rZFsZyOantdTatg==} engines: {node: ^14 || ^16 || >=18} peerDependencies: - '@csstools/css-parser-algorithms': ^2.3.2 - '@csstools/css-tokenizer': ^2.2.1 + '@csstools/css-parser-algorithms': ^2.6.0 + '@csstools/css-tokenizer': ^2.2.3 dependencies: - '@csstools/color-helpers': 3.0.2 - '@csstools/css-calc': 1.1.4(@csstools/css-parser-algorithms@2.5.0)(@csstools/css-tokenizer@2.2.3) - '@csstools/css-parser-algorithms': 2.5.0(@csstools/css-tokenizer@2.2.3) + '@csstools/color-helpers': 4.0.0 + '@csstools/css-calc': 1.1.7(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) + '@csstools/css-parser-algorithms': 2.6.0(@csstools/css-tokenizer@2.2.3) '@csstools/css-tokenizer': 2.2.3 dev: true - /@csstools/css-parser-algorithms@2.3.2(@csstools/css-tokenizer@2.2.3): - resolution: {integrity: sha512-sLYGdAdEY2x7TSw9FtmdaTrh2wFtRJO5VMbBrA8tEqEod7GEggFmxTSK9XqExib3yMuYNcvcTdCZIP6ukdjAIA==} + /@csstools/css-parser-algorithms@2.5.0(@csstools/css-tokenizer@2.2.3): + resolution: {integrity: sha512-abypo6m9re3clXA00eu5syw+oaPHbJTPapu9C4pzNsJ4hdZDzushT50Zhu+iIYXgEe1CxnRMn7ngsbV+MLrlpQ==} engines: {node: ^14 || ^16 || >=18} peerDependencies: - '@csstools/css-tokenizer': ^2.2.1 + '@csstools/css-tokenizer': ^2.2.3 dependencies: '@csstools/css-tokenizer': 2.2.3 dev: true - /@csstools/css-parser-algorithms@2.5.0(@csstools/css-tokenizer@2.2.3): - resolution: {integrity: sha512-abypo6m9re3clXA00eu5syw+oaPHbJTPapu9C4pzNsJ4hdZDzushT50Zhu+iIYXgEe1CxnRMn7ngsbV+MLrlpQ==} + /@csstools/css-parser-algorithms@2.6.0(@csstools/css-tokenizer@2.2.3): + resolution: {integrity: sha512-YfEHq0eRH98ffb5/EsrrDspVWAuph6gDggAE74ZtjecsmyyWpW768hOyiONa8zwWGbIWYfa2Xp4tRTrpQQ00CQ==} engines: {node: ^14 || ^16 || >=18} peerDependencies: '@csstools/css-tokenizer': ^2.2.3 @@ -1845,115 +1821,133 @@ packages: '@csstools/css-tokenizer': 2.2.3 dev: true - /@csstools/postcss-cascade-layers@4.0.1(postcss@8.4.35): - resolution: {integrity: sha512-UYFuFL9GgVnftg9v7tBvVEBRLaBeAD66euD+yYy5fYCUld9ZIWTJNCE30hm6STMEdt6FL5xzeVw1lAZ1tpvUEg==} + /@csstools/media-query-list-parser@2.1.8(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3): + resolution: {integrity: sha512-DiD3vG5ciNzeuTEoh74S+JMjQDs50R3zlxHnBnfd04YYfA/kh2KiBCGhzqLxlJcNq+7yNQ3stuZZYLX6wK/U2g==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + '@csstools/css-parser-algorithms': ^2.6.0 + '@csstools/css-tokenizer': ^2.2.3 + dependencies: + '@csstools/css-parser-algorithms': 2.6.0(@csstools/css-tokenizer@2.2.3) + '@csstools/css-tokenizer': 2.2.3 + dev: true + + /@csstools/postcss-cascade-layers@4.0.3(postcss@8.4.35): + resolution: {integrity: sha512-RbkQoOH23yGhWVetgBTwFgIOHEyU2tKMN7blTz/YAKKabR6tr9pP7mYS23Q9snFY2hr8WSaV8Le64KdM9BtUSA==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - '@csstools/selector-specificity': 3.0.1(postcss-selector-parser@6.0.15) + '@csstools/selector-specificity': 3.0.2(postcss-selector-parser@6.0.15) postcss: 8.4.35 postcss-selector-parser: 6.0.15 dev: true - /@csstools/postcss-color-function@3.0.7(postcss@8.4.35): - resolution: {integrity: sha512-/PIB20G1TPCXmQlaJLWIYzTZRZpj6csT4ijgnshIj/kcmniIRroAfDa0xSWnfuO1eNo0NptIaPU7jzUukWn55Q==} + /@csstools/postcss-color-function@3.0.10(postcss@8.4.35): + resolution: {integrity: sha512-jxiXmSl4ZYX8KewFjL5ef6of9uW73VkaHeDb2tqb5q4ZDPYxjusNX1KJ8UXY8+7ydqS5QBo42tVMrSMGy+rDmw==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - '@csstools/css-color-parser': 1.4.0(@csstools/css-parser-algorithms@2.5.0)(@csstools/css-tokenizer@2.2.3) - '@csstools/css-parser-algorithms': 2.5.0(@csstools/css-tokenizer@2.2.3) + '@csstools/css-color-parser': 1.5.2(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) + '@csstools/css-parser-algorithms': 2.6.0(@csstools/css-tokenizer@2.2.3) '@csstools/css-tokenizer': 2.2.3 - '@csstools/postcss-progressive-custom-properties': 3.0.2(postcss@8.4.35) + '@csstools/postcss-progressive-custom-properties': 3.1.0(postcss@8.4.35) + '@csstools/utilities': 1.0.0(postcss@8.4.35) postcss: 8.4.35 dev: true - /@csstools/postcss-color-mix-function@2.0.7(postcss@8.4.35): - resolution: {integrity: sha512-57/g8aGo5eKFjEeJMiRKh8Qq43K2rCyk5ZZTvJ34TNl4zUtYU5DvLkIkOnhCtL8/a4z9oMA42aOnFPddRrScUQ==} + /@csstools/postcss-color-mix-function@2.0.10(postcss@8.4.35): + resolution: {integrity: sha512-zeD856+FDCUjB077pPS+Z9OnTQnqpiJrao3TW+sasCb/gJ3vZCX7sRSRFsRUo0/MntTtJu9hkKv9eMkFmfjydA==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - '@csstools/css-color-parser': 1.4.0(@csstools/css-parser-algorithms@2.5.0)(@csstools/css-tokenizer@2.2.3) - '@csstools/css-parser-algorithms': 2.5.0(@csstools/css-tokenizer@2.2.3) + '@csstools/css-color-parser': 1.5.2(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) + '@csstools/css-parser-algorithms': 2.6.0(@csstools/css-tokenizer@2.2.3) '@csstools/css-tokenizer': 2.2.3 - '@csstools/postcss-progressive-custom-properties': 3.0.2(postcss@8.4.35) + '@csstools/postcss-progressive-custom-properties': 3.1.0(postcss@8.4.35) + '@csstools/utilities': 1.0.0(postcss@8.4.35) postcss: 8.4.35 dev: true - /@csstools/postcss-exponential-functions@1.0.1(postcss@8.4.35): - resolution: {integrity: sha512-ZLK2iSK4DUxeypGce2PnQSdYugUqDTwxnhNiq1o6OyKMNYgYs4eKbvEhFG8JKr1sJWbeqBi5jRr0017l2EWVvg==} + /@csstools/postcss-exponential-functions@1.0.4(postcss@8.4.35): + resolution: {integrity: sha512-frMf0CFVnZoGEKAHlxLy3s4g/tpjyFn5+A+h895UJNm9Uc+ewGT7+EeK7Kh9IHH4pD4FkaGW1vOQtER00PLurQ==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - '@csstools/css-calc': 1.1.4(@csstools/css-parser-algorithms@2.5.0)(@csstools/css-tokenizer@2.2.3) - '@csstools/css-parser-algorithms': 2.5.0(@csstools/css-tokenizer@2.2.3) + '@csstools/css-calc': 1.1.7(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) + '@csstools/css-parser-algorithms': 2.6.0(@csstools/css-tokenizer@2.2.3) '@csstools/css-tokenizer': 2.2.3 postcss: 8.4.35 dev: true - /@csstools/postcss-font-format-keywords@3.0.0(postcss@8.4.35): - resolution: {integrity: sha512-ntkGj+1uDa/u6lpjPxnkPcjJn7ChO/Kcy08YxctOZI7vwtrdYvFhmE476dq8bj1yna306+jQ9gzXIG/SWfOaRg==} + /@csstools/postcss-font-format-keywords@3.0.2(postcss@8.4.35): + resolution: {integrity: sha512-E0xz2sjm4AMCkXLCFvI/lyl4XO6aN1NCSMMVEOngFDJ+k2rDwfr6NDjWljk1li42jiLNChVX+YFnmfGCigZKXw==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: + '@csstools/utilities': 1.0.0(postcss@8.4.35) postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-gamut-mapping@1.0.0(postcss@8.4.35): - resolution: {integrity: sha512-6UQyK8l9YaG5Ao5rBDcCnKHrLsHiQ1E0zeFQuqDJqEtinVzAPb/MwSw3TenZXL1Rnd7th3tb+4CBFHBXdW5tbQ==} + /@csstools/postcss-gamut-mapping@1.0.3(postcss@8.4.35): + resolution: {integrity: sha512-P0+ude1KyCy9LXOe2pHJmpcXK4q/OQbr2Sn2wQSssMw0rALGmny2MfHiCqEu8n6mf2cN6lWDZdzY8enBk8WHXQ==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - '@csstools/css-color-parser': 1.4.0(@csstools/css-parser-algorithms@2.3.2)(@csstools/css-tokenizer@2.2.3) - '@csstools/css-parser-algorithms': 2.3.2(@csstools/css-tokenizer@2.2.3) + '@csstools/css-color-parser': 1.5.2(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) + '@csstools/css-parser-algorithms': 2.6.0(@csstools/css-tokenizer@2.2.3) '@csstools/css-tokenizer': 2.2.3 postcss: 8.4.35 dev: true - /@csstools/postcss-gradients-interpolation-method@4.0.7(postcss@8.4.35): - resolution: {integrity: sha512-GT1CzE/Tyr/ei4j5BwKESkHAgg+Gzys/0mAY7W+UiR+XrcYk5hDbOrE/YJIx1rflfO/7La1bDoZtA0YnLl4qNA==} + /@csstools/postcss-gradients-interpolation-method@4.0.10(postcss@8.4.35): + resolution: {integrity: sha512-PwKOxVuX8lo52bPtPeKjaIp6oH2EzhcBxCndRcvGZKsqZYQ35k9A5G4yihZ+wp7PoxPqDNiXuhQsvQG2lqMpOA==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - '@csstools/css-color-parser': 1.4.0(@csstools/css-parser-algorithms@2.5.0)(@csstools/css-tokenizer@2.2.3) - '@csstools/css-parser-algorithms': 2.5.0(@csstools/css-tokenizer@2.2.3) + '@csstools/css-color-parser': 1.5.2(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) + '@csstools/css-parser-algorithms': 2.6.0(@csstools/css-tokenizer@2.2.3) '@csstools/css-tokenizer': 2.2.3 - '@csstools/postcss-progressive-custom-properties': 3.0.2(postcss@8.4.35) + '@csstools/postcss-progressive-custom-properties': 3.1.0(postcss@8.4.35) + '@csstools/utilities': 1.0.0(postcss@8.4.35) postcss: 8.4.35 dev: true - /@csstools/postcss-hwb-function@3.0.6(postcss@8.4.35): - resolution: {integrity: sha512-uQgWt2Ho2yy2S6qthWY7mD5v57NKxi6dD1NB8nAybU5bJSsm+hLXRGm3/zbOH4xNrqO3Cl60DFSNlSrUME3Xjg==} + /@csstools/postcss-hwb-function@3.0.9(postcss@8.4.35): + resolution: {integrity: sha512-S3/Z+mGHWIKAex7DLsHFDiku5lBEK34avT2My6sGPNCXB38TZjrKI0rd7JdN9oulem5sn+CU7oONyIftui24oQ==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - '@csstools/css-color-parser': 1.4.0(@csstools/css-parser-algorithms@2.5.0)(@csstools/css-tokenizer@2.2.3) - '@csstools/css-parser-algorithms': 2.5.0(@csstools/css-tokenizer@2.2.3) + '@csstools/css-color-parser': 1.5.2(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) + '@csstools/css-parser-algorithms': 2.6.0(@csstools/css-tokenizer@2.2.3) '@csstools/css-tokenizer': 2.2.3 + '@csstools/postcss-progressive-custom-properties': 3.1.0(postcss@8.4.35) + '@csstools/utilities': 1.0.0(postcss@8.4.35) postcss: 8.4.35 dev: true - /@csstools/postcss-ic-unit@3.0.2(postcss@8.4.35): - resolution: {integrity: sha512-n28Er7W9qc48zNjJnvTKuVHY26/+6YlA9WzJRksIHiAWOMxSH5IksXkw7FpkIOd+jLi59BMrX/BWrZMgjkLBHg==} + /@csstools/postcss-ic-unit@3.0.4(postcss@8.4.35): + resolution: {integrity: sha512-OB6ojl33/TQHhjVx1NI+n3EnYbdUM6Q/mSUv3WFATdcz7IrH/CmBaZt7P1R6j1Xdp58thIa6jm4Je7saGs+2AA==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - '@csstools/postcss-progressive-custom-properties': 3.0.2(postcss@8.4.35) + '@csstools/postcss-progressive-custom-properties': 3.1.0(postcss@8.4.35) + '@csstools/utilities': 1.0.0(postcss@8.4.35) postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-initial@1.0.0(postcss@8.4.35): - resolution: {integrity: sha512-1l7iHHjIl5qmVeGItugr4ZOlCREDP71mNKqoEyxlosIoiu3Os1nPWMHpuCvDLCLiWI/ONTOg3nzJh7gwHOrqUA==} + /@csstools/postcss-initial@1.0.1(postcss@8.4.35): + resolution: {integrity: sha512-wtb+IbUIrIf8CrN6MLQuFR7nlU5C7PwuebfeEXfjthUha1+XZj2RVi+5k/lukToA24sZkYAiSJfHM8uG/UZIdg==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 @@ -1961,28 +1955,32 @@ packages: postcss: 8.4.35 dev: true - /@csstools/postcss-is-pseudo-class@4.0.3(postcss@8.4.35): - resolution: {integrity: sha512-/dt5M9Ty/x3Yiq0Nm/5PJJzwkVFchJgdjKVnryBPtoMCb9ohb/nDIJOwr/Wr3hK3FDs1EA1GE6PyRYsUmQPS8Q==} + /@csstools/postcss-is-pseudo-class@4.0.5(postcss@8.4.35): + resolution: {integrity: sha512-qG3MI7IN3KY9UwdaE9E7G7sFydscVW7nAj5OGwaBP9tQPEEVdxXTGI+l1ZW5EUpZFSj+u3q/22fH5+8HI72+Bg==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - '@csstools/selector-specificity': 3.0.1(postcss-selector-parser@6.0.15) + '@csstools/selector-specificity': 3.0.2(postcss-selector-parser@6.0.15) postcss: 8.4.35 postcss-selector-parser: 6.0.15 dev: true - /@csstools/postcss-logical-float-and-clear@2.0.0(postcss@8.4.35): - resolution: {integrity: sha512-Wki4vxsF6icRvRz8eF9bPpAvwaAt0RHwhVOyzfoFg52XiIMjb6jcbHkGxwpJXP4DVrnFEwpwmrz5aTRqOW82kg==} + /@csstools/postcss-light-dark-function@1.0.0(postcss@8.4.35): + resolution: {integrity: sha512-KHo633V16DGo6tmpr1ARAwO73CPBNmDI3PfSQYe7ZBMiv60WEizbcEroK75fHjxKYJ4tj9uCCzp5sYG4cEUqqw==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: + '@csstools/css-parser-algorithms': 2.6.0(@csstools/css-tokenizer@2.2.3) + '@csstools/css-tokenizer': 2.2.3 + '@csstools/postcss-progressive-custom-properties': 3.1.0(postcss@8.4.35) + '@csstools/utilities': 1.0.0(postcss@8.4.35) postcss: 8.4.35 dev: true - /@csstools/postcss-logical-overflow@1.0.0(postcss@8.4.35): - resolution: {integrity: sha512-cIrZ8f7bGGvr+W53nEuMspcwaeaI2YTmz6LZ4yiAO5z14/PQgOOv+Pn+qjvPOPoadeY2BmpaoTzZKvdAQuM17w==} + /@csstools/postcss-logical-float-and-clear@2.0.1(postcss@8.4.35): + resolution: {integrity: sha512-SsrWUNaXKr+e/Uo4R/uIsqJYt3DaggIh/jyZdhy/q8fECoJSKsSMr7nObSLdvoULB69Zb6Bs+sefEIoMG/YfOA==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 @@ -1990,8 +1988,8 @@ packages: postcss: 8.4.35 dev: true - /@csstools/postcss-logical-overscroll-behavior@1.0.0(postcss@8.4.35): - resolution: {integrity: sha512-e89S2LWjnxf0SB2wNUAbqDyFb/Fow/tlOe1XqOLbNx4rf3LrQokM9qldVx7sarnddml3ORE5LDUmlKpPOOeJTA==} + /@csstools/postcss-logical-overflow@1.0.1(postcss@8.4.35): + resolution: {integrity: sha512-Kl4lAbMg0iyztEzDhZuQw8Sj9r2uqFDcU1IPl+AAt2nue8K/f1i7ElvKtXkjhIAmKiy5h2EY8Gt/Cqg0pYFDCw==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 @@ -1999,8 +1997,17 @@ packages: postcss: 8.4.35 dev: true - /@csstools/postcss-logical-resize@2.0.0(postcss@8.4.35): - resolution: {integrity: sha512-lCQ1aX8c5+WI4t5EoYf3alTzJNNocMqTb+u1J9CINdDhFh1fjovqK+0aHalUHsNstZmzFPNzIkU4Mb3eM9U8SA==} + /@csstools/postcss-logical-overscroll-behavior@1.0.1(postcss@8.4.35): + resolution: {integrity: sha512-+kHamNxAnX8ojPCtV8WPcUP3XcqMFBSDuBuvT6MHgq7oX4IQxLIXKx64t7g9LiuJzE7vd06Q9qUYR6bh4YnGpQ==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + postcss: ^8.4 + dependencies: + postcss: 8.4.35 + dev: true + + /@csstools/postcss-logical-resize@2.0.1(postcss@8.4.35): + resolution: {integrity: sha512-W5Gtwz7oIuFcKa5SmBjQ2uxr8ZoL7M2bkoIf0T1WeNqljMkBrfw1DDA8/J83k57NQ1kcweJEjkJ04pUkmyee3A==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 @@ -2009,53 +2016,55 @@ packages: postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-logical-viewport-units@2.0.3(postcss@8.4.35): - resolution: {integrity: sha512-xeVxqND5rlQyqLGdH7rX34sIm/JbbQKxpKQP8oD1YQqUHHCLQR9NUS57WqJKajxKN6AcNAMWJhb5LUH5RfPcyA==} + /@csstools/postcss-logical-viewport-units@2.0.6(postcss@8.4.35): + resolution: {integrity: sha512-6hV0ngZh8J7HqNY3kyt+z5ABN/XE18qvrU7ne4YSkKfltrWDnQgGiW/Q+h7bdQz8/W5juAefcdCCAJUIBE7erg==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: '@csstools/css-tokenizer': 2.2.3 + '@csstools/utilities': 1.0.0(postcss@8.4.35) postcss: 8.4.35 dev: true - /@csstools/postcss-media-minmax@1.1.0(postcss@8.4.35): - resolution: {integrity: sha512-t5Li/DPC5QmW/6VFLfUvsw/4dNYYseWR0tOXDeJg/9EKUodBgNawz5tuk5vYKtNvoj+Q08odMuXcpS5YJj0AFA==} + /@csstools/postcss-media-minmax@1.1.3(postcss@8.4.35): + resolution: {integrity: sha512-W9AFRQSLvT+Dxtp20AewzGTUxzkJ21XSKzqRALwQdAv0uJGXkR76qgdhkoX0L/tcV4gXtgDfVtGYL/x2Nz/M5Q==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - '@csstools/css-calc': 1.1.4(@csstools/css-parser-algorithms@2.5.0)(@csstools/css-tokenizer@2.2.3) - '@csstools/css-parser-algorithms': 2.5.0(@csstools/css-tokenizer@2.2.3) + '@csstools/css-calc': 1.1.7(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) + '@csstools/css-parser-algorithms': 2.6.0(@csstools/css-tokenizer@2.2.3) '@csstools/css-tokenizer': 2.2.3 - '@csstools/media-query-list-parser': 2.1.7(@csstools/css-parser-algorithms@2.5.0)(@csstools/css-tokenizer@2.2.3) + '@csstools/media-query-list-parser': 2.1.8(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) postcss: 8.4.35 dev: true - /@csstools/postcss-media-queries-aspect-ratio-number-values@2.0.3(postcss@8.4.35): - resolution: {integrity: sha512-IPL8AvnwMYW+cWtp+j8cW3MFN0RyXNT4hLOvs6Rf2N+NcbvXhSyKxZuE3W9Cv4KjaNoNoGx1d0UhT6tktq6tUw==} + /@csstools/postcss-media-queries-aspect-ratio-number-values@2.0.6(postcss@8.4.35): + resolution: {integrity: sha512-awc2qenSDvx6r+w6G9xxENp+LsbvHC8mMMV23KYmk4pR3YL8JxeKPDSiDhmqd93FQ9nNNDc/CaCQEcvP+GV4rw==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - '@csstools/css-parser-algorithms': 2.5.0(@csstools/css-tokenizer@2.2.3) + '@csstools/css-parser-algorithms': 2.6.0(@csstools/css-tokenizer@2.2.3) '@csstools/css-tokenizer': 2.2.3 - '@csstools/media-query-list-parser': 2.1.7(@csstools/css-parser-algorithms@2.5.0)(@csstools/css-tokenizer@2.2.3) + '@csstools/media-query-list-parser': 2.1.8(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) postcss: 8.4.35 dev: true - /@csstools/postcss-nested-calc@3.0.0(postcss@8.4.35): - resolution: {integrity: sha512-HsB66aDWAouOwD/GcfDTS0a7wCuVWaTpXcjl5VKP0XvFxDiU+r0T8FG7xgb6ovZNZ+qzvGIwRM+CLHhDgXrYgQ==} + /@csstools/postcss-nested-calc@3.0.2(postcss@8.4.35): + resolution: {integrity: sha512-ySUmPyawiHSmBW/VI44+IObcKH0v88LqFe0d09Sb3w4B1qjkaROc6d5IA3ll9kjD46IIX/dbO5bwFN/swyoyZA==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: + '@csstools/utilities': 1.0.0(postcss@8.4.35) postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-normalize-display-values@3.0.1(postcss@8.4.35): - resolution: {integrity: sha512-nUvRxI+ALJwkxZdPU4EDyuM380vP91sAGvI3jAOHs/sr3jfcCOzLkY6xKI1Mr526kZ3RivmMoYM/xq+XFyE/bw==} + /@csstools/postcss-normalize-display-values@3.0.2(postcss@8.4.35): + resolution: {integrity: sha512-fCapyyT/dUdyPtrelQSIV+d5HqtTgnNP/BEG9IuhgXHt93Wc4CfC1bQ55GzKAjWrZbgakMQ7MLfCXEf3rlZJOw==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 @@ -2064,21 +2073,22 @@ packages: postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-oklab-function@3.0.7(postcss@8.4.35): - resolution: {integrity: sha512-vBFTQD3CARB3u/XIGO44wWbcO7xG/4GsYqJlcPuUGRSK8mtxes6n4vvNFlIByyAZy2k4d4RY63nyvTbMpeNTaQ==} + /@csstools/postcss-oklab-function@3.0.10(postcss@8.4.35): + resolution: {integrity: sha512-s9trs1c+gUMtaTtwrrIpdVQkUbRuwi6bQ9rBHaqwt4kd3kEnEYfP85uLY1inFx6Rt8OM2XVg3PSYbfnFSAO51A==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - '@csstools/css-color-parser': 1.4.0(@csstools/css-parser-algorithms@2.5.0)(@csstools/css-tokenizer@2.2.3) - '@csstools/css-parser-algorithms': 2.5.0(@csstools/css-tokenizer@2.2.3) + '@csstools/css-color-parser': 1.5.2(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) + '@csstools/css-parser-algorithms': 2.6.0(@csstools/css-tokenizer@2.2.3) '@csstools/css-tokenizer': 2.2.3 - '@csstools/postcss-progressive-custom-properties': 3.0.2(postcss@8.4.35) + '@csstools/postcss-progressive-custom-properties': 3.1.0(postcss@8.4.35) + '@csstools/utilities': 1.0.0(postcss@8.4.35) postcss: 8.4.35 dev: true - /@csstools/postcss-progressive-custom-properties@3.0.2(postcss@8.4.35): - resolution: {integrity: sha512-YEvTozk1SxnV/PGL5DllBVDuLQ+jiQhyCSQiZJ6CwBMU5JQ9hFde3i1qqzZHuclZfptjrU0JjlX4ePsOhxNzHw==} + /@csstools/postcss-progressive-custom-properties@3.1.0(postcss@8.4.35): + resolution: {integrity: sha512-Mfb1T1BHa6pktLI+poMEHI7Q+VYvAsdwJZPFsSkIB2ZUsawCiPxXLw06BKSVPITxFlaY/FEUzfpyOTfX9YCE2w==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 @@ -2087,21 +2097,22 @@ packages: postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-relative-color-syntax@2.0.7(postcss@8.4.35): - resolution: {integrity: sha512-2AiFbJSVF4EyymLxme4JzSrbXykHolx8DdZECHjYKMhoulhKLltx5ccYgtrK3BmXGd3v3nJrWFCc8JM8bjuiOg==} + /@csstools/postcss-relative-color-syntax@2.0.10(postcss@8.4.35): + resolution: {integrity: sha512-IkTIk9Eq2VegSN4lgsljGY8boyfX3l3Pw58e+R9oyPe/Ye7r3NwuiQ3w0nkXoQ+RC+d240V6n7eZme2mEPqQvg==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - '@csstools/css-color-parser': 1.4.0(@csstools/css-parser-algorithms@2.5.0)(@csstools/css-tokenizer@2.2.3) - '@csstools/css-parser-algorithms': 2.5.0(@csstools/css-tokenizer@2.2.3) + '@csstools/css-color-parser': 1.5.2(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) + '@csstools/css-parser-algorithms': 2.6.0(@csstools/css-tokenizer@2.2.3) '@csstools/css-tokenizer': 2.2.3 - '@csstools/postcss-progressive-custom-properties': 3.0.2(postcss@8.4.35) + '@csstools/postcss-progressive-custom-properties': 3.1.0(postcss@8.4.35) + '@csstools/utilities': 1.0.0(postcss@8.4.35) postcss: 8.4.35 dev: true - /@csstools/postcss-scope-pseudo-class@3.0.0(postcss@8.4.35): - resolution: {integrity: sha512-GFNVsD97OuEcfHmcT0/DAZWAvTM/FFBDQndIOLawNc1Wq8YqpZwBdHa063Lq+Irk7azygTT+Iinyg3Lt76p7rg==} + /@csstools/postcss-scope-pseudo-class@3.0.1(postcss@8.4.35): + resolution: {integrity: sha512-3ZFonK2gfgqg29gUJ2w7xVw2wFJ1eNWVDONjbzGkm73gJHVCYK5fnCqlLr+N+KbEfv2XbWAO0AaOJCFB6Fer6A==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 @@ -2110,43 +2121,43 @@ packages: postcss-selector-parser: 6.0.15 dev: true - /@csstools/postcss-stepped-value-functions@3.0.2(postcss@8.4.35): - resolution: {integrity: sha512-I3wX44MZVv+tDuWfrd3BTvRB/YRIM2F5v1MBtTI89sxpFn47mNpTwpPYUOGPVCgKlRDfZSlxIUYhUQmqRQZZFQ==} + /@csstools/postcss-stepped-value-functions@3.0.5(postcss@8.4.35): + resolution: {integrity: sha512-B8K8RaTrYVZLxbNzVUvFO3SlCDJDaUTAO7KRth05fa7f01ufPvb6ztdBuxSoRwOtmNp8iROxPJHOemWo2kBBtA==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - '@csstools/css-calc': 1.1.4(@csstools/css-parser-algorithms@2.5.0)(@csstools/css-tokenizer@2.2.3) - '@csstools/css-parser-algorithms': 2.5.0(@csstools/css-tokenizer@2.2.3) + '@csstools/css-calc': 1.1.7(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) + '@csstools/css-parser-algorithms': 2.6.0(@csstools/css-tokenizer@2.2.3) '@csstools/css-tokenizer': 2.2.3 postcss: 8.4.35 dev: true - /@csstools/postcss-text-decoration-shorthand@3.0.3(postcss@8.4.35): - resolution: {integrity: sha512-d5J9m49HhqXRcw1S6vTZuviHi/iknUKGjBpChiNK1ARg9sSa3b8m5lsWz5Izs8ISORZdv2bZRwbw5Z2R6gQ9kQ==} + /@csstools/postcss-text-decoration-shorthand@3.0.4(postcss@8.4.35): + resolution: {integrity: sha512-yUZmbnUemgQmja7SpOZeU45+P49wNEgQguRdyTktFkZsHf7Gof+ZIYfvF6Cm+LsU1PwSupy4yUeEKKjX5+k6cQ==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - '@csstools/color-helpers': 3.0.2 + '@csstools/color-helpers': 4.0.0 postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-trigonometric-functions@3.0.2(postcss@8.4.35): - resolution: {integrity: sha512-AwzNhF4QOKaLOKvMljwwFkeYXwufhRO15G+kKohHkyoNOL75xWkN+W2Y9ik9tSeAyDv+cYNlYaF+o/a79WjVjg==} + /@csstools/postcss-trigonometric-functions@3.0.5(postcss@8.4.35): + resolution: {integrity: sha512-RhBfQ0TsBudyPuoo8pXKdfQuUiQxMU/Sc5GyV57bWk93JbUHXq6b4CdPx+B/tHUeFKvocVJn/e2jbu96rh0d3Q==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - '@csstools/css-calc': 1.1.4(@csstools/css-parser-algorithms@2.5.0)(@csstools/css-tokenizer@2.2.3) - '@csstools/css-parser-algorithms': 2.5.0(@csstools/css-tokenizer@2.2.3) + '@csstools/css-calc': 1.1.7(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) + '@csstools/css-parser-algorithms': 2.6.0(@csstools/css-tokenizer@2.2.3) '@csstools/css-tokenizer': 2.2.3 postcss: 8.4.35 dev: true - /@csstools/postcss-unset-value@3.0.0(postcss@8.4.35): - resolution: {integrity: sha512-P0JD1WHh3avVyKKRKjd0dZIjCEeaBer8t1BbwGMUDtSZaLhXlLNBqZ8KkqHzYWXOJgHleXAny2/sx8LYl6qhEA==} + /@csstools/postcss-unset-value@3.0.1(postcss@8.4.35): + resolution: {integrity: sha512-dbDnZ2ja2U8mbPP0Hvmt2RMEGBiF1H7oY6HYSpjteXJGihYwgxgTr6KRbbJ/V6c+4wd51M+9980qG4gKVn5ttg==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 @@ -2163,6 +2174,24 @@ packages: postcss-selector-parser: 6.0.15 dev: true + /@csstools/selector-specificity@3.0.2(postcss-selector-parser@6.0.15): + resolution: {integrity: sha512-RpHaZ1h9LE7aALeQXmXrJkRG84ZxIsctEN2biEUmFyKpzFM3zZ35eUMcIzZFsw/2olQE6v69+esEqU2f1MKycg==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + postcss-selector-parser: ^6.0.13 + dependencies: + postcss-selector-parser: 6.0.15 + dev: true + + /@csstools/utilities@1.0.0(postcss@8.4.35): + resolution: {integrity: sha512-tAgvZQe/t2mlvpNosA4+CkMiZ2azISW5WPAcdSalZlEjQvUfghHxfQcrCiK/7/CrfAWVxyM88kGFYO82heIGDg==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + postcss: ^8.4 + dependencies: + postcss: 8.4.35 + dev: true + /@cypress/request@3.0.1: resolution: {integrity: sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ==} engines: {node: '>= 6'} @@ -3215,7 +3244,7 @@ packages: vitest: 1.3.0(@types/node@20.11.19)(@vitest/ui@1.3.0)(jsdom@24.0.0)(sass@1.71.0) dev: true - /@testing-library/react-hooks@8.0.1(@types/react@18.2.56)(react-dom@18.2.0)(react@18.2.0): + /@testing-library/react-hooks@8.0.1(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-Aqhl2IVmLt8IovEVarNDFuJDVWVvhnr9/GCU6UUnrYXwgDFF9h2L2o2P9KBni1AST5sT6riAyoukFLyjQUgD/g==} engines: {node: '>=12'} peerDependencies: @@ -3232,7 +3261,7 @@ packages: optional: true dependencies: '@babel/runtime': 7.22.10 - '@types/react': 18.2.56 + '@types/react': 18.2.57 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-error-boundary: 3.1.4(react@18.2.0) @@ -3365,7 +3394,7 @@ packages: /@types/hoist-non-react-statics@3.3.5: resolution: {integrity: sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==} dependencies: - '@types/react': 18.2.56 + '@types/react': 18.2.57 hoist-non-react-statics: 3.3.2 dev: true @@ -3437,14 +3466,14 @@ packages: /@types/react-dom@18.2.19: resolution: {integrity: sha512-aZvQL6uUbIJpjZk4U8JZGbau9KDeAwMfmhyWorxgBkqDIEf6ROjRozcmPIicqsUwPUjbkDfHKgGee1Lq65APcA==} dependencies: - '@types/react': 18.2.56 + '@types/react': 18.2.57 dev: true /@types/react-router-dom@5.3.3: resolution: {integrity: sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==} dependencies: '@types/history': 4.7.11 - '@types/react': 18.2.56 + '@types/react': 18.2.57 '@types/react-router': 5.1.19 dev: true @@ -3452,11 +3481,11 @@ packages: resolution: {integrity: sha512-Fv/5kb2STAEMT3wHzdKQK2z8xKq38EDIGVrutYLmQVVLe+4orDFquU52hQrULnEHinMKv9FSA6lf9+uNT1ITtA==} dependencies: '@types/history': 4.7.11 - '@types/react': 18.2.56 + '@types/react': 18.2.57 dev: true - /@types/react@18.2.56: - resolution: {integrity: sha512-NpwHDMkS/EFZF2dONFQHgkPRwhvgq/OAvIaGQzxGSBmaeR++kTg6njr15Vatz0/2VcCEwJQFi6Jf4Q0qBu0rLA==} + /@types/react@18.2.57: + resolution: {integrity: sha512-ZvQsktJgSYrQiMirAN60y4O/LRevIV8hUzSOSNB6gfR3/o3wCBFQx3sPwIYtuDMeiVgsSS3UzCV26tEzgnfvQw==} dependencies: '@types/prop-types': 15.7.11 '@types/scheduler': 0.16.8 @@ -3501,7 +3530,7 @@ packages: resolution: {integrity: sha512-mmiVvwpYklFIv9E8qfxuPyIt/OuyIrn6gMOAMOFUO3WJfSrSE+sGUoa4PiZj77Ut7bKZpaa6o1fBKS/4TOEvnA==} dependencies: '@types/hoist-non-react-statics': 3.3.5 - '@types/react': 18.2.56 + '@types/react': 18.2.57 csstype: 3.1.3 dev: true @@ -3539,8 +3568,8 @@ packages: dev: true optional: true - /@typescript-eslint/eslint-plugin@7.0.1(@typescript-eslint/parser@7.0.1)(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-OLvgeBv3vXlnnJGIAgCLYKjgMEU+wBGj07MQ/nxAaON+3mLzX7mJbhRYrVGiVvFiXtwFlkcBa/TtmglHy0UbzQ==} + /@typescript-eslint/eslint-plugin@7.0.2(@typescript-eslint/parser@7.0.2)(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-/XtVZJtbaphtdrWjr+CJclaCVGPtOdBpFEnvtNf/jRV0IiEemRrL0qABex/nEt8isYcnFacm3nPHYQwL+Wb7qg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^7.0.0 @@ -3551,11 +3580,11 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.0.1(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/scope-manager': 7.0.1 - '@typescript-eslint/type-utils': 7.0.1(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/utils': 7.0.1(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 7.0.1 + '@typescript-eslint/parser': 7.0.2(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/scope-manager': 7.0.2 + '@typescript-eslint/type-utils': 7.0.2(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/utils': 7.0.2(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 7.0.2 debug: 4.3.4(supports-color@8.1.1) eslint: 8.56.0 graphemer: 1.4.0 @@ -3581,8 +3610,8 @@ packages: - typescript dev: true - /@typescript-eslint/parser@7.0.1(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-8GcRRZNzaHxKzBPU3tKtFNing571/GwPBeCvmAUw0yBtfE2XVd0zFKJIMSWkHJcPQi0ekxjIts6L/rrZq5cxGQ==} + /@typescript-eslint/parser@7.0.2(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-GdwfDglCxSmU+QTS9vhz2Sop46ebNCXpPPvsByK7hu0rFGRHL+AusKQJ7SoN+LbLh6APFpQwHKmDSwN35Z700Q==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^8.56.0 @@ -3591,10 +3620,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 7.0.1 - '@typescript-eslint/types': 7.0.1 - '@typescript-eslint/typescript-estree': 7.0.1(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 7.0.1 + '@typescript-eslint/scope-manager': 7.0.2 + '@typescript-eslint/types': 7.0.2 + '@typescript-eslint/typescript-estree': 7.0.2(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 7.0.2 debug: 4.3.4(supports-color@8.1.1) eslint: 8.56.0 typescript: 5.3.3 @@ -3610,16 +3639,16 @@ packages: '@typescript-eslint/visitor-keys': 5.62.0 dev: true - /@typescript-eslint/scope-manager@7.0.1: - resolution: {integrity: sha512-v7/T7As10g3bcWOOPAcbnMDuvctHzCFYCG/8R4bK4iYzdFqsZTbXGln0cZNVcwQcwewsYU2BJLay8j0/4zOk4w==} + /@typescript-eslint/scope-manager@7.0.2: + resolution: {integrity: sha512-l6sa2jF3h+qgN2qUMjVR3uCNGjWw4ahGfzIYsCtFrQJCjhbrDPdiihYT8FnnqFwsWX+20hK592yX9I2rxKTP4g==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 7.0.1 - '@typescript-eslint/visitor-keys': 7.0.1 + '@typescript-eslint/types': 7.0.2 + '@typescript-eslint/visitor-keys': 7.0.2 dev: true - /@typescript-eslint/type-utils@7.0.1(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-YtT9UcstTG5Yqy4xtLiClm1ZpM/pWVGFnkAa90UfdkkZsR1eP2mR/1jbHeYp8Ay1l1JHPyGvoUYR6o3On5Nhmw==} + /@typescript-eslint/type-utils@7.0.2(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-IKKDcFsKAYlk8Rs4wiFfEwJTQlHcdn8CLwLaxwd6zb8HNiMcQIFX9sWax2k4Cjj7l7mGS5N1zl7RCHOVwHq2VQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^8.56.0 @@ -3628,8 +3657,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 7.0.1(typescript@5.3.3) - '@typescript-eslint/utils': 7.0.1(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 7.0.2(typescript@5.3.3) + '@typescript-eslint/utils': 7.0.2(eslint@8.56.0)(typescript@5.3.3) debug: 4.3.4(supports-color@8.1.1) eslint: 8.56.0 ts-api-utils: 1.2.1(typescript@5.3.3) @@ -3643,8 +3672,8 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/types@7.0.1: - resolution: {integrity: sha512-uJDfmirz4FHib6ENju/7cz9SdMSkeVvJDK3VcMFvf/hAShg8C74FW+06MaQPODHfDJp/z/zHfgawIJRjlu0RLg==} + /@typescript-eslint/types@7.0.2: + resolution: {integrity: sha512-ZzcCQHj4JaXFjdOql6adYV4B/oFOFjPOC9XYwCaZFRvqN8Llfvv4gSxrkQkd2u4Ci62i2c6W6gkDwQJDaRc4nA==} engines: {node: ^16.0.0 || >=18.0.0} dev: true @@ -3669,8 +3698,8 @@ packages: - supports-color dev: true - /@typescript-eslint/typescript-estree@7.0.1(typescript@5.3.3): - resolution: {integrity: sha512-SO9wHb6ph0/FN5OJxH4MiPscGah5wjOd0RRpaLvuBv9g8565Fgu0uMySFEPqwPHiQU90yzJ2FjRYKGrAhS1xig==} + /@typescript-eslint/typescript-estree@7.0.2(typescript@5.3.3): + resolution: {integrity: sha512-3AMc8khTcELFWcKcPc0xiLviEvvfzATpdPj/DXuOGIdQIIFybf4DMT1vKRbuAEOFMwhWt7NFLXRkbjsvKZQyvw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -3678,8 +3707,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 7.0.1 - '@typescript-eslint/visitor-keys': 7.0.1 + '@typescript-eslint/types': 7.0.2 + '@typescript-eslint/visitor-keys': 7.0.2 debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 @@ -3711,8 +3740,8 @@ packages: - typescript dev: true - /@typescript-eslint/utils@7.0.1(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-oe4his30JgPbnv+9Vef1h48jm0S6ft4mNwi9wj7bX10joGn07QRfqIqFHoMiajrtoU88cIhXf8ahwgrcbNLgPA==} + /@typescript-eslint/utils@7.0.2(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-PZPIONBIB/X684bhT1XlrkjNZJIEevwkKDsdwfiu1WeqBxYEEdIgVDgm8/bbKHVu+6YOpeRqcfImTdImx/4Bsw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^8.56.0 @@ -3720,9 +3749,9 @@ packages: '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.7 - '@typescript-eslint/scope-manager': 7.0.1 - '@typescript-eslint/types': 7.0.1 - '@typescript-eslint/typescript-estree': 7.0.1(typescript@5.3.3) + '@typescript-eslint/scope-manager': 7.0.2 + '@typescript-eslint/types': 7.0.2 + '@typescript-eslint/typescript-estree': 7.0.2(typescript@5.3.3) eslint: 8.56.0 semver: 7.5.4 transitivePeerDependencies: @@ -3738,11 +3767,11 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@typescript-eslint/visitor-keys@7.0.1: - resolution: {integrity: sha512-hwAgrOyk++RTXrP4KzCg7zB2U0xt7RUU0ZdMSCsqF3eKUwkdXUMyTb0qdCuji7VIbcpG62kKTU9M1J1c9UpFBw==} + /@typescript-eslint/visitor-keys@7.0.2: + resolution: {integrity: sha512-8Y+YiBmqPighbm5xA2k4wKTxRzx9EkBu7Rlw+WHqMvRJ3RPz/BMBO9b2ru0LUNmXg120PHUXD5+SWFy2R8DqlQ==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 7.0.1 + '@typescript-eslint/types': 7.0.2 eslint-visitor-keys: 3.4.3 dev: true @@ -4438,7 +4467,7 @@ packages: resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} dev: true - /babel-loader@9.1.3(@babel/core@7.23.9)(webpack@5.90.2): + /babel-loader@9.1.3(@babel/core@7.23.9)(webpack@5.90.3): resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -4448,7 +4477,7 @@ packages: '@babel/core': 7.23.9 find-cache-dir: 4.0.0 schema-utils: 4.2.0 - webpack: 5.90.2 + webpack: 5.90.3 dev: true /babel-plugin-macros@3.1.0: @@ -4596,17 +4625,6 @@ packages: duplexer: 0.1.1 dev: true - /browserslist@4.22.1: - resolution: {integrity: sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - dependencies: - caniuse-lite: 1.0.30001579 - electron-to-chromium: 1.4.589 - node-releases: 2.0.13 - update-browserslist-db: 1.0.13(browserslist@4.22.1) - dev: true - /browserslist@4.22.2: resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -4635,7 +4653,7 @@ packages: hasBin: true dependencies: caniuse-lite: 1.0.30001588 - electron-to-chromium: 1.4.673 + electron-to-chromium: 1.4.675 node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.23.0) dev: true @@ -4780,8 +4798,8 @@ packages: /caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} dependencies: - browserslist: 4.22.3 - caniuse-lite: 1.0.30001579 + browserslist: 4.23.0 + caniuse-lite: 1.0.30001588 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 dev: true @@ -5136,8 +5154,8 @@ packages: which: 2.0.2 dev: true - /css-blank-pseudo@6.0.0(postcss@8.4.35): - resolution: {integrity: sha512-VbfLlOWO7sBHBTn6pwDQzc07Z0SDydgDBfNfCE0nvrehdBNv9RKsuupIRa/qal0+fBZhAALyQDPMKz5lnvcchw==} + /css-blank-pseudo@6.0.1(postcss@8.4.35): + resolution: {integrity: sha512-goSnEITByxTzU4Oh5oJZrEWudxTqk7L6IXj1UW69pO6Hv0UdX+Vsrt02FFu5DweRh2bLu6WpX/+zsQCu5O1gKw==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 @@ -5173,20 +5191,20 @@ packages: engines: {node: '>=12 || >=16'} dev: true - /css-has-pseudo@6.0.0(postcss@8.4.35): - resolution: {integrity: sha512-X+r+JBuoO37FBOWVNhVJhxtSBUFHgHbrcc0CjFT28JEdOw1qaDwABv/uunyodUuSy2hMPe9j/HjssxSlvUmKjg==} + /css-has-pseudo@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-Z2Qm5yyOvJRTy6THdUlnGIX6PW/1wOc4FHWlfkcBkfkpZ3oz6lPdG+h+J7t1HZHT4uSSVR8XatXiMpqMUADXow==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - '@csstools/selector-specificity': 3.0.1(postcss-selector-parser@6.0.15) + '@csstools/selector-specificity': 3.0.2(postcss-selector-parser@6.0.15) postcss: 8.4.35 postcss-selector-parser: 6.0.15 postcss-value-parser: 4.2.0 dev: true - /css-prefers-color-scheme@9.0.0(postcss@8.4.35): - resolution: {integrity: sha512-03QGAk/FXIRseDdLb7XAiu6gidQ0Nd8945xuM7VFVPpc6goJsG9uIO8xQjTxwbPdPIIV4o4AJoOJyt8gwDl67g==} + /css-prefers-color-scheme@9.0.1(postcss@8.4.35): + resolution: {integrity: sha512-iFit06ochwCKPRiWagbTa1OAWCvWWVdEnIFd8BaRrgO8YrrNh4RAWUQTFcYX5tdFZgFl1DJ3iiULchZyEbnF4g==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 @@ -5254,8 +5272,8 @@ packages: resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==} dev: true - /cssdb@7.9.0: - resolution: {integrity: sha512-WPMT9seTQq6fPAa1yN4zjgZZeoTriSN2LqW9C+otjar12DQIWA4LuSfFrvFJiKp4oD0xIk1vumDLw8K9ur4NBw==} + /cssdb@7.11.0: + resolution: {integrity: sha512-YUVAJhjDcTZzVD5XE49l3PQtGE29vvhzaL1bM3BtkvSmIRJeYENdfn1dn5jauBI7BBF+IyyiBS+oSVx3Hz/Gaw==} dev: true /cssesc@3.0.0: @@ -5735,10 +5753,6 @@ packages: safer-buffer: 2.1.2 dev: true - /electron-to-chromium@1.4.589: - resolution: {integrity: sha512-zF6y5v/YfoFIgwf2dDfAqVlPPsyQeWNpEWXbAlDUS8Ax4Z2VoiiZpAPC0Jm9hXEkJm2vIZpwB6rc4KnLTQffbQ==} - dev: true - /electron-to-chromium@1.4.637: resolution: {integrity: sha512-G7j3UCOukFtxVO1vWrPQUoDk3kL70mtvjc/DC/k2o7lE0wAdq+Vwp1ipagOow+BH0uVztFysLWbkM/RTIrbK3w==} dev: true @@ -5747,8 +5761,8 @@ packages: resolution: {integrity: sha512-EmFMarXeqJp9cUKu/QEciEApn0S/xRcpZWuAm32U7NgoZCimjsilKXHRO9saeEW55eHZagIDg6XTUOv32w9pjg==} dev: true - /electron-to-chromium@1.4.673: - resolution: {integrity: sha512-zjqzx4N7xGdl5468G+vcgzDhaHkaYgVcf9MqgexcTqsl2UHSCmOj/Bi3HAprg4BZCpC7HyD8a6nZl6QAZf72gw==} + /electron-to-chromium@1.4.675: + resolution: {integrity: sha512-+1u3F/XPNIdUwv8i1lDxHAxCvNNU0QIqgb1Ycn+Jnng8ITzWSvUqixRSM7NOazJuwhf65IV17f/VbKj8DmL26A==} dev: true /emoji-regex@10.3.0: @@ -6109,7 +6123,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@7.0.1)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@7.0.2)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -6130,7 +6144,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 7.0.1(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/parser': 7.0.2(eslint@8.56.0)(typescript@5.3.3) debug: 3.2.7(supports-color@8.1.1) eslint: 8.56.0 eslint-import-resolver-node: 0.3.9 @@ -6138,7 +6152,7 @@ packages: - supports-color dev: true - /eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.0.1)(eslint@8.56.0): + /eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.0.2)(eslint@8.56.0): resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} engines: {node: '>=4'} peerDependencies: @@ -6148,7 +6162,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 7.0.1(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/parser': 7.0.2(eslint@8.56.0)(typescript@5.3.3) array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 array.prototype.flat: 1.3.2 @@ -6157,7 +6171,7 @@ packages: doctrine: 2.1.0 eslint: 8.56.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.0.1)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.0.2)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0) hasown: 2.0.0 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -6233,7 +6247,7 @@ packages: requireindex: 1.2.0 dev: true - /eslint-plugin-typescript-sort-keys@3.1.0(@typescript-eslint/parser@7.0.1)(eslint@8.56.0)(typescript@5.3.3): + /eslint-plugin-typescript-sort-keys@3.1.0(@typescript-eslint/parser@7.0.2)(eslint@8.56.0)(typescript@5.3.3): resolution: {integrity: sha512-rgZeYfEguqKni/V7sbmgFu9/94UDAQd7YqNd0J7Qhw7SdLIGd0iBk2KgpjhRhe2ge4rPSLDIdFWwUiDqBOst6Q==} engines: {node: '>= 16'} peerDependencies: @@ -6242,7 +6256,7 @@ packages: typescript: ^3 || ^4 || ^5 dependencies: '@typescript-eslint/experimental-utils': 5.62.0(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/parser': 7.0.1(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/parser': 7.0.2(eslint@8.56.0)(typescript@5.3.3) eslint: 8.56.0 json-schema: 0.4.0 natural-compare-lite: 1.4.0 @@ -8705,10 +8719,6 @@ packages: - supports-color dev: true - /node-releases@2.0.13: - resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} - dev: true - /node-releases@2.0.14: resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} dev: true @@ -9298,8 +9308,8 @@ packages: pathe: 1.1.2 dev: true - /postcss-attribute-case-insensitive@6.0.2(postcss@8.4.35): - resolution: {integrity: sha512-IRuCwwAAQbgaLhxQdQcIIK0dCVXg3XDUnzgKD8iwdiYdwU4rMWRWyl/W9/0nA4ihVpq5pyALiHB2veBJ0292pw==} + /postcss-attribute-case-insensitive@6.0.3(postcss@8.4.35): + resolution: {integrity: sha512-KHkmCILThWBRtg+Jn1owTnHPnFit4OkqS+eKiGEOPIGke54DCeYGJ6r0Fx/HjfE9M9kznApCLcU0DvnPchazMQ==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 @@ -9339,33 +9349,38 @@ packages: postcss-value-parser: 4.2.0 dev: true - /postcss-color-functional-notation@6.0.2(postcss@8.4.35): - resolution: {integrity: sha512-FsjSmlSufuiFBsIqQ++VxFmvX7zKndZpBkHmfXr4wqhvzM92FTEkAh703iqWTl1U3faTgqioIqCbfqdWiFVwtw==} + /postcss-color-functional-notation@6.0.5(postcss@8.4.35): + resolution: {integrity: sha512-aTFsIy89ftjyclwUHRwvz1IxucLzVrzmmcXmtbPWT9GdyYeaJEKeAwbaZzOZn7AQlXg4xfwgkYhKsofC4aLIwg==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - '@csstools/postcss-progressive-custom-properties': 3.0.2(postcss@8.4.35) + '@csstools/css-color-parser': 1.5.2(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) + '@csstools/css-parser-algorithms': 2.6.0(@csstools/css-tokenizer@2.2.3) + '@csstools/css-tokenizer': 2.2.3 + '@csstools/postcss-progressive-custom-properties': 3.1.0(postcss@8.4.35) + '@csstools/utilities': 1.0.0(postcss@8.4.35) postcss: 8.4.35 - postcss-value-parser: 4.2.0 dev: true - /postcss-color-hex-alpha@9.0.2(postcss@8.4.35): - resolution: {integrity: sha512-SfPjgr//VQ/DOCf80STIAsdAs7sbIbxATvVmd+Ec7JvR8onz9pjawhq3BJM3Pie40EE3TyB0P6hft16D33Nlyg==} + /postcss-color-hex-alpha@9.0.4(postcss@8.4.35): + resolution: {integrity: sha512-XQZm4q4fNFqVCYMGPiBjcqDhuG7Ey2xrl99AnDJMyr5eDASsAGalndVgHZF8i97VFNy1GQeZc4q2ydagGmhelQ==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: + '@csstools/utilities': 1.0.0(postcss@8.4.35) postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true - /postcss-color-rebeccapurple@9.0.1(postcss@8.4.35): - resolution: {integrity: sha512-ds4cq5BjRieizVb2PnvbJ0omg9VCo2/KzluvoFZbxuGpsGJ5BQSD93CHBooinEtangCM5YqUOerGDl4xGmOb6Q==} + /postcss-color-rebeccapurple@9.0.3(postcss@8.4.35): + resolution: {integrity: sha512-ruBqzEFDYHrcVq3FnW3XHgwRqVMrtEPLBtD7K2YmsLKVc2jbkxzzNEctJKsPCpDZ+LeMHLKRDoSShVefGc+CkQ==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: + '@csstools/utilities': 1.0.0(postcss@8.4.35) postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true @@ -9376,7 +9391,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.22.3 + browserslist: 4.23.0 caniuse-api: 3.0.0 colord: 2.9.3 postcss: 8.4.35 @@ -9389,7 +9404,7 @@ packages: peerDependencies: postcss: ^8.4.31 dependencies: - browserslist: 4.22.3 + browserslist: 4.23.0 caniuse-api: 3.0.0 colord: 2.9.3 postcss: 8.4.35 @@ -9402,7 +9417,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.22.3 + browserslist: 4.23.0 postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true @@ -9413,52 +9428,53 @@ packages: peerDependencies: postcss: ^8.4.31 dependencies: - browserslist: 4.22.3 + browserslist: 4.23.0 postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true - /postcss-custom-media@10.0.2(postcss@8.4.35): - resolution: {integrity: sha512-zcEFNRmDm2fZvTPdI1pIW3W//UruMcLosmMiCdpQnrCsTRzWlKQPYMa1ud9auL0BmrryKK1+JjIGn19K0UjO/w==} + /postcss-custom-media@10.0.3(postcss@8.4.35): + resolution: {integrity: sha512-wfJ9nKpLn/Qy7LASKu0Rj9Iq2uMzlRt27P4FAE1889IKRMdYUgy8SqvdXfAOs7LJLQX9Fjm0mZ+TSFphD/mKwA==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - '@csstools/cascade-layer-name-parser': 1.0.5(@csstools/css-parser-algorithms@2.5.0)(@csstools/css-tokenizer@2.2.3) - '@csstools/css-parser-algorithms': 2.5.0(@csstools/css-tokenizer@2.2.3) + '@csstools/cascade-layer-name-parser': 1.0.8(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) + '@csstools/css-parser-algorithms': 2.6.0(@csstools/css-tokenizer@2.2.3) '@csstools/css-tokenizer': 2.2.3 - '@csstools/media-query-list-parser': 2.1.7(@csstools/css-parser-algorithms@2.5.0)(@csstools/css-tokenizer@2.2.3) + '@csstools/media-query-list-parser': 2.1.8(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) postcss: 8.4.35 dev: true - /postcss-custom-properties@13.3.2(postcss@8.4.35): - resolution: {integrity: sha512-2Coszybpo8lpLY24vy2CYv9AasiZ39/bs8Imv0pWMq55Gl8NWzfc24OAo3zIX7rc6uUJAqESnVOMZ6V6lpMjJA==} + /postcss-custom-properties@13.3.5(postcss@8.4.35): + resolution: {integrity: sha512-xHg8DTCMfN2nrqs2CQTF+0m5jgnzKL5zrW5Y05KF6xBRO0uDPxiplBm/xcr1o49SLbyJXkMuaRJKhRzkrquKnQ==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - '@csstools/cascade-layer-name-parser': 1.0.5(@csstools/css-parser-algorithms@2.5.0)(@csstools/css-tokenizer@2.2.3) - '@csstools/css-parser-algorithms': 2.5.0(@csstools/css-tokenizer@2.2.3) + '@csstools/cascade-layer-name-parser': 1.0.8(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) + '@csstools/css-parser-algorithms': 2.6.0(@csstools/css-tokenizer@2.2.3) '@csstools/css-tokenizer': 2.2.3 + '@csstools/utilities': 1.0.0(postcss@8.4.35) postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true - /postcss-custom-selectors@7.1.6(postcss@8.4.35): - resolution: {integrity: sha512-svsjWRaxqL3vAzv71dV0/65P24/FB8TbPX+lWyyf9SZ7aZm4S4NhCn7N3Bg+Z5sZunG3FS8xQ80LrCU9hb37cw==} + /postcss-custom-selectors@7.1.7(postcss@8.4.35): + resolution: {integrity: sha512-N19MpExaR+hYTXU59VO02xE42zLoAUYSVcupwkKlWWLteOb+sWCWHw5FhV7u7gVLTzaGULy7nZP3DNTHgOZAPA==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - '@csstools/cascade-layer-name-parser': 1.0.5(@csstools/css-parser-algorithms@2.5.0)(@csstools/css-tokenizer@2.2.3) - '@csstools/css-parser-algorithms': 2.5.0(@csstools/css-tokenizer@2.2.3) + '@csstools/cascade-layer-name-parser': 1.0.8(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) + '@csstools/css-parser-algorithms': 2.6.0(@csstools/css-tokenizer@2.2.3) '@csstools/css-tokenizer': 2.2.3 postcss: 8.4.35 postcss-selector-parser: 6.0.15 dev: true - /postcss-dir-pseudo-class@8.0.0(postcss@8.4.35): - resolution: {integrity: sha512-Oy5BBi0dWPwij/IA+yDYj+/OBMQ9EPqAzTHeSNUYrUWdll/PRJmcbiUj0MNcsBi681I1gcSTLvMERPaXzdbvJg==} + /postcss-dir-pseudo-class@8.0.1(postcss@8.4.35): + resolution: {integrity: sha512-uULohfWBBVoFiZXgsQA24JV6FdKIidQ+ZqxOouhWwdE+qJlALbkS5ScB43ZTjPK+xUZZhlaO/NjfCt5h4IKUfw==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 @@ -9539,19 +9555,20 @@ packages: postcss: 8.4.35 dev: true - /postcss-double-position-gradients@5.0.2(postcss@8.4.35): - resolution: {integrity: sha512-KTbvdOOy8z8zb0BTkEg4/1vqlRlApdvjw8/pFoehgQl0WVO+fezDGlvo0B8xRA+XccA7ohkQCULKNsiNOx70Cw==} + /postcss-double-position-gradients@5.0.4(postcss@8.4.35): + resolution: {integrity: sha512-xOH2QhazCPeYR+ziYaDcGlpo7Bpw8PVoggOFfU/xPkmBRUQH8MR2eWoPY1CZM93CB0WKs2mxq3ORo83QGIooLw==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - '@csstools/postcss-progressive-custom-properties': 3.0.2(postcss@8.4.35) + '@csstools/postcss-progressive-custom-properties': 3.1.0(postcss@8.4.35) + '@csstools/utilities': 1.0.0(postcss@8.4.35) postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true - /postcss-focus-visible@9.0.0(postcss@8.4.35): - resolution: {integrity: sha512-zA4TbVaIaT8npZBEROhZmlc+GBKE8AELPHXE7i4TmIUEQhw/P/mSJfY9t6tBzpQ1rABeGtEOHYrW4SboQeONMQ==} + /postcss-focus-visible@9.0.1(postcss@8.4.35): + resolution: {integrity: sha512-N2VQ5uPz3Z9ZcqI5tmeholn4d+1H14fKXszpjogZIrFbhaq0zNAtq8sAnw6VLiqGbL8YBzsnu7K9bBkTqaRimQ==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 @@ -9560,8 +9577,8 @@ packages: postcss-selector-parser: 6.0.15 dev: true - /postcss-focus-within@8.0.0(postcss@8.4.35): - resolution: {integrity: sha512-E7+J9nuQzZaA37D/MUZMX1K817RZGDab8qw6pFwzAkDd/QtlWJ9/WTKmzewNiuxzeq6WWY7ATiRePVoDKp+DnA==} + /postcss-focus-within@8.0.1(postcss@8.4.35): + resolution: {integrity: sha512-NFU3xcY/xwNaapVb+1uJ4n23XImoC86JNwkY/uduytSl2s9Ekc2EpzmRR63+ExitnW3Mab3Fba/wRPCT5oDILA==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 @@ -9578,8 +9595,8 @@ packages: postcss: 8.4.35 dev: true - /postcss-gap-properties@5.0.0(postcss@8.4.35): - resolution: {integrity: sha512-YjsEEL6890P7MCv6fch6Am1yq0EhQCJMXyT4LBohiu87+4/WqR7y5W3RIv53WdA901hhytgRvjlrAhibhW4qsA==} + /postcss-gap-properties@5.0.1(postcss@8.4.35): + resolution: {integrity: sha512-k2z9Cnngc24c0KF4MtMuDdToROYqGMMUQGcE6V0odwjHyOHtaDBlLeRBV70y9/vF7KIbShrTRZ70JjsI1BZyWw==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 @@ -9587,26 +9604,28 @@ packages: postcss: 8.4.35 dev: true - /postcss-image-set-function@6.0.1(postcss@8.4.35): - resolution: {integrity: sha512-VlZncC9hhZ5tg0JllY4g6Z28BeoPO8DIkelioEEkXL0AA0IORlqYpTi2L8TUnl4YQrlwvBgxVy+mdZJw5R/cIQ==} + /postcss-image-set-function@6.0.3(postcss@8.4.35): + resolution: {integrity: sha512-i2bXrBYzfbRzFnm+pVuxVePSTCRiNmlfssGI4H0tJQvDue+yywXwUxe68VyzXs7cGtMaH6MCLY6IbCShrSroCw==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: + '@csstools/utilities': 1.0.0(postcss@8.4.35) postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true - /postcss-lab-function@6.0.7(postcss@8.4.35): - resolution: {integrity: sha512-4d1lhDVPukHFqkMv4G5vVcK+tgY52vwb5uR1SWKOaO5389r2q8fMxBWuXSW+YtbCOEGP0/X9KERi9E9le2pJuw==} + /postcss-lab-function@6.0.10(postcss@8.4.35): + resolution: {integrity: sha512-Csvw/CwwuwTojK2O3Ad0SvYKrfnAKy+uvT+1Fjk6igR+n8gHuJHIwdj1A2s46EZZojg3RkibdMBuv1vMvR6Sng==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - '@csstools/css-color-parser': 1.4.0(@csstools/css-parser-algorithms@2.5.0)(@csstools/css-tokenizer@2.2.3) - '@csstools/css-parser-algorithms': 2.5.0(@csstools/css-tokenizer@2.2.3) + '@csstools/css-color-parser': 1.5.2(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) + '@csstools/css-parser-algorithms': 2.6.0(@csstools/css-tokenizer@2.2.3) '@csstools/css-tokenizer': 2.2.3 - '@csstools/postcss-progressive-custom-properties': 3.0.2(postcss@8.4.35) + '@csstools/postcss-progressive-custom-properties': 3.1.0(postcss@8.4.35) + '@csstools/utilities': 1.0.0(postcss@8.4.35) postcss: 8.4.35 dev: true @@ -9627,8 +9646,8 @@ packages: yaml: 1.10.2 dev: true - /postcss-logical@7.0.0(postcss@8.4.35): - resolution: {integrity: sha512-zYf3vHkoW82f5UZTEXChTJvH49Yl9X37axTZsJGxrCG2kOUwtaAoz9E7tqYg0lsIoJLybaL8fk/2mOi81zVIUw==} + /postcss-logical@7.0.1(postcss@8.4.35): + resolution: {integrity: sha512-8GwUQZE0ri0K0HJHkDv87XOLC8DE0msc+HoWLeKdtjDZEwpZ5xuK3QdV6FhmHSQW40LPkg43QzvATRAI3LsRkg==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 @@ -9665,7 +9684,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.22.3 + browserslist: 4.23.0 caniuse-api: 3.0.0 cssnano-utils: 3.1.0(postcss@8.4.35) postcss: 8.4.35 @@ -9678,7 +9697,7 @@ packages: peerDependencies: postcss: ^8.4.31 dependencies: - browserslist: 4.22.3 + browserslist: 4.23.0 caniuse-api: 3.0.0 cssnano-utils: 4.0.1(postcss@8.4.35) postcss: 8.4.35 @@ -9735,7 +9754,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.22.3 + browserslist: 4.23.0 cssnano-utils: 3.1.0(postcss@8.4.35) postcss: 8.4.35 postcss-value-parser: 4.2.0 @@ -9747,7 +9766,7 @@ packages: peerDependencies: postcss: ^8.4.31 dependencies: - browserslist: 4.22.3 + browserslist: 4.23.0 cssnano-utils: 4.0.1(postcss@8.4.35) postcss: 8.4.35 postcss-value-parser: 4.2.0 @@ -9830,13 +9849,13 @@ packages: string-hash: 1.1.3 dev: true - /postcss-nesting@12.0.1(postcss@8.4.35): - resolution: {integrity: sha512-6LCqCWP9pqwXw/njMvNK0hGY44Fxc4B2EsGbn6xDcxbNRzP8GYoxT7yabVVMLrX3quqOJ9hg2jYMsnkedOf8pA==} + /postcss-nesting@12.0.3(postcss@8.4.35): + resolution: {integrity: sha512-yrtMRPFNkfZMv9ikBvZ/Eh3RxhpMBKQ3KzD7LCY8+jYVlgju/Mdcxi4JY8bW2Y7ISXw8GTLuF/o+kFtp+yaVfQ==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - '@csstools/selector-specificity': 3.0.1(postcss-selector-parser@6.0.15) + '@csstools/selector-specificity': 3.0.2(postcss-selector-parser@6.0.15) postcss: 8.4.35 postcss-selector-parser: 6.0.15 dev: true @@ -9965,7 +9984,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.22.3 + browserslist: 4.23.0 postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true @@ -9976,7 +9995,7 @@ packages: peerDependencies: postcss: ^8.4.31 dependencies: - browserslist: 4.22.3 + browserslist: 4.23.0 postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true @@ -10053,8 +10072,8 @@ packages: postcss-value-parser: 4.2.0 dev: true - /postcss-overflow-shorthand@5.0.0(postcss@8.4.35): - resolution: {integrity: sha512-2rlxDyeSics/hC2FuMdPnWiP9WUPZ5x7FTuArXLFVpaSQ2woPSfZS4RD59HuEokbZhs/wPUQJ1E3MT6zVv94MQ==} + /postcss-overflow-shorthand@5.0.1(postcss@8.4.35): + resolution: {integrity: sha512-XzjBYKLd1t6vHsaokMV9URBt2EwC9a7nDhpQpjoPk2HRTSQfokPfyAS/Q7AOrzUu6q+vp/GnrDBGuj/FCaRqrQ==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 @@ -10071,8 +10090,8 @@ packages: postcss: 8.4.35 dev: true - /postcss-place@9.0.0(postcss@8.4.35): - resolution: {integrity: sha512-qLEPD9VPH5opDVemwmRaujODF9nExn24VOC3ghgVLEvfYN7VZLwJHes0q/C9YR5hI2UC3VgBE8Wkdp1TxCXhtg==} + /postcss-place@9.0.1(postcss@8.4.35): + resolution: {integrity: sha512-JfL+paQOgRQRMoYFc2f73pGuG/Aw3tt4vYMR6UA3cWVMxivviPTnMFnFTczUJOA4K2Zga6xgQVE+PcLs64WC8Q==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 @@ -10081,77 +10100,77 @@ packages: postcss-value-parser: 4.2.0 dev: true - /postcss-preset-env@9.3.0(postcss@8.4.35): - resolution: {integrity: sha512-ycw6doPrqV6QxDCtgiyGDef61bEfiSc59HGM4gOw/wxQxmKnhuEery61oOC/5ViENz/ycpRsuhTexs1kUBTvVw==} + /postcss-preset-env@9.4.0(postcss@8.4.35): + resolution: {integrity: sha512-5X2UA4Dn4xo7sJFCxlzW/dAGo71Oxh/K5DVls33hd2e3j06OKnW5FJQTw2hB0wTnGv0f6WcMaVBGFqcEfAgwlw==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - '@csstools/postcss-cascade-layers': 4.0.1(postcss@8.4.35) - '@csstools/postcss-color-function': 3.0.7(postcss@8.4.35) - '@csstools/postcss-color-mix-function': 2.0.7(postcss@8.4.35) - '@csstools/postcss-exponential-functions': 1.0.1(postcss@8.4.35) - '@csstools/postcss-font-format-keywords': 3.0.0(postcss@8.4.35) - '@csstools/postcss-gamut-mapping': 1.0.0(postcss@8.4.35) - '@csstools/postcss-gradients-interpolation-method': 4.0.7(postcss@8.4.35) - '@csstools/postcss-hwb-function': 3.0.6(postcss@8.4.35) - '@csstools/postcss-ic-unit': 3.0.2(postcss@8.4.35) - '@csstools/postcss-initial': 1.0.0(postcss@8.4.35) - '@csstools/postcss-is-pseudo-class': 4.0.3(postcss@8.4.35) - '@csstools/postcss-logical-float-and-clear': 2.0.0(postcss@8.4.35) - '@csstools/postcss-logical-overflow': 1.0.0(postcss@8.4.35) - '@csstools/postcss-logical-overscroll-behavior': 1.0.0(postcss@8.4.35) - '@csstools/postcss-logical-resize': 2.0.0(postcss@8.4.35) - '@csstools/postcss-logical-viewport-units': 2.0.3(postcss@8.4.35) - '@csstools/postcss-media-minmax': 1.1.0(postcss@8.4.35) - '@csstools/postcss-media-queries-aspect-ratio-number-values': 2.0.3(postcss@8.4.35) - '@csstools/postcss-nested-calc': 3.0.0(postcss@8.4.35) - '@csstools/postcss-normalize-display-values': 3.0.1(postcss@8.4.35) - '@csstools/postcss-oklab-function': 3.0.7(postcss@8.4.35) - '@csstools/postcss-progressive-custom-properties': 3.0.2(postcss@8.4.35) - '@csstools/postcss-relative-color-syntax': 2.0.7(postcss@8.4.35) - '@csstools/postcss-scope-pseudo-class': 3.0.0(postcss@8.4.35) - '@csstools/postcss-stepped-value-functions': 3.0.2(postcss@8.4.35) - '@csstools/postcss-text-decoration-shorthand': 3.0.3(postcss@8.4.35) - '@csstools/postcss-trigonometric-functions': 3.0.2(postcss@8.4.35) - '@csstools/postcss-unset-value': 3.0.0(postcss@8.4.35) + '@csstools/postcss-cascade-layers': 4.0.3(postcss@8.4.35) + '@csstools/postcss-color-function': 3.0.10(postcss@8.4.35) + '@csstools/postcss-color-mix-function': 2.0.10(postcss@8.4.35) + '@csstools/postcss-exponential-functions': 1.0.4(postcss@8.4.35) + '@csstools/postcss-font-format-keywords': 3.0.2(postcss@8.4.35) + '@csstools/postcss-gamut-mapping': 1.0.3(postcss@8.4.35) + '@csstools/postcss-gradients-interpolation-method': 4.0.10(postcss@8.4.35) + '@csstools/postcss-hwb-function': 3.0.9(postcss@8.4.35) + '@csstools/postcss-ic-unit': 3.0.4(postcss@8.4.35) + '@csstools/postcss-initial': 1.0.1(postcss@8.4.35) + '@csstools/postcss-is-pseudo-class': 4.0.5(postcss@8.4.35) + '@csstools/postcss-light-dark-function': 1.0.0(postcss@8.4.35) + '@csstools/postcss-logical-float-and-clear': 2.0.1(postcss@8.4.35) + '@csstools/postcss-logical-overflow': 1.0.1(postcss@8.4.35) + '@csstools/postcss-logical-overscroll-behavior': 1.0.1(postcss@8.4.35) + '@csstools/postcss-logical-resize': 2.0.1(postcss@8.4.35) + '@csstools/postcss-logical-viewport-units': 2.0.6(postcss@8.4.35) + '@csstools/postcss-media-minmax': 1.1.3(postcss@8.4.35) + '@csstools/postcss-media-queries-aspect-ratio-number-values': 2.0.6(postcss@8.4.35) + '@csstools/postcss-nested-calc': 3.0.2(postcss@8.4.35) + '@csstools/postcss-normalize-display-values': 3.0.2(postcss@8.4.35) + '@csstools/postcss-oklab-function': 3.0.10(postcss@8.4.35) + '@csstools/postcss-progressive-custom-properties': 3.1.0(postcss@8.4.35) + '@csstools/postcss-relative-color-syntax': 2.0.10(postcss@8.4.35) + '@csstools/postcss-scope-pseudo-class': 3.0.1(postcss@8.4.35) + '@csstools/postcss-stepped-value-functions': 3.0.5(postcss@8.4.35) + '@csstools/postcss-text-decoration-shorthand': 3.0.4(postcss@8.4.35) + '@csstools/postcss-trigonometric-functions': 3.0.5(postcss@8.4.35) + '@csstools/postcss-unset-value': 3.0.1(postcss@8.4.35) autoprefixer: 10.4.17(postcss@8.4.35) - browserslist: 4.22.1 - css-blank-pseudo: 6.0.0(postcss@8.4.35) - css-has-pseudo: 6.0.0(postcss@8.4.35) - css-prefers-color-scheme: 9.0.0(postcss@8.4.35) - cssdb: 7.9.0 + browserslist: 4.23.0 + css-blank-pseudo: 6.0.1(postcss@8.4.35) + css-has-pseudo: 6.0.2(postcss@8.4.35) + css-prefers-color-scheme: 9.0.1(postcss@8.4.35) + cssdb: 7.11.0 postcss: 8.4.35 - postcss-attribute-case-insensitive: 6.0.2(postcss@8.4.35) + postcss-attribute-case-insensitive: 6.0.3(postcss@8.4.35) postcss-clamp: 4.1.0(postcss@8.4.35) - postcss-color-functional-notation: 6.0.2(postcss@8.4.35) - postcss-color-hex-alpha: 9.0.2(postcss@8.4.35) - postcss-color-rebeccapurple: 9.0.1(postcss@8.4.35) - postcss-custom-media: 10.0.2(postcss@8.4.35) - postcss-custom-properties: 13.3.2(postcss@8.4.35) - postcss-custom-selectors: 7.1.6(postcss@8.4.35) - postcss-dir-pseudo-class: 8.0.0(postcss@8.4.35) - postcss-double-position-gradients: 5.0.2(postcss@8.4.35) - postcss-focus-visible: 9.0.0(postcss@8.4.35) - postcss-focus-within: 8.0.0(postcss@8.4.35) + postcss-color-functional-notation: 6.0.5(postcss@8.4.35) + postcss-color-hex-alpha: 9.0.4(postcss@8.4.35) + postcss-color-rebeccapurple: 9.0.3(postcss@8.4.35) + postcss-custom-media: 10.0.3(postcss@8.4.35) + postcss-custom-properties: 13.3.5(postcss@8.4.35) + postcss-custom-selectors: 7.1.7(postcss@8.4.35) + postcss-dir-pseudo-class: 8.0.1(postcss@8.4.35) + postcss-double-position-gradients: 5.0.4(postcss@8.4.35) + postcss-focus-visible: 9.0.1(postcss@8.4.35) + postcss-focus-within: 8.0.1(postcss@8.4.35) postcss-font-variant: 5.0.0(postcss@8.4.35) - postcss-gap-properties: 5.0.0(postcss@8.4.35) - postcss-image-set-function: 6.0.1(postcss@8.4.35) - postcss-lab-function: 6.0.7(postcss@8.4.35) - postcss-logical: 7.0.0(postcss@8.4.35) - postcss-nesting: 12.0.1(postcss@8.4.35) + postcss-gap-properties: 5.0.1(postcss@8.4.35) + postcss-image-set-function: 6.0.3(postcss@8.4.35) + postcss-lab-function: 6.0.10(postcss@8.4.35) + postcss-logical: 7.0.1(postcss@8.4.35) + postcss-nesting: 12.0.3(postcss@8.4.35) postcss-opacity-percentage: 2.0.0(postcss@8.4.35) - postcss-overflow-shorthand: 5.0.0(postcss@8.4.35) + postcss-overflow-shorthand: 5.0.1(postcss@8.4.35) postcss-page-break: 3.0.4(postcss@8.4.35) - postcss-place: 9.0.0(postcss@8.4.35) - postcss-pseudo-class-any-link: 9.0.0(postcss@8.4.35) + postcss-place: 9.0.1(postcss@8.4.35) + postcss-pseudo-class-any-link: 9.0.1(postcss@8.4.35) postcss-replace-overflow-wrap: 4.0.0(postcss@8.4.35) - postcss-selector-not: 7.0.1(postcss@8.4.35) - postcss-value-parser: 4.2.0 + postcss-selector-not: 7.0.2(postcss@8.4.35) dev: true - /postcss-pseudo-class-any-link@9.0.0(postcss@8.4.35): - resolution: {integrity: sha512-QNCYIL98VKFKY6HGDEJpF6+K/sg9bxcUYnOmNHJxZS5wsFDFaVoPeG68WAuhsqwbIBSo/b9fjEnTwY2mTSD+uA==} + /postcss-pseudo-class-any-link@9.0.1(postcss@8.4.35): + resolution: {integrity: sha512-cKYGGZ9yzUZi+dZd7XT2M8iSDfo+T2Ctbpiizf89uBTBfIpZpjvTavzIJXpCReMVXSKROqzpxClNu6fz4DHM0Q==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 @@ -10166,7 +10185,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.22.3 + browserslist: 4.23.0 caniuse-api: 3.0.0 postcss: 8.4.35 dev: true @@ -10177,7 +10196,7 @@ packages: peerDependencies: postcss: ^8.4.31 dependencies: - browserslist: 4.22.3 + browserslist: 4.23.0 caniuse-api: 3.0.0 postcss: 8.4.35 dev: true @@ -10223,8 +10242,8 @@ packages: postcss: 8.4.35 dev: true - /postcss-selector-not@7.0.1(postcss@8.4.35): - resolution: {integrity: sha512-1zT5C27b/zeJhchN7fP0kBr16Cc61mu7Si9uWWLoA3Px/D9tIJPKchJCkUH3tPO5D0pCFmGeApAv8XpXBQJ8SQ==} + /postcss-selector-not@7.0.2(postcss@8.4.35): + resolution: {integrity: sha512-/SSxf/90Obye49VZIfc0ls4H0P6i6V1iHv0pzZH8SdgvZOPFkF37ef1r5cyWcMflJSFJ5bfuoluTnFnBBFiuSA==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 @@ -11137,6 +11156,14 @@ packages: lru-cache: 6.0.0 dev: true + /semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + /serialize-error@7.0.1: resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==} engines: {node: '>=10'} @@ -11676,7 +11703,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.22.3 + browserslist: 4.23.0 postcss: 8.4.35 postcss-selector-parser: 6.0.15 dev: true @@ -11687,7 +11714,7 @@ packages: peerDependencies: postcss: ^8.4.31 dependencies: - browserslist: 4.22.3 + browserslist: 4.23.0 postcss: 8.4.35 postcss-selector-parser: 6.0.15 dev: true @@ -11951,7 +11978,7 @@ packages: webpack: 5.89.0 dev: true - /terser-webpack-plugin@5.3.10(webpack@5.90.2): + /terser-webpack-plugin@5.3.10(webpack@5.90.3): resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -11972,7 +11999,7 @@ packages: schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.26.0 - webpack: 5.90.2 + webpack: 5.90.3 dev: true /terser@5.21.0: @@ -12393,17 +12420,6 @@ packages: engines: {node: '>=8'} dev: true - /update-browserslist-db@1.0.13(browserslist@4.22.1): - resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - dependencies: - browserslist: 4.22.1 - escalade: 3.1.1 - picocolors: 1.0.0 - dev: true - /update-browserslist-db@1.0.13(browserslist@4.22.2): resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true @@ -12697,7 +12713,7 @@ packages: '@webassemblyjs/wasm-parser': 1.11.6 acorn: 8.11.3 acorn-import-assertions: 1.9.0(acorn@8.11.3) - browserslist: 4.22.3 + browserslist: 4.23.0 chrome-trace-event: 1.0.3 enhanced-resolve: 5.15.0 es-module-lexer: 1.4.1 @@ -12720,8 +12736,8 @@ packages: - uglify-js dev: true - /webpack@5.90.2: - resolution: {integrity: sha512-ziXu8ABGr0InCMEYFnHrYweinHK2PWrMqnwdHk2oK3rRhv/1B+2FnfwYv5oD+RrknK/Pp/Hmyvu+eAsaMYhzCw==} + /webpack@5.90.3: + resolution: {integrity: sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -12751,7 +12767,7 @@ packages: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(webpack@5.90.2) + terser-webpack-plugin: 5.3.10(webpack@5.90.3) watchpack: 2.4.0 webpack-sources: 3.2.3 transitivePeerDependencies: diff --git a/src/components/common/test/index.tsx b/src/components/common/test/index.tsx index 31add5cd..03c13c4e 100644 --- a/src/components/common/test/index.tsx +++ b/src/components/common/test/index.tsx @@ -5,8 +5,11 @@ import { GlobalContext } from '../../GlobalContext'; export const providerProps: TimelineProps = { buttonTexts: { + changeDensity: 'Change density', + changeLayout: 'Change layout', dark: 'dark', first: 'first', + jumpTo: 'Jump to', last: 'last', light: 'light', next: 'next', @@ -40,22 +43,31 @@ export const providerProps: TimelineProps = { showProgressOnSlideshow: false, slideItemDuration: 2000, slideShowType: 'reveal', + textDensity: 'HIGH', textOverlay: false, theme: { cardBgColor: '#fff', cardDetailsBackGround: '#ffffff', cardDetailsColor: '#000', + cardMediaBgColor: '#ffffff', cardSubtitleColor: '#000', cardTitleColor: '#000', detailsColor: '#000', + iconBackgroundColor: '#ffffff', + nestedCardBgColor: '#ffffff', primary: '#0f52ba', secondary: '#ffdf00', + textColor: '#000', titleColor: '#0f52ba', titleColorActive: '#0f52ba', + toolbarBgColor: '#ffffff', + toolbarBtnBgColor: '#0f52ba', + toolbarTextColor: '#000', }, timelinePointDimension: 16, timelinePointShape: 'circle', titleDateFormat: 'MMM DD, YYYY', + toolbarPosition: 'top', useReadMore: true, }; diff --git a/src/components/effects/useMatchMedia.ts b/src/components/effects/useMatchMedia.ts index 9fb2b2d0..ee4e4e2f 100644 --- a/src/components/effects/useMatchMedia.ts +++ b/src/components/effects/useMatchMedia.ts @@ -34,12 +34,13 @@ export const useMatchMedia = ( useEffect(() => { const currentMedia = media.current; - const curMacthes = media.current.matches; if (!enabled || !currentMedia) { return; } + const curMacthes = currentMedia.matches; + // Check initial match and update state if necessary if (curMacthes !== matches) { setMatches(curMacthes); diff --git a/src/components/elements/list/list-item.tsx b/src/components/elements/list/list-item.tsx index 09fe5a84..81f8e39e 100644 --- a/src/components/elements/list/list-item.tsx +++ b/src/components/elements/list/list-item.tsx @@ -36,7 +36,7 @@ const ListItem: FunctionComponent = memo( onClick={() => handleOnClick(id)} active={active} tabIndex={0} - selectable={selectable} + $selectable={selectable} onKeyUp={(ev) => handleKeyPress(ev, id)} > {selectable ? ( @@ -46,7 +46,7 @@ const ListItem: FunctionComponent = memo( ) : null} - + {title} {description} diff --git a/src/components/elements/list/list.styles.ts b/src/components/elements/list/list.styles.ts index 90136d0e..08633e0b 100644 --- a/src/components/elements/list/list.styles.ts +++ b/src/components/elements/list/list.styles.ts @@ -35,14 +35,14 @@ export const ListStyle = styled.ul` // List item styles export const ListItemStyle = styled.li<{ + $selectable?: boolean; active?: boolean; - selectable?: boolean; theme: Theme; }>` ${commonStyles} border: ${(p) => p.active ? `1px solid ${p.theme.primary}` : '1px solid transparent'}; - flex-direction: ${(p) => (p.selectable ? 'row' : 'column')}; + flex-direction: ${(p) => (p.$selectable ? 'row' : 'column')}; background: ${(p) => p.theme.toolbarBtnBgColor}; &:hover { border: 1px solid ${(p) => p.theme.primary}; @@ -102,8 +102,8 @@ export const CheckboxStyle = styled.span<{ selected?: boolean; theme: Theme }>` `; // Style and description wrapper styles -export const StyleAndDescription = styled.div<{ selectable?: boolean }>` +export const StyleAndDescription = styled.div<{ $selectable?: boolean }>` flex-direction: column; display: flex; - width: ${(p) => (p.selectable ? 'calc(100% - 2rem)' : '100%')}; + width: ${(p) => (p.$selectable ? 'calc(100% - 2rem)' : '100%')}; `; diff --git a/src/components/elements/popover/__tests__/popover.test.tsx b/src/components/elements/popover/__tests__/popover.test.tsx index 4ad99ed7..d6fc9e87 100644 --- a/src/components/elements/popover/__tests__/popover.test.tsx +++ b/src/components/elements/popover/__tests__/popover.test.tsx @@ -1,13 +1,17 @@ -import { fireEvent, render, screen } from '@testing-library/react'; +import { fireEvent, screen } from '@testing-library/react'; import { vi } from 'vitest'; import userEvent from '@testing-library/user-event'; +import { getDefaultThemeOrDark } from '@utils/index'; +import { customRender, providerProps } from 'src/components/common/test'; import { PopOver } from '../index'; describe('PopOver', () => { const mockClosePopover = vi.fn(); const mockToggleOpen = vi.fn(); + const theme = getDefaultThemeOrDark(); + beforeEach(() => { mockClosePopover.mockReset(); mockToggleOpen.mockReset(); @@ -15,10 +19,15 @@ describe('PopOver', () => { it('should render the placeholder text', () => { const placeholder = 'Select an option'; - render( - + customRender( + test , + { + providerProps: { + ...providerProps, + }, + }, ); const selecterLabel = screen.getByText(placeholder); @@ -27,10 +36,15 @@ describe('PopOver', () => { it('should toggle open state when clicking on the selecter', async () => { const placeholder = 'Select an option'; - const { getByRole, getByText } = render( - + const { getByRole, getByText } = customRender( + test , + { + providerProps: { + ...providerProps, + }, + }, ); const selecter = getByRole('button'); @@ -43,10 +57,15 @@ describe('PopOver', () => { it('should close the popover when clicking outside', async () => { const placeholder = 'Select an option'; - const { getByRole, queryByText } = render( - + const { getByRole, queryByText } = customRender( + test , + { + providerProps: { + ...providerProps, + }, + }, ); const selecter = getByRole('button'); @@ -62,10 +81,15 @@ describe('PopOver', () => { it('should close the popover when pressing the Escape key', async () => { const user = userEvent.setup(); const placeholder = 'Select an option'; - const { getByRole, queryByText, getByText } = render( - + const { getByRole, queryByText, getByText } = customRender( + test , + { + providerProps: { + ...providerProps, + }, + }, ); const selecter = getByRole('button'); diff --git a/src/components/elements/popover/index.tsx b/src/components/elements/popover/index.tsx index 1311e113..07018e9f 100644 --- a/src/components/elements/popover/index.tsx +++ b/src/components/elements/popover/index.tsx @@ -1,4 +1,10 @@ -import React, { FunctionComponent, useEffect, useRef, useState } from 'react'; +import React, { + FunctionComponent, + useCallback, + useEffect, + useRef, + useState, +} from 'react'; import useCloseClickOutside from 'src/components/effects/useCloseClickOutside'; import { ChevronDown, CloseIcon } from 'src/components/icons'; import { PopOverModel } from './popover.model'; @@ -18,7 +24,7 @@ const PopOver: FunctionComponent = ({ position, placeholder, theme, - width = '300px', + width = 350, isDarkMode = false, icon, $isMobile = false, @@ -27,15 +33,15 @@ const PopOver: FunctionComponent = ({ const [isVisible, setIsVisible] = useState(false); const ref = useRef(null); - const toggleOpen = () => setOpen(!open); + const toggleOpen = useCallback(() => setOpen(!open), []); - const closePopover = () => setOpen(false); + const closePopover = useCallback(() => setOpen(false), []); - const handleKeyPress = (ev: React.KeyboardEvent) => { + const handleKeyPress = useCallback((ev: React.KeyboardEvent) => { if (ev.key === 'Enter') { toggleOpen(); } - }; + }, []); useCloseClickOutside(ref, closePopover); @@ -54,24 +60,28 @@ const PopOver: FunctionComponent = ({ {icon ? icon : } - {placeholder ? {placeholder} : null} + {placeholder && !$isMobile ? ( + {placeholder} + ) : null} {open ? (
diff --git a/src/components/elements/popover/popover.model.ts b/src/components/elements/popover/popover.model.ts index 23f81ec2..e226362b 100644 --- a/src/components/elements/popover/popover.model.ts +++ b/src/components/elements/popover/popover.model.ts @@ -9,5 +9,5 @@ export type PopOverModel = { placeholder?: string; position: 'top' | 'bottom'; theme?: Theme; - width?: string | number; + width?: number; }; diff --git a/src/components/elements/popover/popover.styles.ts b/src/components/elements/popover/popover.styles.ts index ab202f82..c5ad7995 100644 --- a/src/components/elements/popover/popover.styles.ts +++ b/src/components/elements/popover/popover.styles.ts @@ -4,12 +4,14 @@ import styled from 'styled-components'; export const PopoverWrapper = styled.div``; export const PopoverHolder = styled.div<{ - position?: 'top' | 'bottom'; - theme?: Theme; - visible?: boolean; + $isMobile?: boolean; + $position?: 'top' | 'bottom'; + $theme?: Theme; + $visible?: boolean; + $width: number; }>` align-items: flex-start; - background: ${({ theme }) => theme.toolbarBgColor}; + background: ${({ $theme }) => $theme.toolbarBgColor}; background:; border-radius: 6px; box-shadow: 0px 5px 16px rgba(0, 0, 0, 0.5); @@ -20,32 +22,33 @@ export const PopoverHolder = styled.div<{ overflow-y: auto; padding: 0.5rem; position: absolute; - ${(p) => (p.position === 'bottom' ? `bottom: 3.5rem` : `top: 3.5rem`)}; - width: 100%; + ${(p) => (p.$position === 'bottom' ? `bottom: 3.5rem` : `top: 3.5rem`)}; + width: ${({ $isMobile, $width }) => ($isMobile ? '90%' : `${$width}px`)}; z-index: 100; - opacity: ${({ visible }) => (visible ? 1 : 0)}; + opacity: ${({ $visible }) => ($visible ? 1 : 0)}; transition: opacity 0.1s ease-in-out; + ${(p) => (p.$isMobile ? 'left: 4px;' : '')}; `; export const Selecter = styled.div<{ $isDarkMode: boolean; $isMobile?: boolean; - open?: boolean; - theme: Theme; + $open?: boolean; + $theme: Theme; }>` align-items: center; - background: ${({ theme }) => theme.toolbarBtnBgColor}; - color: ${({ theme }) => theme.toolbarTextColor}; + background: ${({ $theme }) => $theme.toolbarBtnBgColor}; + color: ${({ $theme }) => $theme.toolbarTextColor}; border-radius: 25px; - box-shadow: ${({ open, $isDarkMode: isDarkMode }) => - !open + box-shadow: ${({ $open, $isDarkMode: isDarkMode }) => + !$open ? `0px 1px 1px rgba(0, 0, 0, ${isDarkMode ? '0.85' : '0.2'})` : 'inset 0 0 1px 1px rgba(0, 0, 0, 0.2)'}; cursor: pointer; display: flex; font-weight: normal; justify-content: space-between; - padding: ${(p) => (p.$isMobile ? '0.4rem' : `0.4rem 0.4rem 0.4rem 0.4rem`)}; + padding: ${(p) => (p.$isMobile ? '0.4rem' : `0.4rem 0.5rem`)}; user-select: none; `; @@ -56,7 +59,6 @@ export const SelecterIcon = styled.span<{ open: boolean; theme: Theme }>` height: 1.25rem; justify-content: center; width: 1.25rem; - // transform: ${({ open }) => (open ? 'rotate(180deg)' : 'rotate(0deg)')}; transition: transform 0.2s ease-in-out; margin-right: 0.1rem; 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 7d0d0dc7..1c36b3cf 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,7 +3,7 @@ exports[`Content Header > should match the snapshot 1`] = `

{ + beforeAll(() => { + Object.defineProperty(window, 'matchMedia', { + value: vi.fn().mockImplementation((query) => ({ + addEventListener: vi.fn(), + dispatchEvent: vi.fn(), + matches: false, + media: query, + onchange: null, + removeEventListener: vi.fn(), + })), + writable: true, + }); + }); + afterEach(() => { vi.resetAllMocks(); }); @@ -26,7 +41,11 @@ describe('TimelineCardContent', () => { // should render the detailedText when a string is passed it('should render the detailedText when a string is passed', () => { - render(); + render( + + + , + ); expect(screen.getByText('detailedText')).toBeInTheDocument(); expect(screen.getByText('detailedText')).toBeVisible(); @@ -34,7 +53,11 @@ describe('TimelineCardContent', () => { // should render the detailedText when a array of strings is passed it('should render the detailedText when a array of strings is passed', () => { - render(); + render( + + + , + ); expect(screen.getByText('detailedText')).toBeInTheDocument(); expect(screen.getByText('text 2')).toBeInTheDocument(); 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 ffa26079..4b11ee1c 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,7 +3,7 @@ exports[`Timeline Card media > should match the snapshot ( IMAGE ) 1`] = `
should match the snapshot ( IMAGE ) 1`] = ` exports[`Timeline Card media > should match the snapshot ( VIDEO ) 1`] = `