fixed english participle generation and removed h elements from NP picker etc
This commit is contained in:
parent
540b9d91dd
commit
ba44f4704e
|
@ -1,12 +1,12 @@
|
||||||
{
|
{
|
||||||
"name": "pashto-inflector",
|
"name": "pashto-inflector",
|
||||||
"version": "5.7.17",
|
"version": "5.7.18",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "pashto-inflector",
|
"name": "pashto-inflector",
|
||||||
"version": "5.7.17",
|
"version": "5.7.18",
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "pashto-inflector",
|
"name": "pashto-inflector",
|
||||||
"version": "5.7.17",
|
"version": "5.7.18",
|
||||||
"author": "lingdocs.com",
|
"author": "lingdocs.com",
|
||||||
"description": "A Pashto inflection and verb conjugation engine, inculding React components for displaying Pashto text, inflections, and conjugations",
|
"description": "A Pashto inflection and verb conjugation engine, inculding React components for displaying Pashto text, inflections, and conjugations",
|
||||||
"homepage": "https://verbs.lingdocs.com",
|
"homepage": "https://verbs.lingdocs.com",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@lingdocs/ps-react",
|
"name": "@lingdocs/ps-react",
|
||||||
"version": "5.7.17",
|
"version": "5.7.18",
|
||||||
"description": "Pashto inflector library module with React components",
|
"description": "Pashto inflector library module with React components",
|
||||||
"main": "dist/components/library.js",
|
"main": "dist/components/library.js",
|
||||||
"module": "dist/components/library.js",
|
"module": "dist/components/library.js",
|
||||||
|
|
|
@ -35,9 +35,14 @@ function EntrySelect<E extends T.DictionaryEntry | T.VerbEntry>(props: {
|
||||||
isVerbSelect?: boolean,
|
isVerbSelect?: boolean,
|
||||||
opts: T.TextOptions,
|
opts: T.TextOptions,
|
||||||
style?: StyleHTMLAttributes<HTMLDivElement>,
|
style?: StyleHTMLAttributes<HTMLDivElement>,
|
||||||
|
placeholder?: string,
|
||||||
}) {
|
}) {
|
||||||
const divStyle = props.style || { width: "13rem" };
|
const divStyle = props.style || { width: "13rem" };
|
||||||
const placeholder = "entries" in props ? "Select…" : "Search Pashto";
|
const placeholder = "placeholder" in props
|
||||||
|
? props.placeholder
|
||||||
|
: "search" in props.entryFeeder
|
||||||
|
? "Search Pashto"
|
||||||
|
: "Select…";
|
||||||
function makeOption(e: E | T.DictionaryEntry) {
|
function makeOption(e: E | T.DictionaryEntry) {
|
||||||
if ("entry" in e) {
|
if ("entry" in e) {
|
||||||
return (props.isVerbSelect ? makeVerbSelectOption : makeSelectOption)(e, props.opts);
|
return (props.isVerbSelect ? makeVerbSelectOption : makeSelectOption)(e, props.opts);
|
||||||
|
|
|
@ -15,7 +15,7 @@ function AdverbPicker(props: {
|
||||||
props.onChange(makeAdverbSelection(entry));
|
props.onChange(makeAdverbSelection(entry));
|
||||||
}
|
}
|
||||||
return <div style={{ maxWidth: "225px", minWidth: "125px" }}>
|
return <div style={{ maxWidth: "225px", minWidth: "125px" }}>
|
||||||
<h6>Adverb</h6>
|
<div className="h6">Adverb</div>
|
||||||
<div>
|
<div>
|
||||||
<EntrySelect
|
<EntrySelect
|
||||||
value={props.adjective?.entry}
|
value={props.adjective?.entry}
|
||||||
|
|
|
@ -15,7 +15,7 @@ function LocativeAdverbPicker(props: {
|
||||||
props.onChange(makeLocativeAdverbSelection(entry));
|
props.onChange(makeLocativeAdverbSelection(entry));
|
||||||
}
|
}
|
||||||
return <div style={{ maxWidth: "225px", minWidth: "125px" }}>
|
return <div style={{ maxWidth: "225px", minWidth: "125px" }}>
|
||||||
<h6>Locative Adverb</h6>
|
<div className="h6">Locative Adverb</div>
|
||||||
<div>
|
<div>
|
||||||
<EntrySelect
|
<EntrySelect
|
||||||
value={props.adjective?.entry}
|
value={props.adjective?.entry}
|
||||||
|
|
|
@ -77,7 +77,7 @@ function AdjectiveManager(props: {
|
||||||
<div>Adjective</div>
|
<div>Adjective</div>
|
||||||
<div className="d-flex flex-row align-items-baseline">
|
<div className="d-flex flex-row align-items-baseline">
|
||||||
{!!props.adjectives.length && !adding && <div>
|
{!!props.adjectives.length && !adding && <div>
|
||||||
<h6 className="clickable" onClick={() => setAdding(true)}>+ Adj.</h6>
|
<div className="clickable h6" onClick={() => setAdding(true)}>+ Adj.</div>
|
||||||
</div>}
|
</div>}
|
||||||
<div onClick={deleteAdj(i)} className="ml-4">
|
<div onClick={deleteAdj(i)} className="ml-4">
|
||||||
<div className="fas fa-trash" />
|
<div className="fas fa-trash" />
|
||||||
|
@ -94,9 +94,9 @@ function AdjectiveManager(props: {
|
||||||
onChange={handleChange(i)}
|
onChange={handleChange(i)}
|
||||||
/>
|
/>
|
||||||
</div>)}
|
</div>)}
|
||||||
{!adding && !props.adjectives.length && <h6 className="clickable" style={{ float: "right" }}>
|
{!adding && !props.adjectives.length && <div className="h6 clickable" style={{ float: "right" }}>
|
||||||
<div className="clickable" onClick={() => setAdding(true)}>+ Adj.</div>
|
<div className="clickable" onClick={() => setAdding(true)}>+ Adj.</div>
|
||||||
</h6>}
|
</div>}
|
||||||
{/* {!addingDemonstrative && !props.demonstrative && <h6 className="clickable mr-2" style={{ float: "right" }}>
|
{/* {!addingDemonstrative && !props.demonstrative && <h6 className="clickable mr-2" style={{ float: "right" }}>
|
||||||
<div className="clickable" onClick={() => setAddingDemonstrative(true)}>+ Demons.</div>
|
<div className="clickable" onClick={() => setAddingDemonstrative(true)}>+ Demons.</div>
|
||||||
</h6>} */}
|
</h6>} */}
|
||||||
|
|
|
@ -45,7 +45,7 @@ function AdjectivePicker(props: {
|
||||||
/>}
|
/>}
|
||||||
<div className="d-flex flex-row justify-content-between align-items-baseline">
|
<div className="d-flex flex-row justify-content-between align-items-baseline">
|
||||||
{!props.noTitle && <div>
|
{!props.noTitle && <div>
|
||||||
<h6>Adjective</h6>
|
<div className="h6">Adjective</div>
|
||||||
</div>}
|
</div>}
|
||||||
{/* not ready for sandwiches on adjectives */}
|
{/* not ready for sandwiches on adjectives */}
|
||||||
{/* {(!addingSandwich && props.adjective && !props.adjective?.sandwich)
|
{/* {(!addingSandwich && props.adjective && !props.adjective?.sandwich)
|
||||||
|
|
|
@ -117,7 +117,7 @@ function NPNounPicker(props: {
|
||||||
onChange={handelAdjectivesUpdate}
|
onChange={handelAdjectivesUpdate}
|
||||||
onDemonstrativeChange={handleDemonstrativeUpdate}
|
onDemonstrativeChange={handleDemonstrativeUpdate}
|
||||||
/>}
|
/>}
|
||||||
<h6>Noun</h6>
|
<div className="h6">Noun</div>
|
||||||
{!(props.noun && props.noun.dynamicComplement) ? <div>
|
{!(props.noun && props.noun.dynamicComplement) ? <div>
|
||||||
<EntrySelect
|
<EntrySelect
|
||||||
value={props.noun?.entry}
|
value={props.noun?.entry}
|
||||||
|
|
|
@ -16,7 +16,7 @@ function NPParticiplePicker(props: {
|
||||||
props.onChange(makeParticipleSelection(entry));
|
props.onChange(makeParticipleSelection(entry));
|
||||||
}
|
}
|
||||||
return <div style={{ maxWidth: "225px" }}>
|
return <div style={{ maxWidth: "225px" }}>
|
||||||
<h6>Participle</h6>
|
<div className="h6">Participle</div>
|
||||||
<EntrySelect
|
<EntrySelect
|
||||||
value={props.participle?.verb}
|
value={props.participle?.verb}
|
||||||
entryFeeder={props.entryFeeder}
|
entryFeeder={props.entryFeeder}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@lingdocs/inflect",
|
"name": "@lingdocs/inflect",
|
||||||
"version": "5.7.17",
|
"version": "5.7.18",
|
||||||
"description": "Pashto inflector library",
|
"description": "Pashto inflector library",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"types": "dist/lib/library.d.ts",
|
"types": "dist/lib/library.d.ts",
|
||||||
|
|
|
@ -70,6 +70,9 @@ export function getEnglishParticiple(entry: T.DictionaryEntry): string {
|
||||||
throw new Error("no english information for participle");
|
throw new Error("no english information for participle");
|
||||||
}
|
}
|
||||||
const ec = parseEc(entry.ec);
|
const ec = parseEc(entry.ec);
|
||||||
|
if (entry.ep && ec[0] === "am") {
|
||||||
|
return `to be/being ${entry.ep}`;
|
||||||
|
}
|
||||||
const participle = `${ec[2]} / to ${ec[0]}`;
|
const participle = `${ec[2]} / to ${ec[0]}`;
|
||||||
return (entry.ep)
|
return (entry.ep)
|
||||||
? `${participle} ${entry.ep}`
|
? `${participle} ${entry.ep}`
|
||||||
|
|
|
@ -656,6 +656,7 @@ function getMatrixBlock<U>(f: {
|
||||||
femSing: T.SingleOrLengthOpts<U>;
|
femSing: T.SingleOrLengthOpts<U>;
|
||||||
femPlur: T.SingleOrLengthOpts<U>;
|
femPlur: T.SingleOrLengthOpts<U>;
|
||||||
} | T.SingleOrLengthOpts<U>, objectPerson: T.Person | undefined, kingPerson: T.Person): T.SingleOrLengthOpts<U> {
|
} | T.SingleOrLengthOpts<U>, objectPerson: T.Person | undefined, kingPerson: T.Person): T.SingleOrLengthOpts<U> {
|
||||||
|
// @ts-ignore
|
||||||
if (!("mascSing" in f)) {
|
if (!("mascSing" in f)) {
|
||||||
return f;
|
return f;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue