trying with react-select
This commit is contained in:
parent
1b52069114
commit
16cafbd23f
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@lingdocs/pashto-inflector",
|
||||
"version": "4.1.2",
|
||||
"version": "4.9.9",
|
||||
"author": "lingdocs.com",
|
||||
"description": "A Pashto inflection and verb conjugation engine, inculding React components for displaying Pashto text, inflections, and conjugations",
|
||||
"homepage": "https://verbs.lingdocs.com",
|
||||
|
@ -27,8 +27,7 @@
|
|||
"jsurl2": "^2.1.0",
|
||||
"lz-string": "^1.4.4",
|
||||
"pbf": "^3.2.1",
|
||||
"rambda": "^6.7.0",
|
||||
"react-select": "^5.2.2"
|
||||
"rambda": "^6.7.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@fortawesome/fontawesome-free": "^5.15.2",
|
||||
|
|
|
@ -1,31 +1,31 @@
|
|||
import * as T from "../types";
|
||||
import { StyleHTMLAttributes } from "react";
|
||||
import Select, { StylesConfig } from "react-select";
|
||||
import AsyncSelect from "react-select/async";
|
||||
import {
|
||||
makeSelectOption,
|
||||
makeVerbSelectOption,
|
||||
} from "./np-picker/picker-tools";
|
||||
// import Select, { StylesConfig } from "react-select";
|
||||
// import AsyncSelect from "react-select/async";
|
||||
// import {
|
||||
// makeSelectOption,
|
||||
// makeVerbSelectOption,
|
||||
// } from "./np-picker/picker-tools";
|
||||
|
||||
export const customStyles: StylesConfig = {
|
||||
menuPortal: (base) => ({
|
||||
...base,
|
||||
zIndex: 99999,
|
||||
}),
|
||||
menu: (base) => ({
|
||||
...base,
|
||||
zIndex: 999999,
|
||||
}),
|
||||
option: (provided, state) => ({
|
||||
...provided,
|
||||
padding: "10px 5px",
|
||||
color: "#121418",
|
||||
}),
|
||||
input: (base) => ({
|
||||
...base,
|
||||
padding: 0,
|
||||
}),
|
||||
}
|
||||
// export const customStyles: StylesConfig = {
|
||||
// menuPortal: (base) => ({
|
||||
// ...base,
|
||||
// zIndex: 99999,
|
||||
// }),
|
||||
// menu: (base) => ({
|
||||
// ...base,
|
||||
// zIndex: 999999,
|
||||
// }),
|
||||
// option: (provided, state) => ({
|
||||
// ...provided,
|
||||
// padding: "10px 5px",
|
||||
// color: "#121418",
|
||||
// }),
|
||||
// input: (base) => ({
|
||||
// ...base,
|
||||
// padding: 0,
|
||||
// }),
|
||||
// }
|
||||
|
||||
function EntrySelect<E extends T.DictionaryEntry | T.VerbEntry>(props: {
|
||||
entryFeeder: T.EntryFeederSingleType<E>,
|
||||
|
@ -36,79 +36,80 @@ function EntrySelect<E extends T.DictionaryEntry | T.VerbEntry>(props: {
|
|||
opts: T.TextOptions,
|
||||
style?: StyleHTMLAttributes<HTMLDivElement>,
|
||||
}) {
|
||||
const divStyle = props.style || { width: "13rem" };
|
||||
const placeholder = "entries" in props ? "Select…" : "Search Pashto";
|
||||
function makeOption(e: E | T.DictionaryEntry) {
|
||||
if ("entry" in e) {
|
||||
return (props.isVerbSelect ? makeVerbSelectOption : makeSelectOption)(e, props.opts);
|
||||
}
|
||||
return makeSelectOption(e, props.opts);
|
||||
}
|
||||
const value = props.value ? makeOption(props.value) : undefined;
|
||||
if ("search" in props.entryFeeder) {
|
||||
const search = props.entryFeeder.search;
|
||||
const getByTs = props.entryFeeder.getByTs;
|
||||
const options = (searchString: string) =>
|
||||
new Promise<{ value: string, label: string | JSX.Element }[]>(resolve => {
|
||||
resolve(search(searchString).map(makeOption));
|
||||
});
|
||||
const onChange = (v: { label: string | JSX.Element, value: string } | null) => {
|
||||
if (!v) {
|
||||
props.onChange(undefined);
|
||||
return;
|
||||
}
|
||||
const s = getByTs(parseInt(v.value));
|
||||
if (!s) return;
|
||||
props.onChange(s);
|
||||
}
|
||||
return <div style={divStyle}>
|
||||
<AsyncSelect
|
||||
styles={customStyles}
|
||||
isSearchable={true}
|
||||
className="mb-2"
|
||||
value={value}
|
||||
// @ts-ignore
|
||||
onChange={onChange}
|
||||
defaultOptions={[]}
|
||||
loadOptions={options}
|
||||
placeholder={placeholder}
|
||||
/>
|
||||
</div>;
|
||||
}
|
||||
const entries = props.entryFeeder;
|
||||
const options = entries
|
||||
.sort((a, b) => {
|
||||
if ("entry" in a) {
|
||||
return a.entry.p.localeCompare("p" in b ? b.p : b.entry.p, "af-PS")
|
||||
}
|
||||
return a.p.localeCompare("p" in b ? b.p : b.entry.p, "af-PS");
|
||||
})
|
||||
.map(makeOption);
|
||||
const onChange = (v: { label: string | JSX.Element, value: string } | null) => {
|
||||
if (!v) {
|
||||
props.onChange(undefined);
|
||||
return;
|
||||
}
|
||||
const s = entries.find(e => (
|
||||
("entry" in e)
|
||||
? e.entry.ts.toString() === v.value
|
||||
: e.ts.toString() === v.value
|
||||
));
|
||||
if (!s) return;
|
||||
props.onChange(s);
|
||||
}
|
||||
return <div style={divStyle}>
|
||||
<Select
|
||||
styles={customStyles}
|
||||
isSearchable={true}
|
||||
value={value}
|
||||
// @ts-ignore - gets messed up when using customStyles
|
||||
onChange={onChange}
|
||||
className="mb-2"
|
||||
options={options}
|
||||
placeholder={placeholder}
|
||||
/>
|
||||
</div>
|
||||
return <div>not here</div>;
|
||||
// const divStyle = props.style || { width: "13rem" };
|
||||
// // const placeholder = "entries" in props ? "Select…" : "Search Pashto";
|
||||
// function makeOption(e: E | T.DictionaryEntry) {
|
||||
// if ("entry" in e) {
|
||||
// return (props.isVerbSelect ? makeVerbSelectOption : makeSelectOption)(e, props.opts);
|
||||
// }
|
||||
// return makeSelectOption(e, props.opts);
|
||||
// }
|
||||
// // const value = props.value ? makeOption(props.value) : undefined;
|
||||
// if ("search" in props.entryFeeder) {
|
||||
// // const search = props.entryFeeder.search;
|
||||
// // const getByTs = props.entryFeeder.getByTs;
|
||||
// // const options = (searchString: string) =>
|
||||
// // new Promise<{ value: string, label: string | JSX.Element }[]>(resolve => {
|
||||
// // resolve(search(searchString).map(makeOption));
|
||||
// // });
|
||||
// // const onChange = (v: { label: string | JSX.Element, value: string } | null) => {
|
||||
// // if (!v) {
|
||||
// // props.onChange(undefined);
|
||||
// // return;
|
||||
// // }
|
||||
// // const s = getByTs(parseInt(v.value));
|
||||
// // if (!s) return;
|
||||
// // props.onChange(s);
|
||||
// // }
|
||||
// return <div style={divStyle}>
|
||||
// {/* <AsyncSelect
|
||||
// styles={customStyles}
|
||||
// isSearchable={true}
|
||||
// className="mb-2"
|
||||
// value={value}
|
||||
// // @ts-ignore
|
||||
// onChange={onChange}
|
||||
// defaultOptions={[]}
|
||||
// loadOptions={options}
|
||||
// placeholder={placeholder}
|
||||
// /> */}
|
||||
// </div>;
|
||||
// }
|
||||
// const entries = props.entryFeeder;
|
||||
// const options = entries
|
||||
// .sort((a, b) => {
|
||||
// if ("entry" in a) {
|
||||
// return a.entry.p.localeCompare("p" in b ? b.p : b.entry.p, "af-PS")
|
||||
// }
|
||||
// return a.p.localeCompare("p" in b ? b.p : b.entry.p, "af-PS");
|
||||
// })
|
||||
// .map(makeOption);
|
||||
// const onChange = (v: { label: string | JSX.Element, value: string } | null) => {
|
||||
// if (!v) {
|
||||
// props.onChange(undefined);
|
||||
// return;
|
||||
// }
|
||||
// const s = entries.find(e => (
|
||||
// ("entry" in e)
|
||||
// ? e.entry.ts.toString() === v.value
|
||||
// : e.ts.toString() === v.value
|
||||
// ));
|
||||
// if (!s) return;
|
||||
// props.onChange(s);
|
||||
// }
|
||||
// return <div style={divStyle}>
|
||||
// {/* <Select
|
||||
// styles={customStyles}
|
||||
// isSearchable={true}
|
||||
// value={value}
|
||||
// // @ts-ignore - gets messed up when using customStyles
|
||||
// onChange={onChange}
|
||||
// className="mb-2"
|
||||
// options={options}
|
||||
// placeholder={placeholder}
|
||||
// /> */}
|
||||
// </div>
|
||||
}
|
||||
|
||||
export function SandwichSelect<E extends T.Sandwich>(props: {
|
||||
|
@ -119,62 +120,63 @@ export function SandwichSelect<E extends T.Sandwich>(props: {
|
|||
opts: T.TextOptions,
|
||||
style?: StyleHTMLAttributes<HTMLDivElement>,
|
||||
}) {
|
||||
const divStyle = props.style || { width: "13rem" };
|
||||
const placeholder = "Select Sandwich…";
|
||||
const value = props.value ? makeSandwichOption(props.value) : undefined;
|
||||
const options = props.sandwiches
|
||||
// .sort((a, b) => {
|
||||
// if ("entry" in a) {
|
||||
// return a.before.p.localeCompare("p" in b ? b.p : b.entry.p, "af-PS")
|
||||
// }
|
||||
// return a.p.localeCompare("p" in b ? b.p : b.entry.p, "af-PS");
|
||||
// })
|
||||
.map(makeSandwichOption);
|
||||
const onChange = (v: { label: string | JSX.Element, value: string } | null) => {
|
||||
if (!v) {
|
||||
props.onChange(undefined);
|
||||
return;
|
||||
}
|
||||
const s = props.sandwiches.find(e => {
|
||||
const sValue = JSON.parse(v.value) as T.Sandwich;
|
||||
if (sValue.type !== "sandwich") throw new Error("error converting selected sandwich value to a sandwich");
|
||||
return sandwichSideEq(e.before, sValue.before)
|
||||
&& sandwichSideEq(e.after, sValue.after)
|
||||
&& (e.e === sValue.e);
|
||||
});
|
||||
if (!s) return;
|
||||
props.onChange(s);
|
||||
}
|
||||
return <div style={divStyle}>
|
||||
<div>Sandwich Base</div>
|
||||
<Select
|
||||
styles={customStyles}
|
||||
isSearchable={true}
|
||||
value={value}
|
||||
// @ts-ignore - gets messed up when using customStyles
|
||||
onChange={onChange}
|
||||
className="mb-2"
|
||||
options={options}
|
||||
placeholder={placeholder}
|
||||
/>
|
||||
</div>
|
||||
return <div>not here</div>;
|
||||
// const divStyle = props.style || { width: "13rem" };
|
||||
// const placeholder = "Select Sandwich…";
|
||||
// const value = props.value ? makeSandwichOption(props.value) : undefined;
|
||||
// const options = props.sandwiches
|
||||
// // .sort((a, b) => {
|
||||
// // if ("entry" in a) {
|
||||
// // return a.before.p.localeCompare("p" in b ? b.p : b.entry.p, "af-PS")
|
||||
// // }
|
||||
// // return a.p.localeCompare("p" in b ? b.p : b.entry.p, "af-PS");
|
||||
// // })
|
||||
// .map(makeSandwichOption);
|
||||
// // const onChange = (v: { label: string | JSX.Element, value: string } | null) => {
|
||||
// // if (!v) {
|
||||
// // props.onChange(undefined);
|
||||
// // return;
|
||||
// // }
|
||||
// // const s = props.sandwiches.find(e => {
|
||||
// // const sValue = JSON.parse(v.value) as T.Sandwich;
|
||||
// // if (sValue.type !== "sandwich") throw new Error("error converting selected sandwich value to a sandwich");
|
||||
// // return sandwichSideEq(e.before, sValue.before)
|
||||
// // && sandwichSideEq(e.after, sValue.after)
|
||||
// // && (e.e === sValue.e);
|
||||
// // });
|
||||
// // if (!s) return;
|
||||
// // props.onChange(s);
|
||||
// // }
|
||||
// return <div style={divStyle}>
|
||||
// <div>Sandwich Base</div>
|
||||
// {/* <Select
|
||||
// styles={customStyles}
|
||||
// isSearchable={true}
|
||||
// value={value}
|
||||
// // @ts-ignore - gets messed up when using customStyles
|
||||
// onChange={onChange}
|
||||
// className="mb-2"
|
||||
// options={options}
|
||||
// placeholder={placeholder}
|
||||
// /> */}
|
||||
// </div>
|
||||
}
|
||||
|
||||
function sandwichSideEq(s1: T.PsString | undefined, s2: T.PsString | undefined): boolean {
|
||||
if (s1 === undefined && s2 === undefined) {
|
||||
return true
|
||||
}
|
||||
if (typeof s1 === "object" && typeof s2 === "object" && s1.p === s2.p) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
// function sandwichSideEq(s1: T.PsString | undefined, s2: T.PsString | undefined): boolean {
|
||||
// if (s1 === undefined && s2 === undefined) {
|
||||
// return true
|
||||
// }
|
||||
// if (typeof s1 === "object" && typeof s2 === "object" && s1.p === s2.p) {
|
||||
// return true;
|
||||
// }
|
||||
// return false;
|
||||
// }
|
||||
|
||||
function makeSandwichOption(s: T.Sandwich): { label: string, value: string } {
|
||||
return {
|
||||
label: `${s.before ? s.before.p : ""} ... ${s.after ? s.after.p : ""} (${s.e})`,
|
||||
value: JSON.stringify(s),
|
||||
};
|
||||
}
|
||||
// function makeSandwichOption(s: T.Sandwich): { label: string, value: string } {
|
||||
// return {
|
||||
// label: `${s.before ? s.before.p : ""} ... ${s.after ? s.after.p : ""} (${s.e})`,
|
||||
// value: JSON.stringify(s),
|
||||
// };
|
||||
// }
|
||||
|
||||
export default EntrySelect;
|
|
@ -1,11 +1,11 @@
|
|||
import * as T from "../../types"
|
||||
import Select from "react-select";
|
||||
// import Select from "react-select";
|
||||
import ButtonSelect from "../ButtonSelect";
|
||||
|
||||
const zIndexProps = {
|
||||
menuPortalTarget: document.body,
|
||||
styles: { menuPortal: (base: any) => ({ ...base, zIndex: 9999 }) },
|
||||
};
|
||||
// const zIndexProps = {
|
||||
// menuPortalTarget: document.body,
|
||||
// styles: { menuPortal: (base: any) => ({ ...base, zIndex: 9999 }) },
|
||||
// };
|
||||
|
||||
const options: { label: string | JSX.Element, value: T.EquativeTense }[] = [{
|
||||
label: "Present",
|
||||
|
@ -38,16 +38,16 @@ function EquativePicker({ equative, onChange, hideNegative }: {
|
|||
onChange: (e: { tense: T.EquativeTense, negative: boolean }) => void,
|
||||
hideNegative?: boolean,
|
||||
}) {
|
||||
function onTenseSelect(o: { value: T.EquativeTense } | null) {
|
||||
const value = o?.value ? o.value : undefined;
|
||||
if (!value) {
|
||||
return;
|
||||
}
|
||||
onChange({
|
||||
...equative,
|
||||
tense: value,
|
||||
});
|
||||
}
|
||||
// function onTenseSelect(o: { value: T.EquativeTense } | null) {
|
||||
// const value = o?.value ? o.value : undefined;
|
||||
// if (!value) {
|
||||
// return;
|
||||
// }
|
||||
// onChange({
|
||||
// ...equative,
|
||||
// tense: value,
|
||||
// });
|
||||
// }
|
||||
function moveTense(dir: "forward" | "back") {
|
||||
return () => {
|
||||
const currIndex = options.findIndex(tn => tn.value === equative.tense)
|
||||
|
@ -74,7 +74,7 @@ function EquativePicker({ equative, onChange, hideNegative }: {
|
|||
return <div>
|
||||
<div style={{ maxWidth: "300px", minWidth: "250px", margin: "0 auto" }}>
|
||||
<div className="h5">Tense:</div>
|
||||
<Select
|
||||
{/* <Select
|
||||
isSearchable={false}
|
||||
// for some reason can't use tOptions with find here;
|
||||
value={options.find(o => o.value === equative.tense)}
|
||||
|
@ -82,7 +82,7 @@ function EquativePicker({ equative, onChange, hideNegative }: {
|
|||
className="mb-2"
|
||||
options={options}
|
||||
{...zIndexProps}
|
||||
/>
|
||||
/> */}
|
||||
{<div className="d-flex flex-row justify-content-between align-items-center mt-3 mb-1" style={{ width: "100%" }}>
|
||||
<div className="btn btn-light clickable" onClick={moveTense("back")}>
|
||||
<i className="fas fa-chevron-left" />
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
import Select from "react-select";
|
||||
// import Select from "react-select";
|
||||
import * as T from "../../types";
|
||||
import ButtonSelect from "../ButtonSelect";
|
||||
import { isImperativeTense, isModalTense, isPerfectTense, isVerbTense } from "../../lib/type-predicates";
|
||||
import useStickyState from "../../lib/useStickyState";
|
||||
import { customStyles } from "../EntrySelect";
|
||||
// import { customStyles } from "../EntrySelect";
|
||||
import {
|
||||
VpsReducerAction
|
||||
} from "./vps-reducer";
|
||||
|
@ -176,11 +176,11 @@ function TensePicker(props: ({
|
|||
payload,
|
||||
});
|
||||
}
|
||||
const tOptions = ("vps" in props && (props.vps.verb?.tenseCategory === "perfect"))
|
||||
? perfectTenseOptions
|
||||
: ("vps" in props && (props.vps.verb?.tenseCategory === "imperative"))
|
||||
? imperativeTenseOptions
|
||||
: verbTenseOptions;
|
||||
// const tOptions = ("vps" in props && (props.vps.verb?.tenseCategory === "perfect"))
|
||||
// ? perfectTenseOptions
|
||||
// : ("vps" in props && (props.vps.verb?.tenseCategory === "imperative"))
|
||||
// ? imperativeTenseOptions
|
||||
// : verbTenseOptions;
|
||||
const showImperativeOption = ("vps" in props && props.vps.verb.voice === "active")
|
||||
|| ("vpsComplete" in props && props.vpsComplete.verb.voice !== "active");
|
||||
const inPassiveVoice = ("vps" in props && props.vps.verb.voice === "passive") || ("vpsComplete" in props && props.vpsComplete.verb.voice === "passive");;
|
||||
|
@ -230,7 +230,7 @@ function TensePicker(props: ({
|
|||
{[...verbTenseOptions, ...perfectTenseOptions, ...imperativeTenseOptions].find(o => o.value === props.vpsComplete.verb.tense)?.label}
|
||||
</div>
|
||||
: <>
|
||||
<Select
|
||||
{/* <Select
|
||||
isSearchable={false}
|
||||
// for some reason can't use tOptions with find here;
|
||||
value={props.vps.verb && ([...verbTenseOptions, ...perfectTenseOptions, ...imperativeTenseOptions].find(o => o.value === props.vps.verb[
|
||||
|
@ -245,7 +245,7 @@ function TensePicker(props: ({
|
|||
className="mb-2"
|
||||
options={tOptions}
|
||||
styles={customStyles}
|
||||
/>
|
||||
/> */}
|
||||
</>}
|
||||
{"vps" in props && props.vps.verb && (props.mode !== "quiz") && <div className="d-flex flex-row justify-content-between align-items-center mt-2 mb-1" style={{ width: "100%" }}>
|
||||
<div className="btn btn-light clickable" onClick={moveTense("back")}>
|
||||
|
|
163
yarn.lock
163
yarn.lock
|
@ -209,11 +209,6 @@
|
|||
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9"
|
||||
integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==
|
||||
|
||||
"@babel/helper-plugin-utils@^7.16.7":
|
||||
version "7.16.7"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5"
|
||||
integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==
|
||||
|
||||
"@babel/helper-remap-async-to-generator@^7.14.5", "@babel/helper-remap-async-to-generator@^7.15.4":
|
||||
version "7.15.4"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.15.4.tgz#2637c0731e4c90fbf58ac58b50b2b5a192fc970f"
|
||||
|
@ -546,13 +541,6 @@
|
|||
dependencies:
|
||||
"@babel/helper-plugin-utils" "^7.8.0"
|
||||
|
||||
"@babel/plugin-syntax-jsx@^7.12.13":
|
||||
version "7.16.7"
|
||||
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz#50b6571d13f764266a113d77c82b4a6508bbe665"
|
||||
integrity sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q==
|
||||
dependencies:
|
||||
"@babel/helper-plugin-utils" "^7.16.7"
|
||||
|
||||
"@babel/plugin-syntax-jsx@^7.14.5":
|
||||
version "7.14.5"
|
||||
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz#000e2e25d8673cce49300517a3eda44c263e4201"
|
||||
|
@ -1176,13 +1164,6 @@
|
|||
dependencies:
|
||||
regenerator-runtime "^0.13.4"
|
||||
|
||||
"@babel/runtime@^7.12.0", "@babel/runtime@^7.13.10":
|
||||
version "7.17.9"
|
||||
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.9.tgz#d19fbf802d01a8cb6cf053a64e472d42c434ba72"
|
||||
integrity sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==
|
||||
dependencies:
|
||||
regenerator-runtime "^0.13.4"
|
||||
|
||||
"@babel/template@^7.10.4", "@babel/template@^7.15.4", "@babel/template@^7.3.3":
|
||||
version "7.15.4"
|
||||
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.15.4.tgz#51898d35dcf3faa670c4ee6afcfd517ee139f194"
|
||||
|
@ -1238,89 +1219,6 @@
|
|||
resolved "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-10.1.0.tgz#f0950bba18819512d42f7197e56c518aa491cf18"
|
||||
integrity sha512-ij4wRiunFfaJxjB0BdrYHIH8FxBJpOwNPhhAcunlmPdXudL1WQV1qoP9un6JsEBAgQH+7UXyyjh0g7jTxXK6tg==
|
||||
|
||||
"@emotion/babel-plugin@^11.7.1":
|
||||
version "11.7.2"
|
||||
resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.7.2.tgz#fec75f38a6ab5b304b0601c74e2a5e77c95e5fa0"
|
||||
integrity sha512-6mGSCWi9UzXut/ZAN6lGFu33wGR3SJisNl3c0tvlmb8XChH1b2SUvxvnOh7hvLpqyRdHHU9AiazV3Cwbk5SXKQ==
|
||||
dependencies:
|
||||
"@babel/helper-module-imports" "^7.12.13"
|
||||
"@babel/plugin-syntax-jsx" "^7.12.13"
|
||||
"@babel/runtime" "^7.13.10"
|
||||
"@emotion/hash" "^0.8.0"
|
||||
"@emotion/memoize" "^0.7.5"
|
||||
"@emotion/serialize" "^1.0.2"
|
||||
babel-plugin-macros "^2.6.1"
|
||||
convert-source-map "^1.5.0"
|
||||
escape-string-regexp "^4.0.0"
|
||||
find-root "^1.1.0"
|
||||
source-map "^0.5.7"
|
||||
stylis "4.0.13"
|
||||
|
||||
"@emotion/cache@^11.4.0", "@emotion/cache@^11.7.1":
|
||||
version "11.7.1"
|
||||
resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.7.1.tgz#08d080e396a42e0037848214e8aa7bf879065539"
|
||||
integrity sha512-r65Zy4Iljb8oyjtLeCuBH8Qjiy107dOYC6SJq7g7GV5UCQWMObY4SJDPGFjiiVpPrOJ2hmJOoBiYTC7hwx9E2A==
|
||||
dependencies:
|
||||
"@emotion/memoize" "^0.7.4"
|
||||
"@emotion/sheet" "^1.1.0"
|
||||
"@emotion/utils" "^1.0.0"
|
||||
"@emotion/weak-memoize" "^0.2.5"
|
||||
stylis "4.0.13"
|
||||
|
||||
"@emotion/hash@^0.8.0":
|
||||
version "0.8.0"
|
||||
resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413"
|
||||
integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==
|
||||
|
||||
"@emotion/memoize@^0.7.4", "@emotion/memoize@^0.7.5":
|
||||
version "0.7.5"
|
||||
resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.5.tgz#2c40f81449a4e554e9fc6396910ed4843ec2be50"
|
||||
integrity sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ==
|
||||
|
||||
"@emotion/react@^11.1.1":
|
||||
version "11.9.0"
|
||||
resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.9.0.tgz#b6d42b1db3bd7511e7a7c4151dc8bc82e14593b8"
|
||||
integrity sha512-lBVSF5d0ceKtfKCDQJveNAtkC7ayxpVlgOohLgXqRwqWr9bOf4TZAFFyIcNngnV6xK6X4x2ZeXq7vliHkoVkxQ==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.13.10"
|
||||
"@emotion/babel-plugin" "^11.7.1"
|
||||
"@emotion/cache" "^11.7.1"
|
||||
"@emotion/serialize" "^1.0.3"
|
||||
"@emotion/utils" "^1.1.0"
|
||||
"@emotion/weak-memoize" "^0.2.5"
|
||||
hoist-non-react-statics "^3.3.1"
|
||||
|
||||
"@emotion/serialize@^1.0.2", "@emotion/serialize@^1.0.3":
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.0.3.tgz#99e2060c26c6292469fb30db41f4690e1c8fea63"
|
||||
integrity sha512-2mSSvgLfyV3q+iVh3YWgNlUc2a9ZlDU7DjuP5MjK3AXRR0dYigCrP99aeFtaB2L/hjfEZdSThn5dsZ0ufqbvsA==
|
||||
dependencies:
|
||||
"@emotion/hash" "^0.8.0"
|
||||
"@emotion/memoize" "^0.7.4"
|
||||
"@emotion/unitless" "^0.7.5"
|
||||
"@emotion/utils" "^1.0.0"
|
||||
csstype "^3.0.2"
|
||||
|
||||
"@emotion/sheet@^1.1.0":
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.1.0.tgz#56d99c41f0a1cda2726a05aa6a20afd4c63e58d2"
|
||||
integrity sha512-u0AX4aSo25sMAygCuQTzS+HsImZFuS8llY8O7b9MDRzbJM0kVJlAz6KNDqcG7pOuQZJmj/8X/rAW+66kMnMW+g==
|
||||
|
||||
"@emotion/unitless@^0.7.5":
|
||||
version "0.7.5"
|
||||
resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed"
|
||||
integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==
|
||||
|
||||
"@emotion/utils@^1.0.0", "@emotion/utils@^1.1.0":
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.1.0.tgz#86b0b297f3f1a0f2bdb08eeac9a2f49afd40d0cf"
|
||||
integrity sha512-iRLa/Y4Rs5H/f2nimczYmS5kFJEbpiVvgN3XVfZ022IYhuNA1IRSHEizcof88LtCTXtl9S2Cxt32KgaXEu72JQ==
|
||||
|
||||
"@emotion/weak-memoize@^0.2.5":
|
||||
version "0.2.5"
|
||||
resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz#8eed982e2ee6f7f4e44c253e12962980791efd46"
|
||||
integrity sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==
|
||||
|
||||
"@eslint/eslintrc@^0.4.3":
|
||||
version "0.4.3"
|
||||
resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c"
|
||||
|
@ -2077,13 +1975,6 @@
|
|||
dependencies:
|
||||
"@types/react" "*"
|
||||
|
||||
"@types/react-transition-group@^4.4.0":
|
||||
version "4.4.4"
|
||||
resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.4.tgz#acd4cceaa2be6b757db61ed7b432e103242d163e"
|
||||
integrity sha512-7gAPz7anVK5xzbeQW9wFBDg7G++aPLAFY0QaSMOou9rJZpbuI58WAuJrgu+qR92l61grlnCUe7AFX8KGahAgug==
|
||||
dependencies:
|
||||
"@types/react" "*"
|
||||
|
||||
"@types/react-transition-group@^4.4.1":
|
||||
version "4.4.3"
|
||||
resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.3.tgz#b0994da0a7023d67dbb4a8910a62112bc00d5688"
|
||||
|
@ -2907,7 +2798,7 @@ babel-plugin-jest-hoist@^26.6.2:
|
|||
"@types/babel__core" "^7.0.0"
|
||||
"@types/babel__traverse" "^7.0.6"
|
||||
|
||||
babel-plugin-macros@2.8.0, babel-plugin-macros@^2.6.1:
|
||||
babel-plugin-macros@2.8.0:
|
||||
version "2.8.0"
|
||||
resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138"
|
||||
integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==
|
||||
|
@ -3779,7 +3670,7 @@ convert-source-map@^0.3.3:
|
|||
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-0.3.5.tgz#f1d802950af7dd2631a1febe0596550c86ab3190"
|
||||
integrity sha1-8dgClQr33SYxof6+BZZVDIarMZA=
|
||||
|
||||
convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0:
|
||||
convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0:
|
||||
version "1.8.0"
|
||||
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369"
|
||||
integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==
|
||||
|
@ -5320,11 +5211,6 @@ find-cache-dir@^3.3.1:
|
|||
make-dir "^3.0.2"
|
||||
pkg-dir "^4.1.0"
|
||||
|
||||
find-root@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4"
|
||||
integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==
|
||||
|
||||
find-up@4.1.0, find-up@^4.0.0, find-up@^4.1.0:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
|
||||
|
@ -5778,13 +5664,6 @@ hmac-drbg@^1.0.1:
|
|||
minimalistic-assert "^1.0.0"
|
||||
minimalistic-crypto-utils "^1.0.1"
|
||||
|
||||
hoist-non-react-statics@^3.3.1:
|
||||
version "3.3.2"
|
||||
resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45"
|
||||
integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==
|
||||
dependencies:
|
||||
react-is "^16.7.0"
|
||||
|
||||
hoopy@^0.1.4:
|
||||
version "0.1.4"
|
||||
resolved "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d"
|
||||
|
@ -7459,11 +7338,6 @@ media-typer@0.3.0:
|
|||
resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
|
||||
integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=
|
||||
|
||||
memoize-one@^5.0.0:
|
||||
version "5.2.1"
|
||||
resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.2.1.tgz#8337aa3c4335581839ec01c3d594090cebe8f00e"
|
||||
integrity sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==
|
||||
|
||||
memory-fs@^0.4.1:
|
||||
version "0.4.1"
|
||||
resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
|
||||
|
@ -9244,15 +9118,6 @@ prop-types-extra@^1.1.0:
|
|||
react-is "^16.3.2"
|
||||
warning "^4.0.0"
|
||||
|
||||
prop-types@^15.6.0:
|
||||
version "15.8.1"
|
||||
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
|
||||
integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
|
||||
dependencies:
|
||||
loose-envify "^1.4.0"
|
||||
object-assign "^4.1.1"
|
||||
react-is "^16.13.1"
|
||||
|
||||
prop-types@^15.6.2, prop-types@^15.7.2:
|
||||
version "15.7.2"
|
||||
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5"
|
||||
|
@ -9501,7 +9366,7 @@ react-error-overlay@^6.0.9:
|
|||
resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.9.tgz#3c743010c9359608c375ecd6bc76f35d93995b0a"
|
||||
integrity sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==
|
||||
|
||||
react-is@^16.13.1, react-is@^16.3.2, react-is@^16.7.0, react-is@^16.8.1:
|
||||
react-is@^16.3.2, react-is@^16.8.1:
|
||||
version "16.13.1"
|
||||
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
|
||||
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
|
||||
|
@ -9601,20 +9466,7 @@ react-scripts@4.0.3:
|
|||
optionalDependencies:
|
||||
fsevents "^2.1.3"
|
||||
|
||||
react-select@^5.2.2:
|
||||
version "5.2.2"
|
||||
resolved "https://registry.yarnpkg.com/react-select/-/react-select-5.2.2.tgz#3d5edf0a60f1276fd5f29f9f90a305f0a25a5189"
|
||||
integrity sha512-miGS2rT1XbFNjduMZT+V73xbJEeMzVkJOz727F6MeAr2hKE0uUSA8Ff7vD44H32x2PD3SRB6OXTY/L+fTV3z9w==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.12.0"
|
||||
"@emotion/cache" "^11.4.0"
|
||||
"@emotion/react" "^11.1.1"
|
||||
"@types/react-transition-group" "^4.4.0"
|
||||
memoize-one "^5.0.0"
|
||||
prop-types "^15.6.0"
|
||||
react-transition-group "^4.3.0"
|
||||
|
||||
react-transition-group@^4.3.0, react-transition-group@^4.4.1:
|
||||
react-transition-group@^4.4.1:
|
||||
version "4.4.2"
|
||||
resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.2.tgz#8b59a56f09ced7b55cbd53c36768b922890d5470"
|
||||
integrity sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg==
|
||||
|
@ -10474,7 +10326,7 @@ source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, sourc
|
|||
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
|
||||
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
|
||||
|
||||
source-map@^0.5.0, source-map@^0.5.6, source-map@^0.5.7:
|
||||
source-map@^0.5.0, source-map@^0.5.6:
|
||||
version "0.5.7"
|
||||
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
|
||||
integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
|
||||
|
@ -10800,11 +10652,6 @@ stylehacks@^4.0.0:
|
|||
postcss "^7.0.0"
|
||||
postcss-selector-parser "^3.0.0"
|
||||
|
||||
stylis@4.0.13:
|
||||
version "4.0.13"
|
||||
resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.0.13.tgz#f5db332e376d13cc84ecfe5dace9a2a51d954c91"
|
||||
integrity sha512-xGPXiFVl4YED9Jh7Euv2V220mriG9u4B2TA6Ybjc1catrstKD2PpIdU3U0RKpkVBC2EhmL/F0sPCr9vrFTNRag==
|
||||
|
||||
supports-color@^5.3.0:
|
||||
version "5.5.0"
|
||||
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
|
||||
|
|
Loading…
Reference in New Issue