add MasodlagosErtekek.tsx

This commit is contained in:
2023-08-14 15:01:18 +02:00
parent 4df3f5c834
commit 95c363ec90
11 changed files with 369 additions and 27 deletions
+3 -2
View File
@@ -4,6 +4,7 @@ for file in src/**/*.less
do
FROM=$file
TO=${file/.*/.css}
echo "$FROM --> $TO"
node_modules/less/bin/lessc "$FROM" "$TO"
SOURCE_MAP=${file/.*/.css.map}
echo "$FROM --> $TO & $SOURCE_MAP"
node_modules/less/bin/lessc "$FROM" "$TO" --source-map="$SOURCE_MAP"
done
+1
View File
@@ -12,6 +12,7 @@
"@types/react-dom": "^18.2.7",
"bootstrap": "^5.3.0",
"react": "^18.2.0",
"react-bootstrap": "^2.8.0",
"react-dom": "^18.2.0",
"react-hook-form": "^7.45.2",
"react-router-dom": "^6.14.2",
+3
View File
@@ -0,0 +1,3 @@
export function SignedNumberToText(val: number) : string {
return val > 0 ? '+'+val : val.toString()
}
+11 -5
View File
@@ -2,7 +2,13 @@ import React from "react";
import KepzettsegSelector from "./KepzettsegSelector";
import {Osztaly} from "../domain-models/osztaly";
import {UseFormRegisterReturn} from "react-hook-form";
import {Kepzettseg, Kepzettsegek, KepzettsegId, KepzettsegLista} from "../domain-models/kepzettsegek";
import {
AvailableKezpettsegList,
Kepzettseg,
Kepzettsegek,
KepzettsegId,
KepzettsegLista
} from "../domain-models/kepzettsegek";
import {Modifier} from "../domain-models/tulajdonsag";
import {Faj} from "../domain-models/faj";
@@ -42,7 +48,7 @@ function KarakterKepzettsegek (props: {
}) {
const { faj, osztaly, t_int, register, watch } = props
const availableKepzettsegList = KepzettsegLista.filter(k => k.Osztalyok == null || k.Osztalyok.includes(osztaly))
const availableKepzettsegList = AvailableKezpettsegList(osztaly)
let numberOfKepzettseg = 3 + Modifier(t_int) + (faj === Faj.Ember ? 1 : 0)
console.log('Raw Number of Kepzetsegek = ', numberOfKepzettseg)
@@ -74,7 +80,7 @@ function KarakterKepzettsegek (props: {
}
const tolvajKepzettsegek = KepzettsegLista.filter(k => k.Osztalyok != null && k.Osztalyok.includes(Osztaly.Tolvaj))
const getTolvajKepzettsegN = (n: number) => Kepzettsegek[watch('tolvaj_kep_'+n, tolvajKepzettsegek[n].Id) as KepzettsegId]
const getTolvajKepzettsegN = (n: number) => Kepzettsegek[watch('tolvaj_kepzettseg.'+n, tolvajKepzettsegek[n].Id) as KepzettsegId]
const getTolvajKepzettsegListaN = (n: number) => {
let response = tolvajKepzettsegek;
@@ -98,7 +104,7 @@ function KarakterKepzettsegek (props: {
numberOfKepzettseg={numberOfKepzettseg}
availableKepzettsegList={availableKepzettsegList}
getKepzettsegListaN={getKepzettsegListaN}
register={(n: number) => register('kep_' + n)}
register={(n: number) => register('kepzettseg.' + n)}
getKepzettsegN={getKepzettsegN} />
{osztaly === Osztaly.Tolvaj &&
<InternalKepzettsegekSelector
@@ -106,7 +112,7 @@ function KarakterKepzettsegek (props: {
numberOfKepzettseg={4}
availableKepzettsegList={tolvajKepzettsegek}
getKepzettsegListaN={getTolvajKepzettsegListaN}
register={(n: number) => register('tolvaj_kep_' + n)}
register={(n: number) => register('tolvaj_kepzettseg.' + n)}
getKepzettsegN={getTolvajKepzettsegN} />}
</>
}
+161
View File
@@ -0,0 +1,161 @@
import React from "react";
import {Osztaly} from "../domain-models/osztaly";
import {KarakterTulajdonsagok, Modifier} from "../domain-models/tulajdonsag";
import {OverlayTrigger, Tooltip} from "react-bootstrap";
import {SignedNumberToText} from "./Helpers";
function HP(osztaly: Osztaly, egeszseg: number) {
let base = 4;
switch (osztaly){
case Osztaly.Barbar:
base = 12
break;
case Osztaly.Amazon:
case Osztaly.Ijasz:
case Osztaly.Kaloz:
case Osztaly.Harcos:
base = 10;
break
case Osztaly.Pap:
base = 8;
break;
case Osztaly.Tolvaj:
base = 6;
break;
case Osztaly.Varazslo:
case Osztaly.Illuzionista:
base = 4;
break;
}
return base + Modifier(egeszseg)
}
function TamadasBonusz(osztaly: Osztaly) : number {
switch (osztaly){
case Osztaly.Barbar:
case Osztaly.Amazon:
case Osztaly.Ijasz:
case Osztaly.Kaloz:
case Osztaly.Harcos:
return 2;
case Osztaly.Pap:
case Osztaly.Tolvaj:
return 0;
case Osztaly.Varazslo:
case Osztaly.Illuzionista:
return 0;
}
}
function KozelharciTB(osztaly: Osztaly, tulajdonsagok: KarakterTulajdonsagok): number {
const base = TamadasBonusz(osztaly);
if (osztaly === Osztaly.Kaloz && tulajdonsagok.t_ugy > tulajdonsagok.t_ero) {
return base + Modifier(tulajdonsagok.t_ugy)
}
return base + Modifier(tulajdonsagok.t_ero)
}
function KitartasMento(osztaly: Osztaly) : number {
switch (osztaly){
case Osztaly.Barbar:
case Osztaly.Amazon:
case Osztaly.Ijasz:
case Osztaly.Kaloz:
case Osztaly.Harcos:
case Osztaly.Pap:
return 2;
case Osztaly.Tolvaj:
case Osztaly.Varazslo:
case Osztaly.Illuzionista:
return 0;
}
}
function ReflexMento(osztaly: Osztaly) : number {
switch (osztaly){
case Osztaly.Tolvaj:
return 2;
case Osztaly.Barbar:
case Osztaly.Amazon:
case Osztaly.Ijasz:
case Osztaly.Kaloz:
case Osztaly.Harcos:
case Osztaly.Pap:
case Osztaly.Varazslo:
case Osztaly.Illuzionista:
return 0;
}
}
function AkarateroMento(osztaly: Osztaly) : number {
switch (osztaly){
case Osztaly.Pap:
case Osztaly.Varazslo:
case Osztaly.Illuzionista:
return 2;
case Osztaly.Tolvaj:
case Osztaly.Barbar:
case Osztaly.Amazon:
case Osztaly.Ijasz:
case Osztaly.Kaloz:
case Osztaly.Harcos:
return 0;
}
}
function MasodlagosErtekek(props: {osztaly: Osztaly, tulajdonsagok: () => KarakterTulajdonsagok}) {
const { osztaly, tulajdonsagok } = props;
const tooltip = (
<Tooltip id="tooltip">
<strong>Hentelési Potenciál</strong>
</Tooltip>
);
return <>
<div className='row'>
<h5 className='col align-self-center'>Másodlagos értékek</h5>
</div>
<div className='row'>
<div className='col-lg-6'>
<div className='row m-2'>
<label className='col-sm-6 col-8 col-form-label'>Életerő{' '}
<OverlayTrigger placement='top' overlay={tooltip} delay={0} defaultShow={false} flip={false}>
<span>(HP)</span>
</OverlayTrigger>
</label>
<p className='col'>{HP(osztaly, tulajdonsagok().t_egs)}</p>
</div>
<div className='row m-2'>
<label className='col-sm-6 col-8 col-form-label' >Védekezési Osztály (VO)</label>
<p className='col'>{10+Modifier(tulajdonsagok().t_ugy)}</p>
</div>
<div className='row m-2'>
<label className='col-sm-6 col-8 col-form-label' >Közelharci támadás</label>
<p className='col'>{SignedNumberToText(KozelharciTB(osztaly, tulajdonsagok()))}</p>
</div>
<div className='row m-2'>
<label className='col-sm-6 col-8 col-form-label' >Célzó támadás</label>
<p className='col'>{SignedNumberToText(TamadasBonusz(osztaly) + Modifier(tulajdonsagok().t_ugy))}</p>
</div>
</div>
<div className='col-lg-6'>
<div className='row m-2'>
<label className='col-sm-6 col-8 col-form-label' >Kitartás mentő</label>
<p className='col'>{SignedNumberToText(KitartasMento(osztaly) + Modifier(tulajdonsagok().t_egs))}</p>
</div>
<div className='row m-2'>
<label className='col-sm-6 col-8 col-form-label' >Reflex mentő</label>
<p className='col'>{SignedNumberToText(ReflexMento(osztaly) + Modifier(tulajdonsagok().t_ugy))}</p>
</div>
<div className='row m-2'>
<label className='col-sm-6 col-8 col-form-label' >Akaraterő mentő </label>
<p className='col'>{SignedNumberToText(AkarateroMento(osztaly) + Modifier(tulajdonsagok().t_bol))}</p>
</div>
</div>
</div>
</>
}
export default MasodlagosErtekek
+1 -3
View File
@@ -2,10 +2,8 @@ import React from "react";
import {Faj, FajLabel} from "../domain-models/faj";
import {Modifier} from "../domain-models/tulajdonsag";
import {SignedNumberToText} from "./Helpers";
export function SignedNumberToText(val: number) : string {
return val > 0 ? '+'+val : val.toString()
}
function fajiModositoText(faj: Faj, szamolas: (f: Faj) => number) : string {
const mod = szamolas(faj)
+13 -13
View File
@@ -22,61 +22,61 @@ function Tulajdonsagok(props: {
<h5 className='col-lg-2 col-sm-4 align-self-center'>Tulajdonságok</h5>
<div className='col-sm-2 m-2'>
<button className='btn btn-dark' type='button'
onClick={() => RollAllAbilities(setValue)}>Dobás
onClick={() => RollAllAbilities((name: string, value: number) => setValue('tul.'+name, value))}>Dobás
</button>
</div>
</div>
<TulajdonsagInput
tulajdonsag='Erő'
getCurrentValue={() => Number(watch(Tulajdonsag.Ero, 10))}
getCurrentValue={() => Number(watch('tul.'+Tulajdonsag.Ero, 10))}
currentFaj={currentFaj}
fajiModosito={TulajdonsagModositokFajokra(Tulajdonsag.Ero)}
register={() => register(Tulajdonsag.Ero, tulajdonsagDefaultOptions)}
register={() => register('tul.'+Tulajdonsag.Ero, tulajdonsagDefaultOptions)}
tooLowError='Túl gyenge vagy, nem bírtad felemelni a kezed a jelentkezéshez!'
tooHighError='Szét szakadtak az izmaid!'
/>
<TulajdonsagInput
tulajdonsag='Ügyesség'
getCurrentValue={() => Number(watch(Tulajdonsag.Ugyesseg, 10))}
getCurrentValue={() => Number(watch('tul.'+Tulajdonsag.Ugyesseg, 10))}
currentFaj={currentFaj}
fajiModosito={TulajdonsagModositokFajokra(Tulajdonsag.Ugyesseg)}
register={() => register(Tulajdonsag.Ugyesseg, tulajdonsagDefaultOptions)}
register={() => register('tul.'+Tulajdonsag.Ugyesseg, tulajdonsagDefaultOptions)}
tooLowError='Orrabuktál jelentkezés helyett!'
tooHighError='Emberfeletti zsonglörködésedre záptojással válaszoltak a helyiek!'
/>
<TulajdonsagInput
tulajdonsag='Egészség'
getCurrentValue={() => Number(watch(Tulajdonsag.Egeszseg, 10))}
getCurrentValue={() => Number(watch('tul.'+Tulajdonsag.Egeszseg, 10))}
currentFaj={currentFaj}
fajiModosito={TulajdonsagModositokFajokra(Tulajdonsag.Egeszseg)}
register={() => register(Tulajdonsag.Egeszseg, tulajdonsagDefaultOptions)}
register={() => register('tul.'+Tulajdonsag.Egeszseg, tulajdonsagDefaultOptions)}
tooLowError='Túl beteg vagy ahhoz, hogy kalandozni menj!'
tooHighError='Kicsattanó egészségedet csak a diambroid állíthatja meg, minő véletlen, hogy pont az arcodba robbant...'
/>
<TulajdonsagInput
tulajdonsag='Intelligencia'
getCurrentValue={() => Number(watch(Tulajdonsag.Intelligencia, 10))}
getCurrentValue={() => Number(watch('tul.'+Tulajdonsag.Intelligencia, 10))}
currentFaj={currentFaj}
fajiModosito={TulajdonsagModositokFajokra(Tulajdonsag.Intelligencia)}
register={() => register(Tulajdonsag.Intelligencia, tulajdonsagDefaultOptions)}
register={() => register('tul.'+Tulajdonsag.Intelligencia, tulajdonsagDefaultOptions)}
tooLowError='Elfelejtetted, hogy mikor is kéne kalandozni indulni!'
tooHighError='Ilyen tudás és logika birtokában mi szükséged van új információkra? Mindent le tudsz vezetni a már meglévő ismereteidből, és ezt azonnal beláttad.'
/>
<TulajdonsagInput
tulajdonsag='Bölcsesség'
getCurrentValue={() => Number(watch(Tulajdonsag.Bolcsesseg, 10))}
getCurrentValue={() => Number(watch('tul.'+Tulajdonsag.Bolcsesseg, 10))}
currentFaj={currentFaj}
fajiModosito={TulajdonsagModositokFajokra(Tulajdonsag.Bolcsesseg)}
register={() => register(Tulajdonsag.Bolcsesseg, tulajdonsagDefaultOptions)}
register={() => register('tul.'+Tulajdonsag.Bolcsesseg, tulajdonsagDefaultOptions)}
tooLowError='Nem bírtál ellenállni a kíváncsiságodnak, hogy közelebbről is megvizsgáld a tőr hegyét. Nagyon közelről.'
tooHighError='Hatalmas bölcsességedben beláttad a kalandozás veszélyeit és inkább más tevékenységbe fogtál.'
/>
<TulajdonsagInput
tulajdonsag='Karizma'
getCurrentValue={() => Number(watch(Tulajdonsag.Karizma, 10))}
getCurrentValue={() => Number(watch('tul.'+Tulajdonsag.Karizma, 10))}
currentFaj={currentFaj}
fajiModosito={TulajdonsagModositokFajokra(Tulajdonsag.Karizma)}
register={() => register(Tulajdonsag.Karizma, tulajdonsagDefaultOptions)}
register={() => register('tul.'+Tulajdonsag.Karizma, tulajdonsagDefaultOptions)}
tooLowError='Mintha taszítanád az embereket, sose sikerült kalandozó csapatot találnod.'
tooHighError='Az ellenkező nem tagjai nem engedték, hogy útnak indulj.'
/>
+5 -1
View File
@@ -204,4 +204,8 @@ export const KepzettsegLista: Kepzettseg[] = [
export const Kepzettsegek: Record<KepzettsegId, Kepzettseg> =
KepzettsegLista.reduce(
(acc: Record<KepzettsegId, Kepzettseg>, k) => { acc[k.Id] = k; return acc; },
{} as Record<KepzettsegId, Kepzettseg>);
{} as Record<KepzettsegId, Kepzettseg>);
export function AvailableKezpettsegList(osztaly: Osztaly): Kepzettseg[] {
return KepzettsegLista.filter(k => k.Osztalyok == null || k.Osztalyok.includes(osztaly))
}
+2
View File
@@ -10,6 +10,8 @@ export enum Tulajdonsag {
Karizma = 't_kar',
}
export type KarakterTulajdonsagok = Record<Tulajdonsag, number>
export function TulajdonsagLabel(tul: Tulajdonsag) : string {
switch (tul) {
case Tulajdonsag.Bolcsesseg: return 'Bölcsesség';
+4
View File
@@ -8,6 +8,7 @@ import Tulajdonsagok from "../components/Tulajdonsagok";
import OsztalySelector from "../components/OsztalySelector";
import KarakterKepzettsegek from "../components/KarakterKepzettsegek";
import {Tulajdonsag} from "../domain-models/tulajdonsag";
import MasodlagosErtekek from "../components/MasodlagosErtekek";
const FAJ_FIELD_NAME = 'faj'
const OSZTALY_FIELD_NAME = 'osztaly'
@@ -70,6 +71,9 @@ function CreateCharacterPage() {
watch={watch}
/>
<hr />
<MasodlagosErtekek osztaly={currentOsztaly()} tulajdonsagok={() => watch('tul', {})} />
<div className='d-grid gap-2 m-5'>
<button className='btn btn-danger btn-lg' type='submit'>Létrehozás</button>
</div>
+165 -3
View File
@@ -1132,6 +1132,13 @@
dependencies:
regenerator-runtime "^0.13.11"
"@babel/runtime@^7.21.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.8.7":
version "7.22.10"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.10.tgz#ae3e9631fd947cb7e3610d3e9d8fef5f76696682"
integrity sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==
dependencies:
regenerator-runtime "^0.14.0"
"@babel/template@^7.22.5", "@babel/template@^7.3.3":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.5.tgz#0c8c4d944509875849bd0344ff0050756eefc6ec"
@@ -1683,11 +1690,45 @@
schema-utils "^3.0.0"
source-map "^0.7.3"
"@popperjs/core@^2.11.6":
version "2.11.8"
resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f"
integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==
"@react-aria/ssr@^3.5.0":
version "3.7.1"
resolved "https://registry.yarnpkg.com/@react-aria/ssr/-/ssr-3.7.1.tgz#11d0fac17e50028459aad325c2d093dbb2960f68"
integrity sha512-ovVPSD1WlRpZHt7GI9DqJrWG3OIYS+NXQ9y5HIewMJpSe+jPQmMQfyRmgX4EnvmxSlp0u04Wg/7oItcoSIb/RA==
dependencies:
"@swc/helpers" "^0.5.0"
"@remix-run/router@1.7.2":
version "1.7.2"
resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.7.2.tgz#cba1cf0a04bc04cb66027c51fa600e9cbc388bc8"
integrity sha512-7Lcn7IqGMV+vizMPoEl5F0XDshcdDYtMI6uJLQdQz5CfZAwy3vvGKYSUk789qndt5dEC4HfSjviSYlSoHGL2+A==
"@restart/hooks@^0.4.9":
version "0.4.11"
resolved "https://registry.yarnpkg.com/@restart/hooks/-/hooks-0.4.11.tgz#8876ccce1d4ad2a4b793a31689d63df36cf56088"
integrity sha512-Ft/ncTULZN6ldGHiF/k5qt72O8JyRMOeg0tApvCni8LkoiEahO+z3TNxfXIVGy890YtWVDvJAl662dVJSJXvMw==
dependencies:
dequal "^2.0.3"
"@restart/ui@^1.6.3":
version "1.6.6"
resolved "https://registry.yarnpkg.com/@restart/ui/-/ui-1.6.6.tgz#3481e2eaf15d7cae55bb2f518624e10d19c75800"
integrity sha512-eC3puKuWE1SRYbojWHXnvCNHGgf3uzHCb6JOhnF4OXPibOIPEkR1sqDSkL643ydigxwh+ruCa1CmYHlzk7ikKA==
dependencies:
"@babel/runtime" "^7.21.0"
"@popperjs/core" "^2.11.6"
"@react-aria/ssr" "^3.5.0"
"@restart/hooks" "^0.4.9"
"@types/warning" "^3.0.0"
dequal "^2.0.3"
dom-helpers "^5.2.0"
uncontrollable "^8.0.1"
warning "^4.0.3"
"@rollup/plugin-babel@^5.2.0":
version "5.3.1"
resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz#04bc0608f4aa4b2e4b1aebf284344d0f68fda283"
@@ -1867,6 +1908,13 @@
"@svgr/plugin-svgo" "^5.5.0"
loader-utils "^2.0.0"
"@swc/helpers@^0.5.0":
version "0.5.1"
resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.1.tgz#e9031491aa3f26bfcc974a67f48bd456c8a5357a"
integrity sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==
dependencies:
tslib "^2.4.0"
"@testing-library/dom@^8.5.0":
version "8.20.1"
resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.20.1.tgz#2e52a32e46fc88369eef7eef634ac2a192decd9f"
@@ -2162,6 +2210,13 @@
dependencies:
"@types/react" "*"
"@types/react-transition-group@^4.4.5":
version "4.4.6"
resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.6.tgz#18187bcda5281f8e10dfc48f0943e2fdf4f75e2e"
integrity sha512-VnCdSxfcm08KjsJVQcfBmhEQAPnLB8G08hAxn39azX1qYBQ/5RVQuoHuKIcfKOdncuaUvEpFKFzEvbtIMsfVew==
dependencies:
"@types/react" "*"
"@types/react@*", "@types/react@^18.2.15":
version "18.2.15"
resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.15.tgz#14792b35df676c20ec3cf595b262f8c615a73066"
@@ -2171,6 +2226,15 @@
"@types/scheduler" "*"
csstype "^3.0.2"
"@types/react@>=16.9.11":
version "18.2.20"
resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.20.tgz#1605557a83df5c8a2cc4eeb743b3dfc0eb6aaeb2"
integrity sha512-WKNtmsLWJM/3D5mG4U84cysVY31ivmyw85dE84fOCk5Hx78wezB/XEjVPWl2JTZ5FkEeaTJf+VgUAUn3PE7Isw==
dependencies:
"@types/prop-types" "*"
"@types/scheduler" "*"
csstype "^3.0.2"
"@types/resolve@1.17.1":
version "1.17.1"
resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6"
@@ -2241,6 +2305,11 @@
resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.3.tgz#a136f83b0758698df454e328759dbd3d44555311"
integrity sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==
"@types/warning@^3.0.0":
version "3.0.0"
resolved "https://registry.yarnpkg.com/@types/warning/-/warning-3.0.0.tgz#0d2501268ad8f9962b740d387c4654f5f8e23e52"
integrity sha512-t/Tvs5qR47OLOr+4E9ckN8AmP2Tf16gWq+/qA4iUGS/OOyHVO8wv2vjJuX8SNOUTJyWb+2t7wJm6cXILFnOROA==
"@types/ws@^8.5.5":
version "8.5.5"
resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.5.tgz#af587964aa06682702ee6dcbc7be41a80e4b28eb"
@@ -3220,6 +3289,11 @@ cjs-module-lexer@^1.0.0:
resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107"
integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==
classnames@^2.3.2:
version "2.3.2"
resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.2.tgz#351d813bf0137fcc6a76a16b88208d2560a0d924"
integrity sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==
clean-css@^5.2.2:
version "5.3.2"
resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.3.2.tgz#70ecc7d4d4114921f5d298349ff86a31a9975224"
@@ -3860,6 +3934,14 @@ dom-converter@^0.2.0:
dependencies:
utila "~0.4"
dom-helpers@^5.0.1, dom-helpers@^5.2.0, dom-helpers@^5.2.1:
version "5.2.1"
resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902"
integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==
dependencies:
"@babel/runtime" "^7.8.7"
csstype "^3.0.2"
dom-serializer@0:
version "0.2.2"
resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51"
@@ -5211,6 +5293,13 @@ internal-slot@^1.0.3, internal-slot@^1.0.4, internal-slot@^1.0.5:
has "^1.0.3"
side-channel "^1.0.4"
invariant@^2.2.4:
version "2.2.4"
resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==
dependencies:
loose-envify "^1.0.0"
ipaddr.js@1.9.1:
version "1.9.1"
resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
@@ -6332,7 +6421,7 @@ lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.7.0:
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
loose-envify@^1.1.0, loose-envify@^1.4.0:
loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
@@ -7573,7 +7662,15 @@ prompts@^2.0.1, prompts@^2.4.2:
kleur "^3.0.3"
sisteransi "^1.0.5"
prop-types@^15.8.1:
prop-types-extra@^1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/prop-types-extra/-/prop-types-extra-1.1.1.tgz#58c3b74cbfbb95d304625975aa2f0848329a010b"
integrity sha512-59+AHNnHYCdiC+vMwY52WmvP5dM3QLeoumYuEyceQDi9aEhtwN9zIQ2ZNo25sMyXnbh32h+P1ezDsUpUH3JAew==
dependencies:
react-is "^16.3.2"
warning "^4.0.0"
prop-types@^15.6.2, prop-types@^15.8.1:
version "15.8.1"
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
@@ -7668,6 +7765,24 @@ react-app-polyfill@^3.0.0:
regenerator-runtime "^0.13.9"
whatwg-fetch "^3.6.2"
react-bootstrap@^2.8.0:
version "2.8.0"
resolved "https://registry.yarnpkg.com/react-bootstrap/-/react-bootstrap-2.8.0.tgz#781f254b33090c1d50ed521b40697727267c6add"
integrity sha512-e/aNtxl0Z2ozrIaR82jr6Zz7ss9GSoaXpQaxmvtDUsTZIq/XalkduR/ZXP6vbQHz2T4syvjA+4FbtwELxxmpww==
dependencies:
"@babel/runtime" "^7.21.0"
"@restart/hooks" "^0.4.9"
"@restart/ui" "^1.6.3"
"@types/react-transition-group" "^4.4.5"
classnames "^2.3.2"
dom-helpers "^5.2.1"
invariant "^2.2.4"
prop-types "^15.8.1"
prop-types-extra "^1.1.0"
react-transition-group "^4.4.5"
uncontrollable "^7.2.1"
warning "^4.0.3"
react-dev-utils@^12.0.1:
version "12.0.1"
resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-12.0.1.tgz#ba92edb4a1f379bd46ccd6bcd4e7bc398df33e73"
@@ -7716,7 +7831,7 @@ react-hook-form@^7.45.2:
resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.45.2.tgz#c757f3d5e633ccb186443d57c10fc511df35721a"
integrity sha512-9s45OdTaKN+4NSTbXVqeDITd/nwIg++nxJGL8+OD5uf1DxvhsXQ641kaYHk5K28cpIOTYm71O/fYk7rFaygb3A==
react-is@^16.13.1:
react-is@^16.13.1, react-is@^16.3.2:
version "16.13.1"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
@@ -7731,6 +7846,11 @@ react-is@^18.0.0:
resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b"
integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==
react-lifecycles-compat@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362"
integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==
react-refresh@^0.11.0:
version "0.11.0"
resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.11.0.tgz#77198b944733f0f1f1a90e791de4541f9f074046"
@@ -7806,6 +7926,16 @@ react-scripts@5.0.1:
optionalDependencies:
fsevents "^2.3.2"
react-transition-group@^4.4.5:
version "4.4.5"
resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.5.tgz#e53d4e3f3344da8521489fbef8f2581d42becdd1"
integrity sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==
dependencies:
"@babel/runtime" "^7.5.5"
dom-helpers "^5.0.1"
loose-envify "^1.4.0"
prop-types "^15.6.2"
react@^18.2.0:
version "18.2.0"
resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5"
@@ -7881,6 +8011,11 @@ regenerator-runtime@^0.13.11, regenerator-runtime@^0.13.9:
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9"
integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==
regenerator-runtime@^0.14.0:
version "0.14.0"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45"
integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==
regenerator-transform@^0.15.1:
version "0.15.1"
resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.1.tgz#f6c4e99fc1b4591f780db2586328e4d9a9d8dc56"
@@ -8846,6 +8981,11 @@ tslib@^2.0.3, tslib@^2.3.0:
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.0.tgz#b295854684dbda164e181d259a22cd779dcd7bc3"
integrity sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==
tslib@^2.4.0:
version "2.6.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.1.tgz#fd8c9a0ff42590b25703c0acb3de3d3f4ede0410"
integrity sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==
tsutils@^3.21.0:
version "3.21.0"
resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623"
@@ -8949,6 +9089,21 @@ unbox-primitive@^1.0.2:
has-symbols "^1.0.3"
which-boxed-primitive "^1.0.2"
uncontrollable@^7.2.1:
version "7.2.1"
resolved "https://registry.yarnpkg.com/uncontrollable/-/uncontrollable-7.2.1.tgz#1fa70ba0c57a14d5f78905d533cf63916dc75738"
integrity sha512-svtcfoTADIB0nT9nltgjujTi7BzVmwjZClOmskKu/E8FW9BXzg9os8OLr4f8Dlnk0rYWJIWr4wv9eKUXiQvQwQ==
dependencies:
"@babel/runtime" "^7.6.3"
"@types/react" ">=16.9.11"
invariant "^2.2.4"
react-lifecycles-compat "^3.0.4"
uncontrollable@^8.0.1:
version "8.0.4"
resolved "https://registry.yarnpkg.com/uncontrollable/-/uncontrollable-8.0.4.tgz#a0a8307f638795162fafd0550f4a1efa0f8c5eb6"
integrity sha512-ulRWYWHvscPFc0QQXvyJjY6LIXU56f0h8pQFvhxiKk5V1fcI8gp9Ht9leVAhrVjzqMw0BgjspBINx9r6oyJUvQ==
unicode-canonical-property-names-ecmascript@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc"
@@ -9092,6 +9247,13 @@ walker@^1.0.7:
dependencies:
makeerror "1.0.12"
warning@^4.0.0, warning@^4.0.3:
version "4.0.3"
resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3"
integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==
dependencies:
loose-envify "^1.0.0"
watchpack@^2.4.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d"