Compare commits

..

6 Commits

Author SHA1 Message Date
Vencislav Atanasov d1788e9e97 Fix schedule rendering 2024-09-21 23:21:09 +03:00
Vencislav Atanasov b53de67c6f Fix rendering of schedule tracks, use CSS classes from the old template 2024-09-21 23:14:13 +03:00
Vencislav Atanasov 27f248ef7d Add most of the schedule CSS from the old template 2024-09-21 23:13:05 +03:00
Vencislav Atanasov b5e2e292d8 Add language flags 2024-09-21 23:12:40 +03:00
Vencislav Atanasov 157d3df733 Add SASS embedded 2024-09-21 22:46:52 +03:00
Vencislav Atanasov dc24e4fbba Delete unused CSS file 2024-09-21 22:43:02 +03:00
8 changed files with 364 additions and 76 deletions

View File

@ -25,6 +25,7 @@
"eslint-plugin-react-hooks": "^5.1.0-rc.0",
"eslint-plugin-react-refresh": "^0.4.9",
"globals": "^15.9.0",
"sass-embedded": "^1.79.3",
"vite": "^5.4.1"
}
}

View File

View File

@ -1,4 +1,3 @@
import './App.css';
import ScheduleChooser from './ScheduleChooser.jsx';
function App() {

View File

@ -5,6 +5,8 @@ import { Fragment } from 'react';
import useScheduleTable from './hooks/useScheduleTable.js';
import Event from './Event.jsx';
import defaultSpeaker from './assets/default-speaker.png';
import './Schedule.scss';
import { langs } from './constants.js';
export default function Schedule({
conferenceId,
@ -32,83 +34,97 @@ export default function Schedule({
return (<>
{isLoading && <>Loading... <progress value={loadingProgress} /></>}
{halls && <table border="1">
<thead>
<tr>
{header.map(hall => <th key={hall.id}>{hall.name}</th>)}
</tr>
</thead>
<tbody>
{rows.map(row => <tr key={row.id}>
{row.cells.map(cell => <td key={cell.id} {...cell.attributes}>
<Event {...cell.event} />
</td>)}
</tr>)}
</tbody>
<tfoot>
<tr>
{header.map(hall => <th key={hall.id}>{hall.name}</th>)}
</tr>
</tfoot>
</table>}
{tracks && Object.entries(tracks).filter(([, track]) =>
!isTrackHidden(track)
).map(([trackId, track]) => <div key={trackId} style={{
width: '100%',
border: '1px solid black',
textAlign: 'center',
margin: '4px 0',
padding: '4px 0',
}}>{track.name[lang]}
</div>)}
{events && tracks && Object.entries(events).map(([eventId, event]) => <section key={eventId} id={'lecture-'.concat(eventId)}>
<p>
<strong>{event.title}</strong>
{event.participant_user_ids && !isTrackHidden(tracks[event.track_id]) && speakers && <>
({event.participant_user_ids.map(speakerId => speakers[speakerId] && <Fragment key={speakerId}>
<a key={speakerId} href={'#'.concat(getSpeakerName(speakers[speakerId]))}>
{getSpeakerName(speakers[speakerId])}
</a>
{speakers[speakerId].organisation && <>
/&#8288;{speakers[speakerId].organisation}&#8288;/
</>}
</Fragment>).filter(item => !!item)})
</>}
</p>
{event.abstract && <p>
{event.abstract}
</p>}
<p style={{
textAlign: 'right',
}}>
<strong>
<a href={event.feedback_url}>Submit feedback</a>
</strong>
</p>
<hr />
</section>)}
{speakers && <>
<div>
{Object.entries(speakers).map(([speakerId, speaker]) => <div key={speakerId}>
<a href={'#'.concat(getSpeakerName(speaker))}>
<img width="100" height="100" src={defaultSpeaker} alt={getSpeakerName(speaker)} />
</a>
</div>)}
</div>
{Object.entries(speakers).map(([speakerId, speaker]) => <div key={speakerId} id={getSpeakerName(speaker)}>
<img width="100" height="100" src={defaultSpeaker} alt={getSpeakerName(speaker)}/>
<h3>{getSpeakerName(speaker)}</h3>
<div className="schedule">
{header && <>
<table style={{
textAlign: 'center',
}}>
<thead>
<tr>
{header.map(hall => <th key={hall.id}>{hall.name}</th>)}
</tr>
</thead>
<tbody>
{rows.map(row => <tr key={row.id}>
{row.cells.map(cell => <td key={cell.id} {...cell.attributes}>
<Event {...cell.event} />
</td>)}
</tr>)}
</tbody>
<tfoot>
<tr>
{header.map(hall => <th key={hall.id}>{hall.name}</th>)}
</tr>
</tfoot>
</table>
<div className="separator"/>
</>}
{tracks && <>
<table style={{
textAlign: 'center',
}}>
<tbody>
{Object.entries(tracks).filter(([, track]) =>
!isTrackHidden(track)
).map(([trackId, track]) => <tr key={trackId}>
<td className={track.css_class}>{track.name[lang]}</td>
</tr>)}
{Object.entries(langs).map(([code, name]) => <tr key={code}>
<td className={'schedule-'.concat(code)}>{name}</td>
</tr>)}
</tbody>
</table>
<div className="separator" />
</>}
{events && tracks && Object.entries(events).map(([eventId, event]) => <section key={eventId} id={'lecture-'.concat(eventId)}>
<p>
<strong>{event.title}</strong>
{event.participant_user_ids && !isTrackHidden(tracks[event.track_id]) && speakers && <>
({event.participant_user_ids.map(speakerId => speakers[speakerId] && <Fragment key={speakerId}>
<a key={speakerId} href={'#'.concat(getSpeakerName(speakers[speakerId]))}>
{getSpeakerName(speakers[speakerId])}
</a>
{speakers[speakerId].organisation && <>
/&#8288;{speakers[speakerId].organisation}&#8288;/
</>}
</Fragment>).filter(item => !!item)})
</>}
</p>
{event.abstract && <p>
{event.abstract}
</p>}
<p style={{
textAlign: 'right',
}}>
<strong>
<a href={event.feedback_url}>Submit feedback</a>
</strong>
</p>
<div className="separator" />
</section>)}
{speakers && <>
<div>
{speaker.twitter && <a href={'https://twitter.com/'.concat(speaker.twitter)}>
twitter
</a>}
{speaker.github && <a href={'https://github.com/'.concat(speaker.github)}>
github
</a>}
{Object.entries(speakers).map(([speakerId, speaker]) => <div key={speakerId}>
<a href={'#'.concat(getSpeakerName(speaker))}>
<img width="100" height="100" src={defaultSpeaker} alt={getSpeakerName(speaker)} />
</a>
</div>)}
</div>
<p>{speaker.biography}</p>
</div>)}
</>}
{Object.entries(speakers).map(([speakerId, speaker]) => <div key={speakerId} id={getSpeakerName(speaker)}>
<img width="100" height="100" src={defaultSpeaker} alt={getSpeakerName(speaker)}/>
<h3>{getSpeakerName(speaker)}</h3>
<div>
{speaker.twitter && <a href={'https://twitter.com/'.concat(speaker.twitter)}>
twitter
</a>}
{speaker.github && <a href={'https://github.com/'.concat(speaker.github)}>
github
</a>}
</div>
<p>{speaker.biography}</p>
</div>)}
</>}
</div>
</>);
}

94
src/Schedule.scss Normal file
View File

@ -0,0 +1,94 @@
.schedule {
table {
text-align: center;
width: 100%;
font-size: 0.8em;
margin: 0 0 3em 0;
clear: both;
th, td {
border-bottom: 1px solid #000;
border-right: 1px dotted #999;
padding: 0.6em 0.4em;
text-align: center;
vertical-align: middle;
box-shadow: 0 1px 2px #999;
a {
border-bottom: dotted 1px #999;
color: #000;
font-weight: bold;
&:hover {
border-bottom: none;
}
}
}
}
.schedule-open-biz {
background: #75d3b3;
}
.schedule-open-art {
background: #F0A388;
}
.schedule-technical {
background: #e9d765;
}
.schedule-civic {
background: #DAEBBB;
}
.schedule-social {
background: #a6b4de;
}
.schedule-advanced-technical {
background: #DF9959;
}
.schedule-misc {
background: #fff;
}
.schedule-workshop {
background: #E2E0E9;
}
.schedule-education {
background: #ffaa36;
}
.schedule-en::after, .schedule-bg::after {
content: " ";
width: 16px;
height: 11px;
display: block;
margin: 0.3em auto 0.3em auto;
}
.schedule-en::after {
background: url('./assets/en_US.png');
}
.schedule-bg::after {
background: url('./assets/bg_BG.png');
}
.schedule-avatar {
float: left;
padding: 0.3em;
background: #FFF;
box-shadow: 0 0 1px 1px #999;
margin: 0 1em 2em 0;
}
.separator {
margin: 2.4em 0;
height: 1px;
background: #DBDBDB;
}
}

BIN
src/assets/bg_BG.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 462 B

BIN
src/assets/en_US.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 599 B

178
yarn.lock
View File

@ -181,6 +181,11 @@
"@babel/helper-validator-identifier" "^7.24.7"
to-fast-properties "^2.0.0"
"@bufbuild/protobuf@^2.0.0":
version "2.1.0"
resolved "https://registry.yarnpkg.com/@bufbuild/protobuf/-/protobuf-2.1.0.tgz#6925f30c25789b4f74d7c505e731c96f79fb48a7"
integrity sha512-+2Mx67Y3skJ4NCD/qNSdBJNWtu6x6Qr53jeNg+QcwiL6mt0wK+3jwHH2x1p7xaYH6Ve2JKOVn0OxU35WsmqI9A==
"@esbuild/aix-ppc64@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz#c7184a326533fcdf1b8ee0733e21c713b975575f"
@ -712,6 +717,11 @@ browserslist@^4.23.1:
node-releases "^2.0.18"
update-browserslist-db "^1.1.0"
buffer-builder@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/buffer-builder/-/buffer-builder-0.2.0.tgz#3322cd307d8296dab1f604618593b261a3fade8f"
integrity sha512-7VPMEPuYznPSoR21NE1zvd2Xna6c/CloiZCfcMXR1Jny6PjX0N4Nsa38zcBFo/FMK+BlA+FLKbJCQ0i2yxp+Xg==
call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7:
version "1.0.7"
resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9"
@ -779,6 +789,11 @@ color-name@~1.1.4:
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
colorjs.io@^0.5.0:
version "0.5.2"
resolved "https://registry.yarnpkg.com/colorjs.io/-/colorjs.io-0.5.2.tgz#63b20139b007591ebc3359932bef84628eb3fcef"
integrity sha512-twmVoizEW7ylZSN32OgKdXRmo1qg+wT5/6C3xu5b9QsWzSFAhHLn2xd8ro0diCsKfCj1RdaTP/nrcW+vAoQPIw==
concat-map@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
@ -1352,6 +1367,11 @@ ignore@^5.2.0:
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5"
integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==
immutable@^4.0.0:
version "4.3.7"
resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.7.tgz#c70145fc90d89fb02021e65c84eb0226e4e5a381"
integrity sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==
import-fresh@^3.2.1:
version "3.3.0"
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
@ -1918,6 +1938,13 @@ run-parallel@^1.1.9:
dependencies:
queue-microtask "^1.2.2"
rxjs@^7.4.0:
version "7.8.1"
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543"
integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==
dependencies:
tslib "^2.1.0"
safe-array-concat@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.2.tgz#81d77ee0c4e8b863635227c721278dd524c20edb"
@ -1937,6 +1964,140 @@ safe-regex-test@^1.0.3:
es-errors "^1.3.0"
is-regex "^1.1.4"
sass-embedded-android-arm64@1.79.3:
version "1.79.3"
resolved "https://registry.yarnpkg.com/sass-embedded-android-arm64/-/sass-embedded-android-arm64-1.79.3.tgz#402228ed3438ab9d7486150f1e1aaed1020ef88c"
integrity sha512-Wqm/WKHIDQl7w7eIQRO/GQ7EXfnwNpipCyJL7Xtb15vSAV64J4/0D/esy6GOPlVG+qcu8/XN8NV7Bf5wZ2ExUw==
sass-embedded-android-arm@1.79.3:
version "1.79.3"
resolved "https://registry.yarnpkg.com/sass-embedded-android-arm/-/sass-embedded-android-arm-1.79.3.tgz#e0a1897bc7db24902e9395e44f03c93c1abf33bc"
integrity sha512-rrdaVDkKBLUqzdqlBFamUbeuLG+8r/QLXHIgz4qPhIDqceJH6ds0Vzrae9Ef6DhYfMatOg2xiScdatwQ8Yl/hA==
sass-embedded-android-ia32@1.79.3:
version "1.79.3"
resolved "https://registry.yarnpkg.com/sass-embedded-android-ia32/-/sass-embedded-android-ia32-1.79.3.tgz#3d7166db5fefd1e6eca33e677a79310565b4ac54"
integrity sha512-6rDmH0O7hjBP04/xBAFzSYYMU/7MrQYCak4541BZIbIfa2uw0x/8+mB7lZjdgFsBrFjcpdVCPhZPUE6Y50c00A==
sass-embedded-android-riscv64@1.79.3:
version "1.79.3"
resolved "https://registry.yarnpkg.com/sass-embedded-android-riscv64/-/sass-embedded-android-riscv64-1.79.3.tgz#dc5537d7c1b5bca1561709d2596c0be4204584e2"
integrity sha512-B/PgB0AfTCvOlF1g89raJTwTXIUQUM3OXDWqEKIlJEZM1Yao91i8ZkyrFkDMzT4G5sETy4o8pgK+qE9+7bFlug==
sass-embedded-android-x64@1.79.3:
version "1.79.3"
resolved "https://registry.yarnpkg.com/sass-embedded-android-x64/-/sass-embedded-android-x64-1.79.3.tgz#3f7d701c54bdb3b233267011ddc85a770a9a1acf"
integrity sha512-a5cpo9Yw4xnX32Uo3WfMZLaTVnI/h2n7U3K3eTygyj707yhGkUB0i+qxldzCw8MmKivIu9irG6O4kmnRjW6f7g==
sass-embedded-darwin-arm64@1.79.3:
version "1.79.3"
resolved "https://registry.yarnpkg.com/sass-embedded-darwin-arm64/-/sass-embedded-darwin-arm64-1.79.3.tgz#b07d63b8bada9150c487f610442adbf739e5ba7a"
integrity sha512-imafD0nlVz5FJhqBqxUbG5rK4E3cu1GxhMZ5VhKm0k4t5jFQo+3OjN7sHT4Ee2Mk1g8sjr5dtq5enDU4fs6lXA==
sass-embedded-darwin-x64@1.79.3:
version "1.79.3"
resolved "https://registry.yarnpkg.com/sass-embedded-darwin-x64/-/sass-embedded-darwin-x64-1.79.3.tgz#5512087dea69d21e882f9eccb0ddd0a697de4d23"
integrity sha512-pjciT1FcMUMA4rWdpyZYSwMOvxk5JP7R6vy7TzvqkUEqXxP9FTflYnAiwgYUDVTpngHHqRxTjdyW+e+h2L9dHw==
sass-embedded-linux-arm64@1.79.3:
version "1.79.3"
resolved "https://registry.yarnpkg.com/sass-embedded-linux-arm64/-/sass-embedded-linux-arm64-1.79.3.tgz#a0dae05580f197976c468b2e70c36443265e1905"
integrity sha512-ODo8ghwk6KHxchgwxq4CwgfYwWdreEbsQoukeEgRKxHcuLB9XF6tol9pGlfrc8sYox48Vp5WDCZuzgoo6rJ6tg==
sass-embedded-linux-arm@1.79.3:
version "1.79.3"
resolved "https://registry.yarnpkg.com/sass-embedded-linux-arm/-/sass-embedded-linux-arm-1.79.3.tgz#64c48aff6b12aacfc34871507c3f6556f48a515a"
integrity sha512-n0bDtzABPE5YaL9wSLxNPiQMl1zArsGblHJyED6fEHz41m+OkCTopfO8IVjcf+MBrK/j11gonxiIGWO+fNOxvg==
sass-embedded-linux-ia32@1.79.3:
version "1.79.3"
resolved "https://registry.yarnpkg.com/sass-embedded-linux-ia32/-/sass-embedded-linux-ia32-1.79.3.tgz#ea588493212aea4cf658151266a3f8b46b069539"
integrity sha512-oC3rUyIE6mEm2etsc4CuNu6IVmB6CoSM4KsubxzCD3S37QFXq8wYbI0t9iiDdTkKb5Iu+vUyhn+tYJRVHg0tvw==
sass-embedded-linux-musl-arm64@1.79.3:
version "1.79.3"
resolved "https://registry.yarnpkg.com/sass-embedded-linux-musl-arm64/-/sass-embedded-linux-musl-arm64-1.79.3.tgz#ca2a45b0fb26bd524f339cce4598fec7a05bd791"
integrity sha512-Q9/5lsrK/JnQci3DwxZ9PGIIrRxuo/bySv+gbyVp8Kb7gdkZcEsY7HkxaBJfwVEwpZSGAyCviyZDHDMILjliOw==
sass-embedded-linux-musl-arm@1.79.3:
version "1.79.3"
resolved "https://registry.yarnpkg.com/sass-embedded-linux-musl-arm/-/sass-embedded-linux-musl-arm-1.79.3.tgz#4c73298e19e1974665d102b48ca7583923e6c7af"
integrity sha512-TOUYMtDs9xoMsJSEEr7NjtcVCqVpg1eSOQHXXruJ1kiYfxwmHrCYTjTLoefbZ29mWqIq8NUaXJG4rZNDK6NzRA==
sass-embedded-linux-musl-ia32@1.79.3:
version "1.79.3"
resolved "https://registry.yarnpkg.com/sass-embedded-linux-musl-ia32/-/sass-embedded-linux-musl-ia32-1.79.3.tgz#b40e1d7d56d86d2bfcdc39428cdb3b76d76d85a8"
integrity sha512-T2uERh3gs9eWUzdkDadPuYbelQJQLZyX8myutUd4fxyrQ7ToQRBwcMoynEjl48DBHnM0oRiJUHrV9uFuJ+fmRA==
sass-embedded-linux-musl-riscv64@1.79.3:
version "1.79.3"
resolved "https://registry.yarnpkg.com/sass-embedded-linux-musl-riscv64/-/sass-embedded-linux-musl-riscv64-1.79.3.tgz#cae163cd25840c10701d640a61ffba4b46793c68"
integrity sha512-XTuYtTBPFeEjydS2GsIUkMztzXIiz13noknE7m1yAbVxOchu9jD9FCLAdK9pVPPki+9BiLSxsutYwOcQn8atqQ==
sass-embedded-linux-musl-x64@1.79.3:
version "1.79.3"
resolved "https://registry.yarnpkg.com/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.79.3.tgz#695af9f598df56a14bbe431fc7542f601062bbc9"
integrity sha512-gDHfaPlxT/XQTMbfb2y+U6zDMuI8pfapVXTYlUrgYhKH2KoICclIvahhjFii5i5+1dHpfGzjgYKBqI3nvZsYFg==
sass-embedded-linux-riscv64@1.79.3:
version "1.79.3"
resolved "https://registry.yarnpkg.com/sass-embedded-linux-riscv64/-/sass-embedded-linux-riscv64-1.79.3.tgz#761211f8f8d3ddaeac6d2c30bfcc05e8ede80cbb"
integrity sha512-NONTa//1ZfxA87+Zjp3rabL+Z9gM67FJBdktRKXXMBAce5i8eCj/eqJGUOGPjYxtvxtQw77cex0qMr9SZnX6ww==
sass-embedded-linux-x64@1.79.3:
version "1.79.3"
resolved "https://registry.yarnpkg.com/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.79.3.tgz#718edbc882ffc748e097e662b416fc466a8d83ab"
integrity sha512-drlUqMMw222+f/T5sNrIAv+z0vQwLkO4zAlDmf4biLdWIloPP/3plTodAkMyfagNcvA8jG2jN414pJXBI3zK6w==
sass-embedded-win32-arm64@1.79.3:
version "1.79.3"
resolved "https://registry.yarnpkg.com/sass-embedded-win32-arm64/-/sass-embedded-win32-arm64-1.79.3.tgz#e2c0690392c29aa25a07502d06ea010978666803"
integrity sha512-gYz0IUb0fLkHUbhq+HR52wvQfG75Zu1s48/v48TqC+b04H/01k2eiawp/Ec1f+lhpIL/pr5+n5jWR6CjkxPdnQ==
sass-embedded-win32-ia32@1.79.3:
version "1.79.3"
resolved "https://registry.yarnpkg.com/sass-embedded-win32-ia32/-/sass-embedded-win32-ia32-1.79.3.tgz#c979ee6dc5308962c342230e0b6be6f76c0fb375"
integrity sha512-fbDTyzbqRc+xCWZ+YHSDt2WvGk5PW2K0SjyHuwes/Fls1+wdO4iHIukE/pD+HSWytYrtCqhe7EFq5Ug5HxGTLg==
sass-embedded-win32-x64@1.79.3:
version "1.79.3"
resolved "https://registry.yarnpkg.com/sass-embedded-win32-x64/-/sass-embedded-win32-x64-1.79.3.tgz#467f89920f46bc04041dc8adb2f1d3ce5b547b15"
integrity sha512-vvfr6wyCaHvdQbGS8UkYab6DXc1FKJRYFT5aFE3QTVqbzCqmJ5tf80E4+gvB99nljLtMjwKR1d332iWI9KDLhw==
sass-embedded@^1.79.3:
version "1.79.3"
resolved "https://registry.yarnpkg.com/sass-embedded/-/sass-embedded-1.79.3.tgz#c4054ce2233d44639104f09e4c45e0da6a305165"
integrity sha512-zUve2qCn6uSOMZnZazLzrDWq//OQWFle5G45vJjv3B/ADIA3TXVgqHqN3u7D2vGajOGREz0HN5nhliSoKmQqZA==
dependencies:
"@bufbuild/protobuf" "^2.0.0"
buffer-builder "^0.2.0"
colorjs.io "^0.5.0"
immutable "^4.0.0"
rxjs "^7.4.0"
supports-color "^8.1.1"
varint "^6.0.0"
optionalDependencies:
sass-embedded-android-arm "1.79.3"
sass-embedded-android-arm64 "1.79.3"
sass-embedded-android-ia32 "1.79.3"
sass-embedded-android-riscv64 "1.79.3"
sass-embedded-android-x64 "1.79.3"
sass-embedded-darwin-arm64 "1.79.3"
sass-embedded-darwin-x64 "1.79.3"
sass-embedded-linux-arm "1.79.3"
sass-embedded-linux-arm64 "1.79.3"
sass-embedded-linux-ia32 "1.79.3"
sass-embedded-linux-musl-arm "1.79.3"
sass-embedded-linux-musl-arm64 "1.79.3"
sass-embedded-linux-musl-ia32 "1.79.3"
sass-embedded-linux-musl-riscv64 "1.79.3"
sass-embedded-linux-musl-x64 "1.79.3"
sass-embedded-linux-riscv64 "1.79.3"
sass-embedded-linux-x64 "1.79.3"
sass-embedded-win32-arm64 "1.79.3"
sass-embedded-win32-ia32 "1.79.3"
sass-embedded-win32-x64 "1.79.3"
scheduler@^0.23.2:
version "0.23.2"
resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.2.tgz#414ba64a3b282892e944cf2108ecc078d115cdc3"
@ -2078,6 +2239,13 @@ supports-color@^7.1.0:
dependencies:
has-flag "^4.0.0"
supports-color@^8.1.1:
version "8.1.1"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c"
integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
dependencies:
has-flag "^4.0.0"
supports-preserve-symlinks-flag@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
@ -2101,6 +2269,11 @@ to-fast-properties@^2.0.0:
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==
tslib@^2.1.0:
version "2.7.0"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.7.0.tgz#d9b40c5c40ab59e8738f297df3087bf1a2690c01"
integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==
type-check@^0.4.0, type-check@~0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
@ -2182,6 +2355,11 @@ use-sync-external-store@^1.2.0:
resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.2.tgz#c3b6390f3a30eba13200d2302dcdf1e7b57b2ef9"
integrity sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==
varint@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/varint/-/varint-6.0.0.tgz#9881eb0ce8feaea6512439d19ddf84bf551661d0"
integrity sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==
vite@^5.4.1:
version "5.4.6"
resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.6.tgz#85a93a1228a7fb5a723ca1743e337a2588ed008f"