yomitan-core 0.1.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/README.md +6 -2
  2. package/dist/anki.d.cts +1 -1
  3. package/dist/anki.d.cts.map +1 -1
  4. package/dist/anki.js +1 -1
  5. package/dist/database.d.cts +3 -3
  6. package/dist/{dictionary-D7l-qFt1.d.cts → dictionary-6Gj8AfGC.d.cts} +2 -2
  7. package/dist/{dictionary-D7l-qFt1.d.cts.map → dictionary-6Gj8AfGC.d.cts.map} +1 -1
  8. package/dist/{dictionary-database-DsOi04Sg.d.cts → dictionary-database-B48KP_tM.d.cts} +2 -2
  9. package/dist/{dictionary-database-DsOi04Sg.d.cts.map → dictionary-database-B48KP_tM.d.cts.map} +1 -1
  10. package/dist/{dictionary-importer-Da3AuTZw.d.cts → dictionary-importer-DX0qYZJn.d.cts} +3 -3
  11. package/dist/{dictionary-importer-Da3AuTZw.d.cts.map → dictionary-importer-DX0qYZJn.d.cts.map} +1 -1
  12. package/dist/{display-generator-BGVWiI0t.js → display-generator-D3Nd5DTh.js} +3 -3
  13. package/dist/{display-generator-BGVWiI0t.js.map → display-generator-D3Nd5DTh.js.map} +1 -1
  14. package/dist/{display-generator-BxZ7mBjP.js → display-generator-D7OgixYe.js} +3 -3
  15. package/dist/{furigana-5HK97CY8.js → furigana-CuKqIs9P.js} +1 -1
  16. package/dist/{furigana-B3-0y231.js → furigana-DZSKy1jw.js} +2 -2
  17. package/dist/{furigana-B3-0y231.js.map → furigana-DZSKy1jw.js.map} +1 -1
  18. package/dist/import.d.cts +3 -3
  19. package/dist/index.cjs +1 -1
  20. package/dist/index.d.cts +5 -5
  21. package/dist/index.js +4 -4
  22. package/dist/language.d.cts +2 -2
  23. package/dist/language.d.cts.map +1 -1
  24. package/dist/language.js +1 -1
  25. package/dist/lookup.cjs +1 -1
  26. package/dist/lookup.d.cts +10 -10
  27. package/dist/lookup.d.cts.map +1 -1
  28. package/dist/lookup.d.ts +6 -6
  29. package/dist/lookup.d.ts.map +1 -1
  30. package/dist/lookup.js +2 -2
  31. package/dist/{multi-language-transformer-Ul9mbRce.d.cts → multi-language-transformer-H0qWORsK.d.cts} +2 -2
  32. package/dist/{multi-language-transformer-Ul9mbRce.d.cts.map → multi-language-transformer-H0qWORsK.d.cts.map} +1 -1
  33. package/dist/{pronunciation-generator-CBYdXYou.js → pronunciation-generator-BU9ofDOx.js} +1 -1
  34. package/dist/{pronunciation-generator-BtBc4q_V.js → pronunciation-generator-Dpr66Ll1.js} +2 -2
  35. package/dist/{pronunciation-generator-BtBc4q_V.js.map → pronunciation-generator-Dpr66Ll1.js.map} +1 -1
  36. package/dist/render.d.cts +2 -2
  37. package/dist/render.js +3 -3
  38. package/dist/sentence-parser-B6zCDYdy.cjs +188 -0
  39. package/dist/sentence-parser-B6zCDYdy.cjs.map +1 -0
  40. package/dist/sentence-parser-BRrwr6WT.js +182 -0
  41. package/dist/sentence-parser-BRrwr6WT.js.map +1 -0
  42. package/dist/sentence-parser-BSitBLY6.cjs +5 -0
  43. package/dist/sentence-parser-cfETJBs1.js +5 -0
  44. package/dist/{translator-CcA-s-W4.d.cts → translator-D1mYiFaC.d.cts} +3 -3
  45. package/dist/{translator-CcA-s-W4.d.cts.map → translator-D1mYiFaC.d.cts.map} +1 -1
  46. package/package.json +1 -1
  47. package/dist/sentence-parser-BPAJNzqW.js +0 -126
  48. package/dist/sentence-parser-BPAJNzqW.js.map +0 -1
  49. package/dist/sentence-parser-BVIOI64h.cjs +0 -132
  50. package/dist/sentence-parser-BVIOI64h.cjs.map +0 -1
  51. package/dist/sentence-parser-BoHO3cHn.js +0 -5
  52. package/dist/sentence-parser-DQVLSW0z.cjs +0 -5
package/README.md CHANGED
@@ -365,9 +365,13 @@ This repo uses semantic-release on pushes to `main`/`master` to:
365
365
  - publish to npm
366
366
  - create a GitHub release and tag
367
367
 
368
- Set the following repository secret in GitHub Actions:
368
+ This workflow uses npm trusted publishing via OIDC (no `NPM_TOKEN` secret).
369
+ Configure a trusted publisher for this GitHub repository in npm settings.
369
370
 
370
- - `NPM_TOKEN` (npm automation token with publish access)
371
+ Requirements:
372
+
373
+ - GitHub Actions workflow permission `id-token: write`
374
+ - Node.js `22.14.0+` in the release job (npm CLI `11.5.1+`)
371
375
 
372
376
  Use Conventional Commits so version bumps are calculated correctly:
373
377
 
package/dist/anki.d.cts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { ApiReflectResult, CanAddNotesDetail, CardId, CardInfo, Note, NoteId, NoteInfo, SerializableObject } from "./core-BUpclilG.cjs";
2
- import { DictionaryEntry, InflectionRuleChainCandidate, KanjiDictionaryEntry, Tag$1 as Tag, TermDictionaryEntry, TermGlossaryContent } from "./dictionary-D7l-qFt1.cjs";
2
+ import { DictionaryEntry, InflectionRuleChainCandidate, KanjiDictionaryEntry, Tag, TermDictionaryEntry, TermGlossaryContent } from "./dictionary-6Gj8AfGC.cjs";
3
3
 
4
4
  //#region src/anki/anki-connect.d.ts
5
5
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"anki.d.cts","names":[],"sources":["../src/anki/anki-connect.ts","../src/anki/anki-note-builder.ts","../src/anki/anki-note-data-creator.ts","../src/anki/anki-template-renderer.ts"],"sourcesContent":null,"mappings":"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"}
1
+ {"version":3,"file":"anki.d.cts","names":[],"sources":["../src/anki/anki-connect.ts","../src/anki/anki-note-builder.ts","../src/anki/anki-note-data-creator.ts","../src/anki/anki-template-renderer.ts"],"sourcesContent":null,"mappings":"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"}
package/dist/anki.js CHANGED
@@ -3,7 +3,7 @@ import "./cjk-util-DubXBGDG.js";
3
3
  import { YomitanError } from "./errors-DuuDSO5N.js";
4
4
  import { getDisambiguations, getGroupedPronunciations, getPronunciationsOfType, getTermFrequency, groupTermTags, isNonNounVerbOrAdjective } from "./dictionary-data-util-CfOLfEDE.js";
5
5
  import "./json-DGd-cunA.js";
6
- import { distributeFurigana } from "./furigana-B3-0y231.js";
6
+ import { distributeFurigana } from "./furigana-DZSKy1jw.js";
7
7
  import { AnkiConnect, cloneFieldMarkerPattern, getRootDeckName } from "./anki-connect-DbrQHphS.js";
8
8
 
9
9
  //#region src/anki/anki-note-builder.ts
@@ -1,4 +1,4 @@
1
- import "./dictionary-D7l-qFt1.cjs";
2
- import "./dictionary-importer-Da3AuTZw.cjs";
3
- import { DictionaryDB, OBJECT_STORE_NAMES, YomitanDatabase } from "./dictionary-database-DsOi04Sg.cjs";
1
+ import "./dictionary-6Gj8AfGC.cjs";
2
+ import "./dictionary-importer-DX0qYZJn.cjs";
3
+ import { DictionaryDB, OBJECT_STORE_NAMES, YomitanDatabase } from "./dictionary-database-B48KP_tM.cjs";
4
4
  export { DictionaryDB, OBJECT_STORE_NAMES, YomitanDatabase };
@@ -312,5 +312,5 @@ type TermSource = {
312
312
  //#endregion
313
313
  //# sourceMappingURL=dictionary.d.ts.map
314
314
 
315
- export { Content, Data, DictionaryEntry, DictionaryEntryType, Element, FontStyle, FontWeight, GenericFrequencyData, Image, ImageAppearance, ImageElement, ImageElementBase, ImageRendering, InflectionRule, InflectionRuleChain, InflectionRuleChainCandidate, InflectionSource, KanjiDictionaryEntry, KanjiFrequency, KanjiStat, KanjiStatGroups, LineBreak, LinkElement, PhoneticTranscription, PitchAccent, Pronunciation, PronunciationGeneric, PronunciationType, SizeUnits, StructuredContentStyle, StyledElement, TableElement, Tag as Tag$1, TermDefinition, TermDictionaryEntry, TermFrequency, TermGlossary, TermGlossaryContent, TermGlossaryImage, TermHeadword, TermMetaFrequencyDataWithReading, TermMetaPhoneticData, TermMetaPitchData, TermPronunciation, TermSource, TermSourceMatchSource, TermSourceMatchType, TextAlign, TextDecorationLine, TextDecorationLineOrNone, TextDecorationStyle, TextProcessorRuleChainCandidate, UnstyledElement, VerticalAlign, WordBreak };
316
- //# sourceMappingURL=dictionary-D7l-qFt1.d.cts.map
315
+ export { Content, Data, DictionaryEntry, DictionaryEntryType, Element, FontStyle, FontWeight, GenericFrequencyData, Image, ImageAppearance, ImageElement, ImageElementBase, ImageRendering, InflectionRule, InflectionRuleChain, InflectionRuleChainCandidate, InflectionSource, KanjiDictionaryEntry, KanjiFrequency, KanjiStat, KanjiStatGroups, LineBreak, LinkElement, PhoneticTranscription, PitchAccent, Pronunciation, PronunciationGeneric, PronunciationType, SizeUnits, StructuredContentStyle, StyledElement, TableElement, Tag, TermDefinition, TermDictionaryEntry, TermFrequency, TermGlossary, TermGlossaryContent, TermGlossaryImage, TermHeadword, TermMetaFrequencyDataWithReading, TermMetaPhoneticData, TermMetaPitchData, TermPronunciation, TermSource, TermSourceMatchSource, TermSourceMatchType, TextAlign, TextDecorationLine, TextDecorationLineOrNone, TextDecorationStyle, TextProcessorRuleChainCandidate, UnstyledElement, VerticalAlign, WordBreak };
316
+ //# sourceMappingURL=dictionary-6Gj8AfGC.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dictionary-D7l-qFt1.d.cts","names":[],"sources":["../src/types/structured-content.ts","../src/types/dictionary-data.ts","../src/types/dictionary.ts"],"sourcesContent":null,"mappings":"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"}
1
+ {"version":3,"file":"dictionary-6Gj8AfGC.d.cts","names":[],"sources":["../src/types/structured-content.ts","../src/types/dictionary-data.ts","../src/types/dictionary.ts"],"sourcesContent":null,"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { DeleteDictionaryProgressCallback, DictionaryAndQueryRequest, DictionaryCounts, DictionarySet, KanjiEntry, KanjiMeta, MatchType, Media, MediaRequest, ObjectStoreName, Summary, Tag, TermEntry, TermExactRequest, TermMeta } from "./dictionary-importer-Da3AuTZw.cjs";
1
+ import { DeleteDictionaryProgressCallback, DictionaryAndQueryRequest, DictionaryCounts, DictionarySet, KanjiEntry, KanjiMeta, MatchType, Media, MediaRequest, ObjectStoreName, Summary, Tag$1 as Tag, TermEntry, TermExactRequest, TermMeta } from "./dictionary-importer-DX0qYZJn.cjs";
2
2
  import Dexie from "dexie";
3
3
 
4
4
  //#region src/database/schema.d.ts
@@ -55,4 +55,4 @@ declare class DictionaryDB {
55
55
  //# sourceMappingURL=dictionary-database.d.ts.map
56
56
 
57
57
  export { DictionaryDB, OBJECT_STORE_NAMES, YomitanDatabase };
58
- //# sourceMappingURL=dictionary-database-DsOi04Sg.d.cts.map
58
+ //# sourceMappingURL=dictionary-database-B48KP_tM.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dictionary-database-DsOi04Sg.d.cts","names":[],"sources":["../src/database/schema.ts","../src/database/dictionary-database.ts"],"sourcesContent":null,"mappings":";;;;cAGa,eAAA,SAAwB,KAAA;SACzB,KAAA,CAAM;EADL,QAAA,EAEE,KAAA,CAAM,KAFQ;EAAA,KAAA,EAGjB,KAAA,CAAM,KAHW;EAAA,SACX,EAGF,KAAA,CAAM,KAHJ;EAAK,OACR,EAGD,KAAA,CAAM,KAHC;EAAK,YACR,EAGC,KAAA,CAAM,KAHP;EAAK,KACP,EAGJ,KAAA,CAAM,KAHI;EAAK,WACP,CAAA,IAAA,CAAA,EAAA,MAAA;;AAER,cAmDC,kBAnDK,EAmDe,eAnDf,EAAA;;;;;cCJL,YAAA;EDHA,QAAA,GAAA;EAAgB,QAAA,OAAA;EAAA,WACX,CAAA,MAAA,CAAA,EAAA,MAAA;EAAK,IACR,CAAA,CAAA,ECUG,ODVG,CAAA,IAAA,CAAA;EAAK,KACd,CAAA,CAAA,EAAM,IAAA;EAAK,IACP,MAAM,CAAA,CAAA,EAAA,OAAA;EAAK,IACb,KAAM,CAAA,CAAA,ECqBH,eDrBG;EAAK,KACN,CAAA,CAAA,ECwBA,ODxBM,CAAA,OAAA,CAAA;EAAK,gBACZ,CAAA,cAAA,EAAA,MAAA,EAAA,UAAA,CAAA,ECuBQ,gCDvBR,CAAA,ECyCX,ODzCW,CAAA,IAAA,CAAA;EAAK,aAPc,CAAA,QAAA,EAAA,MAAA,EAAA,EAAA,YAAA,ECgDvB,aDhDuB,EAAA,SAAA,ECyFiB,SDzFjB,CAAA,EC2F9B,OD3F8B,CC0FU,SD1FV,EAAA,CAAA;EAAK,kBAAA,CAAA,QAAA,EC2F5B,gBD3F4B,EAAA,EAAA,YAAA,ECoJW,aDpJX,CAAA,ECsJnC,ODtJmC,CCqJY,SDrJZ,EAAA,CAAA;EA0D7B,uBAQZ,CAAA,KAAA,ECoFa,yBD5FkC,EAAA,CAAA,ECoHzC,ODpHyC,CCmHW,SDnHX,EAAA,CAAA;qDCoHlC,gBAyBP,QAD+C;mDACxC,gBAyBP,QAD+C;uDACxC,gBAyBP,QAD+C;EArPzC,eAAY,CAAA,KAAA,EAsPX,yBAtPW,EAAA,CAAA,EAoRlB,OApRkB,CAAA,CAmRkC,GAnRlC,GAAA,SAAA,CAAA,EAAA,CAAA;EAAA,eAAA,CAAA,IAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAoSoC,OApSpC,CAoRX,GApRW,GAAA,SAAA,CAAA;EAAA,QASP,CAAA,KAAA,EA2RkD,YA3RlD,EAAA,CAAA,EAmS4C,OAnS5C,CAmSuC,KAnSvC,EAAA,CAAA;EAAO,iBAcR,CAAA,CAAA,EAmTc,OAnTd,CAqRoD,OArRpD,EAAA,CAAA;EAAe,mBAIb,CAAA,eAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,OAAA,CAAA,EAsTZ,OAtTY,CA+SmB,gBA/SnB,CAAA;EAAO,gBAAA,CAAA,KAAA,EAAA,MAAA,CAAA,EA0ViB,OA1VjB,CAAA,OAAA,CAAA;EAiB8C,OACjE,CAAA,eAAA,EAwU2C,eAxU3C,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,MAAA,EAAA,KAAA,EAAA,MAAA,CAAA,EAkVA,OAlVA,CAAA,IAAA,CAAA;EAAO,aAAA,CAAA,eAAA,EAkVA,eAlVA,EAAA,IAAA,EAAA,OAAA,CAAA,EA+V+E,OA/V/E,CAAA,MAAA,CAAA;EAyCwC,UAAA,CAAA,eAAA,EAsT8C,eAtT9C,EAAA,KAAA,EAAA;IACP,UAAA,EAAA,MAAA;IACxC,IAAA,EAAA,OAAA;EAAO,CAAA,EAAA,EAAA,KAAA,EAAA,MAAA,EAAA,KAAA,EAAA,MAAA,CAAA,EA8TP,OA9TO,CAAA,IAAA,CAAA;EAyDuC,QAAA,WAAA;EACC,QAAA,eAAA;EACX,QAApC,YAAA;EAAO,QAAA,WAAA"}
1
+ {"version":3,"file":"dictionary-database-B48KP_tM.d.cts","names":[],"sources":["../src/database/schema.ts","../src/database/dictionary-database.ts"],"sourcesContent":null,"mappings":";;;;cAGa,eAAA,SAAwB,KAAA;SACzB,KAAA,CAAM;EADL,QAAA,EAEE,KAAA,CAAM,KAFQ;EAAA,KAAA,EAGjB,KAAA,CAAM,KAHW;EAAA,SACX,EAGF,KAAA,CAAM,KAHJ;EAAK,OACR,EAGD,KAAA,CAAM,KAHC;EAAK,YACR,EAGC,KAAA,CAAM,KAHP;EAAK,KACP,EAGJ,KAAA,CAAM,KAHI;EAAK,WACP,CAAA,IAAA,CAAA,EAAA,MAAA;;AAER,cAmDC,kBAnDK,EAmDe,eAnDf,EAAA;;;;;cCJL,YAAA;EDHA,QAAA,GAAA;EAAgB,QAAA,OAAA;EAAA,WACX,CAAA,MAAA,CAAA,EAAA,MAAA;EAAK,IACR,CAAA,CAAA,ECUG,ODVG,CAAA,IAAA,CAAA;EAAK,KACd,CAAA,CAAA,EAAM,IAAA;EAAK,IACP,MAAM,CAAA,CAAA,EAAA,OAAA;EAAK,IACb,KAAM,CAAA,CAAA,ECqBH,eDrBG;EAAK,KACN,CAAA,CAAA,ECwBA,ODxBM,CAAA,OAAA,CAAA;EAAK,gBACZ,CAAA,cAAA,EAAA,MAAA,EAAA,UAAA,CAAA,ECuBQ,gCDvBR,CAAA,ECyCX,ODzCW,CAAA,IAAA,CAAA;EAAK,aAPc,CAAA,QAAA,EAAA,MAAA,EAAA,EAAA,YAAA,ECgDvB,aDhDuB,EAAA,SAAA,ECyFiB,SDzFjB,CAAA,EC2F9B,OD3F8B,CC0FU,SD1FV,EAAA,CAAA;EAAK,kBAAA,CAAA,QAAA,EC2F5B,gBD3F4B,EAAA,EAAA,YAAA,ECoJW,aDpJX,CAAA,ECsJnC,ODtJmC,CCqJY,SDrJZ,EAAA,CAAA;EA0D7B,uBAQZ,CAAA,KAAA,ECoFa,yBD5FkC,EAAA,CAAA,ECoHzC,ODpHyC,CCmHW,SDnHX,EAAA,CAAA;qDCoHlC,gBAyBP,QAD+C;mDACxC,gBAyBP,QAD+C;uDACxC,gBAyBP,QAD+C;EArPzC,eAAY,CAAA,KAAA,EAsPX,yBAtPW,EAAA,CAAA,EAoRlB,OApRkB,CAAA,CAmRkC,GAnRlC,GAAA,SAAA,CAAA,EAAA,CAAA;EAAA,eAAA,CAAA,IAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAoSoC,OApSpC,CAoRX,GApRW,GAAA,SAAA,CAAA;EAAA,QASP,CAAA,KAAA,EA2RkD,YA3RlD,EAAA,CAAA,EAmS4C,OAnS5C,CAmSuC,KAnSvC,EAAA,CAAA;EAAO,iBAcR,CAAA,CAAA,EAmTc,OAnTd,CAqRoD,OArRpD,EAAA,CAAA;EAAe,mBAIb,CAAA,eAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,OAAA,CAAA,EAsTZ,OAtTY,CA+SmB,gBA/SnB,CAAA;EAAO,gBAAA,CAAA,KAAA,EAAA,MAAA,CAAA,EA0ViB,OA1VjB,CAAA,OAAA,CAAA;EAiB8C,OACjE,CAAA,eAAA,EAwU2C,eAxU3C,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,MAAA,EAAA,KAAA,EAAA,MAAA,CAAA,EAkVA,OAlVA,CAAA,IAAA,CAAA;EAAO,aAAA,CAAA,eAAA,EAkVA,eAlVA,EAAA,IAAA,EAAA,OAAA,CAAA,EA+V+E,OA/V/E,CAAA,MAAA,CAAA;EAyCwC,UAAA,CAAA,eAAA,EAsT8C,eAtT9C,EAAA,KAAA,EAAA;IACP,UAAA,EAAA,MAAA;IACxC,IAAA,EAAA,OAAA;EAAO,CAAA,EAAA,EAAA,KAAA,EAAA,MAAA,EAAA,KAAA,EAAA,MAAA,CAAA,EA8TP,OA9TO,CAAA,IAAA,CAAA;EAyDuC,QAAA,WAAA;EACC,QAAA,eAAA;EACX,QAApC,YAAA;EAAO,QAAA,WAAA"}
@@ -1,4 +1,4 @@
1
- import { GenericFrequencyData, ImageElement, TermGlossary, TermGlossaryImage, TermMetaFrequencyDataWithReading, TermMetaPhoneticData, TermMetaPitchData, TermSourceMatchSource, TermSourceMatchType } from "./dictionary-D7l-qFt1.cjs";
1
+ import { GenericFrequencyData, ImageElement, TermGlossary, TermGlossaryImage, TermMetaFrequencyDataWithReading, TermMetaPhoneticData, TermMetaPitchData, TermSourceMatchSource, TermSourceMatchType } from "./dictionary-6Gj8AfGC.cjs";
2
2
  import * as ajv0 from "ajv";
3
3
  import * as ajv1 from "ajv";
4
4
  import * as ajv2 from "ajv";
@@ -233,5 +233,5 @@ type CompiledSchemaNameArray = [termBank: CompiledSchemaName, termMetaBank: Comp
233
233
  //#endregion
234
234
  //# sourceMappingURL=dictionary-importer.d.ts.map
235
235
 
236
- export { ArchiveFileMap, CompiledSchemaName, CompiledSchemaNameArray, CompiledSchemaValidators, DeleteDictionaryProgressCallback, DictionaryAndQueryRequest, DictionaryCounts, DictionarySet, ImageImportRequirement, ImportDetails, ImportRequirement, ImportRequirementContext, ImportResult, ImportStep, ImportSteps, KanjiEntry, KanjiMeta, MatchType, Media, MediaRequest, ObjectStoreName, OnProgressCallback, ProgressData, QueryDetails, QueryResult, StructuredContentImageImportRequirement, Summary, SummaryCounts, SummaryDetails, SummaryItemCount, SummaryMetaCount, Tag, TermEntry, TermExactRequest, TermMeta };
237
- //# sourceMappingURL=dictionary-importer-Da3AuTZw.d.cts.map
236
+ export { ArchiveFileMap, CompiledSchemaName, CompiledSchemaNameArray, CompiledSchemaValidators, DeleteDictionaryProgressCallback, DictionaryAndQueryRequest, DictionaryCounts, DictionarySet, ImageImportRequirement, ImportDetails, ImportRequirement, ImportRequirementContext, ImportResult, ImportStep, ImportSteps, KanjiEntry, KanjiMeta, MatchType, Media, MediaRequest, ObjectStoreName, OnProgressCallback, ProgressData, QueryDetails, QueryResult, StructuredContentImageImportRequirement, Summary, SummaryCounts, SummaryDetails, SummaryItemCount, SummaryMetaCount, Tag as Tag$1, TermEntry, TermExactRequest, TermMeta };
237
+ //# sourceMappingURL=dictionary-importer-DX0qYZJn.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dictionary-importer-Da3AuTZw.d.cts","names":[],"sources":["../src/types/dictionary-database.ts","../src/types/dictionary-importer.ts"],"sourcesContent":null,"mappings":"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"}
1
+ {"version":3,"file":"dictionary-importer-DX0qYZJn.d.cts","names":[],"sources":["../src/types/dictionary-database.ts","../src/types/dictionary-importer.ts"],"sourcesContent":null,"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { getDisambiguations, getGroupedPronunciations, getTermFrequency, groupKanjiFrequencies, groupTermFrequencies, groupTermTags, isNonNounVerbOrAdjective } from "./dictionary-data-util-CfOLfEDE.js";
2
- import { distributeFurigana } from "./furigana-B3-0y231.js";
2
+ import { distributeFurigana } from "./furigana-DZSKy1jw.js";
3
3
  import { getLanguageFromText } from "./text-utilities-B7PIythe.js";
4
- import { PronunciationGenerator, getKanaMorae, getPitchCategory, isCodePointKanji } from "./pronunciation-generator-BtBc4q_V.js";
4
+ import { PronunciationGenerator, getKanaMorae$1 as getKanaMorae, getPitchCategory$1 as getPitchCategory, isCodePointKanji$1 as isCodePointKanji } from "./pronunciation-generator-Dpr66Ll1.js";
5
5
  import { StructuredContentGenerator } from "./structured-content-generator-CLnybumI.js";
6
6
 
7
7
  //#region src/render/html-template-collection.ts
@@ -743,4 +743,4 @@ var DisplayGenerator = class {
743
743
 
744
744
  //#endregion
745
745
  export { DisplayGenerator, HtmlTemplateCollection };
746
- //# sourceMappingURL=display-generator-BGVWiI0t.js.map
746
+ //# sourceMappingURL=display-generator-D3Nd5DTh.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"display-generator-BGVWiI0t.js","names":["doc: Document","html: string","source: Document","name: string","template: HTMLTemplateElement","removeNodes: Node[]","doc: Document","contentManager: ContentManager","templateHtml: string","language: string","dictionaryEntry: Dictionary.TermDictionaryEntry","dictionaryInfo: DictionaryImporter.Summary[]","dictionaryContentArray: string[]","dictionaryEntry: Dictionary.KanjiDictionaryEntry","name: string","headword: Dictionary.TermHeadword","headwordIndex: number","pronunciations: Dictionary.TermPronunciation[]","inflectionRuleChain: Dictionary.InflectionRuleChainCandidate","source: Dictionary.InflectionSource","inflection: Dictionary.InflectionRule","definition: Dictionary.TermDefinition","dictionaryTag: Dictionary.Tag","headwords: Dictionary.TermHeadword[]","uniqueTerms: Set<string>","uniqueReadings: Set<string>","entry: DictionaryData.TermGlossaryContent","dictionary: string","text: string","data: DictionaryData.TermGlossaryImage","content: StructuredContent.Content","disambiguation: string","character: string","reading: string","details: Dictionary.KanjiStat[]","details: Dictionary.KanjiStat","tag: Dictionary.Tag","tagInfo: DictionaryDataUtil.TagGroup","totalHeadwordCount: number","category: string","details: DictionaryDataUtil.DictionaryGroupedPronunciations","details: DictionaryDataUtil.GroupedPronunciation","pronunciation: Dictionary.PhoneticTranscription","pitchAccent: Dictionary.PitchAccent","container: HTMLElement","exclusiveTerms: string[]","exclusiveReadings: string[]","details:\n | DictionaryDataUtil.DictionaryFrequency<DictionaryDataUtil.TermFrequency>\n | DictionaryDataUtil.DictionaryFrequency<DictionaryDataUtil.KanjiFrequency>","kanji: boolean","details: DictionaryDataUtil.TermFrequency","dictionaryAlias: string","freqCount: string | undefined","details: DictionaryDataUtil.KanjiFrequency","node: HTMLElement","values: DictionaryDataUtil.FrequencyValue[]","node2","createItem: (item: TItem, arg: TExtraArg) => Node | null","detailsArray: TItem[]","arg?: TExtraArg","term: string","addText: (element: HTMLElement, text: string) => void","value: string","language?: string","element: HTMLElement","language: string | undefined","content: string","termPronunciations: Dictionary.TermPronunciation[]","wordClasses: string[]","element: Element | DocumentFragment","selector: string"],"sources":["../src/render/html-template-collection.ts","../src/render/display-generator.ts"],"sourcesContent":["/*\n * Copyright (C) 2023-2025 Yomitan Authors\n * Copyright (C) 2020-2022 Yomichan Authors\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <https://www.gnu.org/licenses/>.\n */\n\n/**\n * A collection of HTML templates parsed from raw HTML strings.\n * Templates are identified by their `id` attribute, which must end with `-template`.\n * The prefix before `-template` is used as the template name.\n */\nexport class HtmlTemplateCollection {\n private _templates: Map<string, HTMLTemplateElement>;\n private _document: Document;\n\n /**\n * Creates a new HtmlTemplateCollection.\n * @param doc - The Document object to use for DOM operations.\n */\n constructor(doc: Document) {\n this._templates = new Map();\n this._document = doc;\n }\n\n /**\n * Loads templates from a raw HTML string.\n * @param html - The HTML string containing `<template>` elements.\n */\n loadFromString(html: string): void {\n const parser = new (this._document.defaultView as unknown as { DOMParser: typeof DOMParser }).DOMParser();\n const templatesDocument = parser.parseFromString(html, 'text/html');\n this.load(templatesDocument);\n }\n\n /**\n * Loads templates from a Document source.\n * @param source - The Document containing template elements.\n */\n load(source: Document): void {\n const pattern = /^([\\w\\W]+)-template$/;\n for (const template of Array.from(source.querySelectorAll('template')) as HTMLTemplateElement[]) {\n const match = pattern.exec(template.id);\n if (match === null) {\n continue;\n }\n this._prepareTemplate(template);\n this._templates.set(match[1], template);\n }\n }\n\n /**\n * Instantiates a template by name, returning the first element child as a deep clone.\n * @param name - The template name (without the `-template` suffix).\n * @returns The cloned first element child.\n * @throws Error if the template or its content element is not found.\n */\n instantiate(name: string): HTMLElement {\n const { firstElementChild } = this.getTemplateContent(name);\n if (firstElementChild === null) {\n throw new Error(`Failed to find template content element: ${name}`);\n }\n return this._document.importNode(firstElementChild, true) as HTMLElement;\n }\n\n /**\n * Instantiates a template by name, returning the entire content as a DocumentFragment clone.\n * @param name - The template name (without the `-template` suffix).\n * @returns The cloned DocumentFragment.\n */\n instantiateFragment(name: string): DocumentFragment {\n return this._document.importNode(this.getTemplateContent(name), true);\n }\n\n /**\n * Gets the content DocumentFragment of a named template.\n * @param name - The template name (without the `-template` suffix).\n * @returns The template's content DocumentFragment.\n * @throws Error if the template is not found.\n */\n getTemplateContent(name: string): DocumentFragment {\n const template = this._templates.get(name);\n if (typeof template === 'undefined') {\n throw new Error(`Failed to find template: ${name}`);\n }\n return template.content;\n }\n\n /**\n * Returns an iterator over all template elements.\n */\n getAllTemplates(): IterableIterator<HTMLTemplateElement> {\n return this._templates.values();\n }\n\n // Private\n\n private _prepareTemplate(template: HTMLTemplateElement): void {\n if (template.dataset.removeWhitespaceText === 'true') {\n this._removeWhitespaceText(template);\n }\n }\n\n private _removeWhitespaceText(template: HTMLTemplateElement): void {\n const { content } = template;\n const { TEXT_NODE } = this._document.defaultView\n ? (this._document.defaultView as unknown as { Node: typeof Node }).Node\n : { TEXT_NODE: 3 };\n const iterator = this._document.createNodeIterator(content, 4 /* NodeFilter.SHOW_TEXT */);\n const removeNodes: Node[] = [];\n while (true) {\n const node = iterator.nextNode();\n if (node === null) {\n break;\n }\n if (node.nodeType === TEXT_NODE && (node.nodeValue ?? '').trim().length === 0) {\n removeNodes.push(node);\n }\n }\n for (const node of removeNodes) {\n const { parentNode } = node;\n if (parentNode !== null) {\n parentNode.removeChild(node);\n }\n }\n }\n}\n","/*\n * Copyright (C) 2023-2025 Yomitan Authors\n * Copyright (C) 2019-2022 Yomichan Authors\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <https://www.gnu.org/licenses/>.\n */\n\nimport { distributeFurigana } from '../language/ja/furigana.js';\nimport { getLanguageFromText } from '../language/text-utilities.js';\nimport type * as DictionaryDataUtil from '../types/dictionary-data-util.js';\nimport type * as DictionaryData from '../types/dictionary-data.js';\nimport type * as DictionaryImporter from '../types/dictionary-importer.js';\nimport type * as Dictionary from '../types/dictionary.js';\nimport type * as StructuredContent from '../types/structured-content.js';\nimport {\n getDisambiguations,\n getGroupedPronunciations,\n getTermFrequency,\n groupKanjiFrequencies,\n groupTermFrequencies,\n groupTermTags,\n isNonNounVerbOrAdjective,\n} from '../util/dictionary-data-util.js';\nimport type { ContentManager } from './content-manager.js';\nimport { HtmlTemplateCollection } from './html-template-collection.js';\nimport { getKanaMorae, getPitchCategory, isCodePointKanji } from './japanese-util.js';\nimport type { PitchCategory } from './japanese-util.js';\nimport { PronunciationGenerator } from './pronunciation-generator.js';\nimport { StructuredContentGenerator } from './structured-content-generator.js';\n\n/**\n * Generates DOM elements for displaying dictionary entries.\n * This is the main rendering class that creates term entries, kanji entries,\n * and all associated sub-elements (headwords, definitions, tags, frequencies, etc.).\n */\nexport class DisplayGenerator {\n private _contentManager: ContentManager;\n private _templates: HtmlTemplateCollection;\n private _structuredContentGenerator: StructuredContentGenerator;\n private _pronunciationGenerator: PronunciationGenerator;\n private _language: string;\n private _document: Document;\n\n /**\n * Creates a new DisplayGenerator.\n * @param doc - The Document object to use for DOM operations.\n * @param contentManager - The content manager for loading media.\n * @param templateHtml - The HTML string containing display templates.\n */\n constructor(doc: Document, contentManager: ContentManager, templateHtml: string) {\n this._document = doc;\n this._contentManager = contentManager;\n this._templates = new HtmlTemplateCollection(doc);\n this._templates.loadFromString(templateHtml);\n this._structuredContentGenerator = new StructuredContentGenerator(this._contentManager, doc);\n this._pronunciationGenerator = new PronunciationGenerator(doc);\n this._language = 'ja';\n }\n\n /** The current content manager. */\n get contentManager(): ContentManager {\n return this._contentManager;\n }\n\n set contentManager(contentManager: ContentManager) {\n this._contentManager = contentManager;\n }\n\n /**\n * Updates the target language for rendering.\n * @param language - The BCP 47 language tag (e.g. 'ja', 'zh').\n */\n updateLanguage(language: string): void {\n this._language = language;\n }\n\n /**\n * Creates a complete term entry element from a dictionary entry.\n * @param dictionaryEntry - The term dictionary entry data.\n * @param dictionaryInfo - Array of dictionary summary information.\n * @returns An HTMLElement representing the full term entry.\n */\n createTermEntry(\n dictionaryEntry: Dictionary.TermDictionaryEntry,\n dictionaryInfo: DictionaryImporter.Summary[],\n ): HTMLElement {\n const node = this._instantiate('term-entry');\n\n const headwordsContainer = this._querySelector(node, '.headword-list');\n const inflectionRuleChainsContainer = this._querySelector(node, '.inflection-rule-chains');\n const groupedPronunciationsContainer = this._querySelector(node, '.pronunciation-group-list');\n const frequencyGroupListContainer = this._querySelector(node, '.frequency-group-list');\n const definitionsContainer = this._querySelector(node, '.definition-list');\n const headwordTagsContainer = this._querySelector(node, '.headword-list-tag-list');\n\n const { headwords, type, inflectionRuleChainCandidates, definitions, frequencies, pronunciations } =\n dictionaryEntry;\n const groupedPronunciations = getGroupedPronunciations(dictionaryEntry);\n const pronunciationCount = groupedPronunciations.reduce((i, v) => i + v.pronunciations.length, 0);\n const groupedFrequencies = groupTermFrequencies(dictionaryEntry, dictionaryInfo);\n const termTags = groupTermTags(dictionaryEntry);\n\n const uniqueTerms = new Set<string>();\n const uniqueReadings = new Set<string>();\n const primaryMatchTypes = new Set<Dictionary.TermSourceMatchType>();\n for (const { term, reading, sources } of headwords) {\n uniqueTerms.add(term);\n uniqueReadings.add(reading);\n for (const { matchType, isPrimary } of sources) {\n if (!isPrimary) {\n continue;\n }\n primaryMatchTypes.add(matchType);\n }\n }\n\n node.dataset.format = type;\n node.dataset.headwordCount = `${headwords.length}`;\n node.dataset.definitionCount = `${definitions.length}`;\n node.dataset.pronunciationDictionaryCount = `${groupedPronunciations.length}`;\n node.dataset.pronunciationCount = `${pronunciationCount}`;\n node.dataset.uniqueTermCount = `${uniqueTerms.size}`;\n node.dataset.uniqueReadingCount = `${uniqueReadings.size}`;\n node.dataset.frequencyCount = `${frequencies.length}`;\n node.dataset.groupedFrequencyCount = `${groupedFrequencies.length}`;\n node.dataset.primaryMatchTypes = [...primaryMatchTypes].join(' ');\n\n for (let i = 0, ii = headwords.length; i < ii; ++i) {\n const node2 = this._createTermHeadword(headwords[i], i, pronunciations);\n node2.dataset.index = `${i}`;\n headwordsContainer.appendChild(node2);\n }\n headwordsContainer.dataset.count = `${headwords.length}`;\n\n this._appendMultiple(\n inflectionRuleChainsContainer,\n this._createInflectionRuleChain.bind(this),\n inflectionRuleChainCandidates,\n );\n this._appendMultiple(\n frequencyGroupListContainer,\n this._createFrequencyGroup.bind(this),\n groupedFrequencies,\n false,\n );\n this._appendMultiple(\n groupedPronunciationsContainer,\n this._createGroupedPronunciation.bind(this),\n groupedPronunciations,\n );\n this._appendMultiple(headwordTagsContainer, this._createTermTag.bind(this), termTags, headwords.length);\n\n for (const term of uniqueTerms) {\n headwordTagsContainer.appendChild(this._createSearchTag(term));\n }\n for (const reading of uniqueReadings) {\n if (uniqueTerms.has(reading)) {\n continue;\n }\n headwordTagsContainer.appendChild(this._createSearchTag(reading));\n }\n\n // Add definitions\n const dictionaryTag = this._createDictionaryTag('');\n for (let i = 0, ii = definitions.length; i < ii; ++i) {\n const definition = definitions[i];\n const { dictionary, dictionaryAlias } = definition;\n\n if (dictionaryTag.dictionaries.includes(dictionary)) {\n dictionaryTag.redundant = true;\n } else {\n dictionaryTag.redundant = false;\n dictionaryTag.dictionaries.push(dictionary);\n dictionaryTag.name = dictionaryAlias;\n dictionaryTag.content = [dictionary];\n\n const currentDictionaryInfo = dictionaryInfo.find(({ title }) => title === dictionary);\n if (currentDictionaryInfo) {\n const dictionaryContentArray: string[] = [];\n dictionaryContentArray.push(currentDictionaryInfo.title);\n if (currentDictionaryInfo.author) {\n dictionaryContentArray.push(`Author: ${currentDictionaryInfo.author}`);\n }\n if (currentDictionaryInfo.description) {\n dictionaryContentArray.push(`Description: ${currentDictionaryInfo.description}`);\n }\n if (currentDictionaryInfo.url) {\n dictionaryContentArray.push(`URL: ${currentDictionaryInfo.url}`);\n }\n\n const totalTerms = currentDictionaryInfo?.counts?.terms?.total;\n if (totalTerms !== undefined && totalTerms > 0) {\n dictionaryContentArray.push(`Term Count: ${totalTerms.toString()}`);\n }\n\n dictionaryTag.content = dictionaryContentArray;\n }\n }\n\n const node2 = this._createTermDefinition(definition, dictionaryTag, headwords, uniqueTerms, uniqueReadings);\n node2.dataset.index = `${i}`;\n definitionsContainer.appendChild(node2);\n }\n definitionsContainer.dataset.count = `${definitions.length}`;\n\n return node;\n }\n\n /**\n * Creates a complete kanji entry element from a dictionary entry.\n * @param dictionaryEntry - The kanji dictionary entry data.\n * @param dictionaryInfo - Array of dictionary summary information.\n * @returns An HTMLElement representing the full kanji entry.\n */\n createKanjiEntry(\n dictionaryEntry: Dictionary.KanjiDictionaryEntry,\n dictionaryInfo: DictionaryImporter.Summary[],\n ): HTMLElement {\n const node = this._instantiate('kanji-entry');\n node.dataset.dictionary = dictionaryEntry.dictionary;\n\n const glyphContainer = this._querySelector(node, '.kanji-glyph');\n const frequencyGroupListContainer = this._querySelector(node, '.frequency-group-list');\n const tagContainer = this._querySelector(node, '.kanji-tag-list');\n const definitionsContainer = this._querySelector(node, '.kanji-gloss-list');\n const chineseReadingsContainer = this._querySelector(node, '.kanji-readings-chinese');\n const japaneseReadingsContainer = this._querySelector(node, '.kanji-readings-japanese');\n const statisticsContainer = this._querySelector(node, '.kanji-statistics');\n const classificationsContainer = this._querySelector(node, '.kanji-classifications');\n const codepointsContainer = this._querySelector(node, '.kanji-codepoints');\n const dictionaryIndicesContainer = this._querySelector(node, '.kanji-dictionary-indices');\n\n this._setTextContent(glyphContainer, dictionaryEntry.character, this._language);\n if (this._language === 'ja') {\n glyphContainer.style.fontFamily = 'kanji-stroke-orders, sans-serif';\n }\n const groupedFrequencies = groupKanjiFrequencies(dictionaryEntry.frequencies, dictionaryInfo);\n\n const dictionaryTag = this._createDictionaryTag('');\n dictionaryTag.name = dictionaryEntry.dictionaryAlias;\n dictionaryTag.content = [dictionaryEntry.dictionary];\n const currentDictionaryInfo = dictionaryInfo.find(({ title }) => title === dictionaryEntry.dictionary);\n if (currentDictionaryInfo) {\n const dictionaryContentArray: string[] = [];\n dictionaryContentArray.push(currentDictionaryInfo.title);\n if (currentDictionaryInfo.author) {\n dictionaryContentArray.push(`Author: ${currentDictionaryInfo.author}`);\n }\n if (currentDictionaryInfo.description) {\n dictionaryContentArray.push(`Description: ${currentDictionaryInfo.description}`);\n }\n if (currentDictionaryInfo.url) {\n dictionaryContentArray.push(`URL: ${currentDictionaryInfo.url}`);\n }\n\n const totalKanji = currentDictionaryInfo?.counts?.kanji?.total;\n if (totalKanji !== undefined && totalKanji > 0) {\n dictionaryContentArray.push(`Kanji Count: ${totalKanji.toString()}`);\n }\n\n dictionaryTag.content = dictionaryContentArray;\n }\n\n this._appendMultiple(\n frequencyGroupListContainer,\n this._createFrequencyGroup.bind(this),\n groupedFrequencies,\n true,\n );\n this._appendMultiple(tagContainer, this._createTag.bind(this), [...dictionaryEntry.tags, dictionaryTag]);\n this._appendMultiple(definitionsContainer, this._createKanjiDefinition.bind(this), dictionaryEntry.definitions);\n this._appendMultiple(chineseReadingsContainer, this._createKanjiReading.bind(this), dictionaryEntry.onyomi);\n this._appendMultiple(japaneseReadingsContainer, this._createKanjiReading.bind(this), dictionaryEntry.kunyomi);\n\n statisticsContainer.appendChild(this._createKanjiInfoTable(dictionaryEntry.stats.misc));\n classificationsContainer.appendChild(this._createKanjiInfoTable(dictionaryEntry.stats.class));\n codepointsContainer.appendChild(this._createKanjiInfoTable(dictionaryEntry.stats.code));\n dictionaryIndicesContainer.appendChild(this._createKanjiInfoTable(dictionaryEntry.stats.index));\n\n return node;\n }\n\n /**\n * Creates an empty footer notification element.\n */\n createEmptyFooterNotification(): HTMLElement {\n return this._instantiate('footer-notification');\n }\n\n /**\n * Instantiates a named template, returning the first element child.\n * @param name - The template name.\n */\n instantiateTemplate(name: string): HTMLElement {\n return this._instantiate(name);\n }\n\n /**\n * Instantiates a named template, returning the full DocumentFragment.\n * @param name - The template name.\n */\n instantiateTemplateFragment(name: string): DocumentFragment {\n return this._templates.instantiateFragment(name);\n }\n\n // Private\n\n private _createTermHeadword(\n headword: Dictionary.TermHeadword,\n headwordIndex: number,\n pronunciations: Dictionary.TermPronunciation[],\n ): HTMLElement {\n const { term, reading, tags, sources } = headword;\n\n let isPrimaryAny = false;\n const matchTypes = new Set<string>();\n const matchSources = new Set<string>();\n for (const { matchType, matchSource, isPrimary } of sources) {\n if (isPrimary) {\n isPrimaryAny = true;\n }\n matchTypes.add(matchType);\n matchSources.add(matchSource);\n }\n\n const node = this._instantiate('headword');\n\n const termContainer = this._querySelector(node, '.headword-term');\n\n node.dataset.isPrimary = `${isPrimaryAny}`;\n node.dataset.readingIsSame = `${reading === term}`;\n node.dataset.frequency = getTermFrequency(tags);\n node.dataset.matchTypes = [...matchTypes].join(' ');\n node.dataset.matchSources = [...matchSources].join(' ');\n\n const { wordClasses } = headword;\n const pronunciationCategories = this._getPronunciationCategories(\n reading,\n pronunciations,\n wordClasses,\n headwordIndex,\n );\n if (pronunciationCategories !== null) {\n node.dataset.pronunciationCategories = pronunciationCategories;\n }\n if (wordClasses.length > 0) {\n node.dataset.wordClasses = wordClasses.join(' ');\n }\n\n const headwordReading = this._querySelector(node, '.headword-reading');\n this._setTextContent(headwordReading, reading);\n\n this._appendFurigana(termContainer, term, reading, this._appendKanjiLinks.bind(this));\n\n return node;\n }\n\n private _createInflectionRuleChain(\n inflectionRuleChain: Dictionary.InflectionRuleChainCandidate,\n ): HTMLElement | null {\n const { source, inflectionRules } = inflectionRuleChain;\n if (!Array.isArray(inflectionRules) || inflectionRules.length === 0) {\n return null;\n }\n const fragment = this._instantiate('inflection-rule-chain');\n\n const sourceIcon = this._getInflectionSourceIcon(source);\n fragment.appendChild(sourceIcon);\n\n this._appendMultiple(fragment, this._createTermInflection.bind(this), inflectionRules);\n return fragment;\n }\n\n private _getInflectionSourceIcon(source: Dictionary.InflectionSource): HTMLElement {\n const icon = this._document.createElement('span');\n icon.classList.add('inflection-source-icon');\n icon.dataset.inflectionSource = source;\n switch (source) {\n case 'dictionary':\n icon.title = 'Dictionary Deinflection';\n return icon;\n case 'algorithm':\n icon.title = 'Algorithm Deinflection';\n return icon;\n case 'both':\n icon.title = 'Dictionary and Algorithm Deinflection';\n return icon;\n }\n }\n\n private _createTermInflection(inflection: Dictionary.InflectionRule): DocumentFragment {\n const { name, description } = inflection;\n const fragment = this._templates.instantiateFragment('inflection');\n const node = this._querySelector(fragment, '.inflection');\n this._setTextContent(node, name);\n if (description) {\n node.title = description;\n }\n node.dataset.reason = name;\n return fragment;\n }\n\n private _createTermDefinition(\n definition: Dictionary.TermDefinition,\n dictionaryTag: Dictionary.Tag,\n headwords: Dictionary.TermHeadword[],\n uniqueTerms: Set<string>,\n uniqueReadings: Set<string>,\n ): HTMLElement {\n const { dictionary, tags, headwordIndices, entries } = definition;\n const disambiguations = getDisambiguations(headwords, headwordIndices, uniqueTerms, uniqueReadings);\n\n const node = this._instantiate('definition-item');\n\n const tagListContainer = this._querySelector(node, '.definition-tag-list');\n const onlyListContainer = this._querySelector(node, '.definition-disambiguation-list');\n const entriesContainer = this._querySelector(node, '.gloss-list');\n\n node.dataset.dictionary = dictionary;\n\n this._appendMultiple(tagListContainer, this._createTag.bind(this), [...tags, dictionaryTag]);\n this._appendMultiple(onlyListContainer, this._createTermDisambiguation.bind(this), disambiguations);\n this._appendMultiple(entriesContainer, this._createTermDefinitionEntry.bind(this), entries, dictionary);\n return node;\n }\n\n private _createTermDefinitionEntry(\n entry: DictionaryData.TermGlossaryContent,\n dictionary: string,\n ): HTMLElement | null {\n switch (typeof entry) {\n case 'string':\n return this._createTermDefinitionEntryText(entry);\n case 'object': {\n switch (entry.type) {\n case 'image':\n return this._createTermDefinitionEntryImage(entry, dictionary);\n case 'structured-content':\n return this._createTermDefinitionEntryStructuredContent(entry.content, dictionary);\n case 'text':\n break;\n }\n break;\n }\n }\n return null;\n }\n\n private _createTermDefinitionEntryText(text: string): HTMLElement {\n const node = this._instantiate('gloss-item');\n const container = this._querySelector(node, '.gloss-content');\n this._setMultilineTextContent(container, text);\n return node;\n }\n\n private _createTermDefinitionEntryImage(data: DictionaryData.TermGlossaryImage, dictionary: string): HTMLElement {\n const { description } = data;\n\n const node = this._instantiate('gloss-item');\n\n const contentContainer = this._querySelector(node, '.gloss-content');\n const image = this._structuredContentGenerator.createDefinitionImage(data, dictionary);\n contentContainer.appendChild(image);\n\n if (typeof description === 'string') {\n const fragment = this._templates.instantiateFragment('gloss-item-image-description');\n const container = this._querySelector(fragment, '.gloss-image-description');\n this._setMultilineTextContent(container, description);\n contentContainer.appendChild(fragment);\n }\n\n return node;\n }\n\n private _createTermDefinitionEntryStructuredContent(\n content: StructuredContent.Content,\n dictionary: string,\n ): HTMLElement {\n const node = this._instantiate('gloss-item');\n const contentContainer = this._querySelector(node, '.gloss-content');\n this._structuredContentGenerator.appendStructuredContent(contentContainer, content, dictionary);\n return node;\n }\n\n private _createTermDisambiguation(disambiguation: string): HTMLElement {\n const node = this._instantiate('definition-disambiguation');\n node.dataset.term = disambiguation;\n this._setTextContent(node, disambiguation, this._language);\n return node;\n }\n\n private _createKanjiLink(character: string): HTMLAnchorElement {\n const node = this._document.createElement('a');\n node.className = 'headword-kanji-link';\n this._setTextContent(node, character, this._language);\n return node;\n }\n\n private _createKanjiDefinition(text: string): HTMLElement {\n const node = this._instantiate('kanji-gloss-item');\n const container = this._querySelector(node, '.kanji-gloss-content');\n this._setMultilineTextContent(container, text);\n return node;\n }\n\n private _createKanjiReading(reading: string): HTMLElement {\n const node = this._instantiate('kanji-reading');\n this._setTextContent(node, reading, this._language);\n return node;\n }\n\n private _createKanjiInfoTable(details: Dictionary.KanjiStat[]): HTMLElement {\n const node = this._instantiate('kanji-info-table');\n const container = this._querySelector(node, '.kanji-info-table-body');\n\n const count = this._appendMultiple(container, this._createKanjiInfoTableItem.bind(this), details);\n if (count === 0) {\n const n = this._createKanjiInfoTableItemEmpty();\n container.appendChild(n);\n }\n\n return node;\n }\n\n private _createKanjiInfoTableItem(details: Dictionary.KanjiStat): HTMLElement {\n const { content, name, value } = details;\n const node = this._instantiate('kanji-info-table-item');\n const nameNode = this._querySelector(node, '.kanji-info-table-item-header');\n const valueNode = this._querySelector(node, '.kanji-info-table-item-value');\n this._setTextContent(nameNode, content.length > 0 ? content : name);\n this._setTextContent(valueNode, typeof value === 'string' ? value : `${value}`);\n return node;\n }\n\n private _createKanjiInfoTableItemEmpty(): HTMLElement {\n return this._instantiate('kanji-info-table-empty');\n }\n\n private _createTag(tag: Dictionary.Tag): HTMLElement {\n const { content, name, category, redundant } = tag;\n const node = this._instantiate('tag');\n\n const inner = this._querySelector(node, '.tag-label-content');\n\n const contentString = content.join('\\n');\n\n node.title = contentString;\n this._setTextContent(inner, name);\n node.dataset.details = contentString.length > 0 ? contentString : name;\n node.dataset.category = category;\n if (redundant) {\n node.dataset.redundant = 'true';\n }\n\n return node;\n }\n\n private _createTermTag(tagInfo: DictionaryDataUtil.TagGroup, totalHeadwordCount: number): HTMLElement {\n const { tag, headwordIndices } = tagInfo;\n const node = this._createTag(tag);\n node.dataset.headwords = headwordIndices.join(' ');\n node.dataset.totalHeadwordCount = `${totalHeadwordCount}`;\n node.dataset.matchedHeadwordCount = `${headwordIndices.length}`;\n node.dataset.unmatchedHeadwordCount = `${Math.max(0, totalHeadwordCount - headwordIndices.length)}`;\n return node;\n }\n\n private _createTagData(name: string, category: string): Dictionary.Tag {\n return {\n name,\n category,\n order: 0,\n score: 0,\n content: [],\n dictionaries: [],\n redundant: false,\n };\n }\n\n private _createSearchTag(text: string): HTMLElement {\n return this._createTag(this._createTagData(text, 'search'));\n }\n\n private _createGroupedPronunciation(details: DictionaryDataUtil.DictionaryGroupedPronunciations): HTMLElement {\n const { dictionary, dictionaryAlias, pronunciations } = details;\n\n const node = this._instantiate('pronunciation-group');\n node.dataset.dictionary = dictionary;\n node.dataset.pronunciationsMulti = 'true';\n node.dataset.pronunciationsCount = `${pronunciations.length}`;\n\n const n1 = this._querySelector(node, '.pronunciation-group-tag-list');\n const tag = this._createTag(this._createTagData(dictionaryAlias, 'pronunciation-dictionary'));\n tag.dataset.details = dictionary;\n n1.appendChild(tag);\n\n let hasTags = false;\n for (const {\n pronunciation: { tags },\n } of pronunciations) {\n if (tags.length > 0) {\n hasTags = true;\n break;\n }\n }\n\n const n = this._querySelector(node, '.pronunciation-list');\n n.dataset.hasTags = `${hasTags}`;\n this._appendMultiple(n, this._createPronunciation.bind(this), pronunciations);\n\n return node;\n }\n\n private _createPronunciation(details: DictionaryDataUtil.GroupedPronunciation): HTMLElement {\n const { pronunciation } = details;\n switch (pronunciation.type) {\n case 'pitch-accent':\n return this._createPronunciationPitchAccent(pronunciation, details);\n case 'phonetic-transcription':\n return this._createPronunciationPhoneticTranscription(pronunciation, details);\n }\n }\n\n private _createPronunciationPhoneticTranscription(\n pronunciation: Dictionary.PhoneticTranscription,\n details: DictionaryDataUtil.GroupedPronunciation,\n ): HTMLElement {\n const { ipa, tags } = pronunciation;\n const { exclusiveTerms, exclusiveReadings } = details;\n\n const node = this._instantiate('pronunciation');\n\n node.dataset.pronunciationType = pronunciation.type;\n node.dataset.tagCount = `${tags.length}`;\n\n let n = this._querySelector(node, '.pronunciation-tag-list');\n this._appendMultiple(n, this._createTag.bind(this), tags);\n\n n = this._querySelector(node, '.pronunciation-disambiguation-list');\n this._createPronunciationDisambiguations(n, exclusiveTerms, exclusiveReadings);\n\n n = this._querySelector(node, '.pronunciation-text-container');\n this._setTextContent(n, ipa);\n\n return node;\n }\n\n private _createPronunciationPitchAccent(\n pitchAccent: Dictionary.PitchAccent,\n details: DictionaryDataUtil.GroupedPronunciation,\n ): HTMLElement {\n const { positions, nasalPositions, devoicePositions, tags } = pitchAccent;\n const { reading, exclusiveTerms, exclusiveReadings } = details;\n const morae = getKanaMorae(reading);\n\n const node = this._instantiate('pronunciation');\n\n node.dataset.pitchAccentDownstepPosition = `${positions}`;\n node.dataset.pronunciationType = pitchAccent.type;\n if (nasalPositions.length > 0) {\n node.dataset.nasalMoraPosition = nasalPositions.join(' ');\n }\n if (devoicePositions.length > 0) {\n node.dataset.devoiceMoraPosition = devoicePositions.join(' ');\n }\n node.dataset.tagCount = `${tags.length}`;\n\n let n = this._querySelector(node, '.pronunciation-tag-list');\n this._appendMultiple(n, this._createTag.bind(this), tags);\n\n n = this._querySelector(node, '.pronunciation-disambiguation-list');\n this._createPronunciationDisambiguations(n, exclusiveTerms, exclusiveReadings);\n\n n = this._querySelector(node, '.pronunciation-downstep-notation-container');\n n.appendChild(this._pronunciationGenerator.createPronunciationDownstepPosition(positions));\n\n n = this._querySelector(node, '.pronunciation-text-container');\n n.lang = this._language;\n n.appendChild(\n this._pronunciationGenerator.createPronunciationText(morae, positions, nasalPositions, devoicePositions),\n );\n\n n = this._querySelector(node, '.pronunciation-graph-container');\n n.appendChild(this._pronunciationGenerator.createPronunciationGraph(morae, positions));\n\n return node;\n }\n\n private _createPronunciationDisambiguations(\n container: HTMLElement,\n exclusiveTerms: string[],\n exclusiveReadings: string[],\n ): void {\n const templateName = 'pronunciation-disambiguation';\n for (const term of exclusiveTerms) {\n const node = this._instantiate(templateName);\n node.dataset.type = 'term';\n this._setTextContent(node, term, this._language);\n container.appendChild(node);\n }\n\n for (const exclusiveReading of exclusiveReadings) {\n const node = this._instantiate(templateName);\n node.dataset.type = 'reading';\n this._setTextContent(node, exclusiveReading, this._language);\n container.appendChild(node);\n }\n\n container.dataset.count = `${exclusiveTerms.length + exclusiveReadings.length}`;\n container.dataset.termCount = `${exclusiveTerms.length}`;\n container.dataset.readingCount = `${exclusiveReadings.length}`;\n }\n\n private _createFrequencyGroup(\n details:\n | DictionaryDataUtil.DictionaryFrequency<DictionaryDataUtil.TermFrequency>\n | DictionaryDataUtil.DictionaryFrequency<DictionaryDataUtil.KanjiFrequency>,\n kanji: boolean,\n ): HTMLElement {\n const { dictionary, dictionaryAlias, frequencies, freqCount } = details;\n\n const node = this._instantiate('frequency-group-item');\n const body = this._querySelector(node, '.tag-body-content');\n\n const tagLabel = this._querySelector(node, '.tag-label-content');\n const tag = this._querySelector(node, '.tag');\n\n this._setTextContent(tagLabel, dictionaryAlias);\n\n const ii = frequencies.length;\n for (let i = 0; i < ii; ++i) {\n const item = frequencies[i];\n const itemNode = kanji\n ? this._createKanjiFrequency(\n item as DictionaryDataUtil.KanjiFrequency,\n dictionary,\n dictionaryAlias,\n freqCount?.toString(),\n )\n : this._createTermFrequency(\n item as DictionaryDataUtil.TermFrequency,\n dictionary,\n dictionaryAlias,\n freqCount?.toString(),\n );\n itemNode.dataset.index = `${i}`;\n body.appendChild(itemNode);\n }\n\n body.dataset.count = `${ii}`;\n node.dataset.count = `${ii}`;\n node.dataset.details = dictionary;\n tag.dataset.details = `${dictionary}\\nDictionary size: ${freqCount?.toString()}${kanji ? ' kanji' : ' terms'}`;\n return node;\n }\n\n private _createTermFrequency(\n details: DictionaryDataUtil.TermFrequency,\n dictionary: string,\n dictionaryAlias: string,\n freqCount: string | undefined,\n ): HTMLElement {\n const { term, reading, values } = details;\n const node = this._instantiate('term-frequency-item');\n const tagLabel = this._querySelector(node, '.tag-label-content');\n const tag = this._querySelector(node, '.tag');\n const disambiguationTerm = this._querySelector(node, '.frequency-disambiguation-term');\n const disambiguationReading = this._querySelector(node, '.frequency-disambiguation-reading');\n const frequencyValueList = this._querySelector(node, '.frequency-value-list');\n\n this._setTextContent(tagLabel, dictionaryAlias);\n this._setTextContent(disambiguationTerm, term, this._language);\n this._setTextContent(disambiguationReading, reading !== null ? reading : '', this._language);\n this._populateFrequencyValueList(frequencyValueList, values);\n\n node.dataset.term = term;\n if (typeof reading === 'string') {\n node.dataset.reading = reading;\n }\n node.dataset.hasReading = `${reading !== null}`;\n node.dataset.readingIsSame = `${reading === term}`;\n node.dataset.dictionary = dictionary;\n node.dataset.details = dictionary;\n tag.dataset.details = `${dictionary}\\nDictionary size: ${freqCount ?? ''} terms`;\n return node;\n }\n\n private _createKanjiFrequency(\n details: DictionaryDataUtil.KanjiFrequency,\n dictionary: string,\n dictionaryAlias: string,\n freqCount: string | undefined,\n ): HTMLElement {\n const { character, values } = details;\n const node = this._instantiate('kanji-frequency-item');\n const tagLabel = this._querySelector(node, '.tag-label-content');\n const tag = this._querySelector(node, '.tag');\n const frequencyValueList = this._querySelector(node, '.frequency-value-list');\n\n this._setTextContent(tagLabel, dictionaryAlias);\n this._populateFrequencyValueList(frequencyValueList, values);\n\n node.dataset.character = character;\n node.dataset.dictionary = dictionary;\n node.dataset.details = dictionary;\n tag.dataset.details = `${dictionary}\\nDictionary size: ${freqCount ?? ''} kanji`;\n\n return node;\n }\n\n private _populateFrequencyValueList(node: HTMLElement, values: DictionaryDataUtil.FrequencyValue[]): void {\n let fullFrequency = '';\n for (let i = 0, ii = values.length; i < ii; ++i) {\n const { frequency, displayValue } = values[i];\n const frequencyString = `${frequency}`;\n const text = displayValue !== null ? displayValue : `${frequency}`;\n\n if (i > 0) {\n const node2 = this._document.createElement('span');\n node2.className = 'frequency-value';\n node2.dataset.frequency = `${frequency}`;\n node2.textContent = ', ';\n node.appendChild(node2);\n fullFrequency += ', ';\n }\n\n const node2 = this._document.createElement('span');\n node2.className = 'frequency-value';\n node2.dataset.frequency = frequencyString;\n if (displayValue !== null) {\n node2.dataset.displayValue = `${displayValue}`;\n if (displayValue !== frequencyString) {\n node2.title = frequencyString;\n }\n }\n this._setTextContent(node2, text, this._language);\n node.appendChild(node2);\n\n fullFrequency += text;\n }\n\n node.dataset.frequency = fullFrequency;\n }\n\n private _appendKanjiLinks(container: HTMLElement, text: string): void {\n let part = '';\n for (const c of text) {\n if (isCodePointKanji(c.codePointAt(0) as number)) {\n if (part.length > 0) {\n container.appendChild(this._document.createTextNode(part));\n part = '';\n }\n\n const link = this._createKanjiLink(c);\n container.appendChild(link);\n } else {\n part += c;\n }\n }\n if (part.length > 0) {\n container.appendChild(this._document.createTextNode(part));\n }\n }\n\n private _appendMultiple<TItem, TExtraArg = void>(\n container: HTMLElement,\n createItem: (item: TItem, arg: TExtraArg) => Node | null,\n detailsArray: TItem[],\n arg?: TExtraArg,\n ): number {\n let count = 0;\n const ELEMENT_NODE = 1;\n if (Array.isArray(detailsArray)) {\n for (const details of detailsArray) {\n const item = createItem(details, arg as TExtraArg);\n if (item === null) {\n continue;\n }\n container.appendChild(item);\n if (item.nodeType === ELEMENT_NODE) {\n (item as HTMLElement).dataset.index = `${count}`;\n }\n ++count;\n }\n }\n\n container.dataset.count = `${count}`;\n\n return count;\n }\n\n private _appendFurigana(\n container: HTMLElement,\n term: string,\n reading: string,\n addText: (element: HTMLElement, text: string) => void,\n ): void {\n container.lang = this._language;\n const segments = distributeFurigana(term, reading);\n for (const { text, reading: furigana } of segments) {\n if (furigana) {\n const ruby = this._document.createElement('ruby');\n const rt = this._document.createElement('rt');\n addText(ruby, text);\n ruby.appendChild(rt);\n rt.appendChild(this._document.createTextNode(furigana));\n container.appendChild(ruby);\n } else {\n addText(container, text);\n }\n }\n }\n\n private _createDictionaryTag(dictionary: string): Dictionary.Tag {\n return this._createTagData(dictionary, 'dictionary');\n }\n\n private _setTextContent(node: HTMLElement, value: string, language?: string): void {\n this._setElementLanguage(node, language, value);\n node.textContent = value;\n }\n\n private _setMultilineTextContent(node: HTMLElement, value: string, language?: string): void {\n this._setElementLanguage(node, language, value);\n\n let start = 0;\n while (true) {\n const end = value.indexOf('\\n', start);\n if (end < 0) {\n break;\n }\n node.appendChild(this._document.createTextNode(value.substring(start, end)));\n node.appendChild(this._document.createElement('br'));\n start = end + 1;\n }\n\n if (start < value.length) {\n node.appendChild(this._document.createTextNode(start === 0 ? value : value.substring(start)));\n }\n }\n\n private _setElementLanguage(element: HTMLElement, language: string | undefined, content: string): void {\n if (typeof language === 'string') {\n element.lang = language;\n } else {\n const language2 = getLanguageFromText(content, this._language);\n if (language2 !== null) {\n element.lang = language2;\n }\n }\n }\n\n private _getPronunciationCategories(\n reading: string,\n termPronunciations: Dictionary.TermPronunciation[],\n wordClasses: string[],\n headwordIndex: number,\n ): string | null {\n if (termPronunciations.length === 0) {\n return null;\n }\n const isVerbOrAdjective = isNonNounVerbOrAdjective(wordClasses);\n const categories = new Set<PitchCategory>();\n for (const termPronunciation of termPronunciations) {\n if (termPronunciation.headwordIndex !== headwordIndex) {\n continue;\n }\n for (const pronunciation of termPronunciation.pronunciations) {\n if (pronunciation.type !== 'pitch-accent') {\n continue;\n }\n const category = getPitchCategory(reading, pronunciation.positions, isVerbOrAdjective);\n if (category !== null) {\n categories.add(category);\n }\n }\n }\n return categories.size > 0 ? [...categories].join(' ') : null;\n }\n\n private _instantiate(name: string): HTMLElement {\n return this._templates.instantiate(name);\n }\n\n private _querySelector(element: Element | DocumentFragment, selector: string): HTMLElement {\n const result = element.querySelector(selector);\n if (result === null) {\n throw new Error(`Failed to find element: ${selector}`);\n }\n return result as HTMLElement;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"display-generator-D3Nd5DTh.js","names":["doc: Document","html: string","source: Document","name: string","template: HTMLTemplateElement","removeNodes: Node[]","doc: Document","contentManager: ContentManager","templateHtml: string","language: string","dictionaryEntry: Dictionary.TermDictionaryEntry","dictionaryInfo: DictionaryImporter.Summary[]","dictionaryContentArray: string[]","dictionaryEntry: Dictionary.KanjiDictionaryEntry","name: string","headword: Dictionary.TermHeadword","headwordIndex: number","pronunciations: Dictionary.TermPronunciation[]","inflectionRuleChain: Dictionary.InflectionRuleChainCandidate","source: Dictionary.InflectionSource","inflection: Dictionary.InflectionRule","definition: Dictionary.TermDefinition","dictionaryTag: Dictionary.Tag","headwords: Dictionary.TermHeadword[]","uniqueTerms: Set<string>","uniqueReadings: Set<string>","entry: DictionaryData.TermGlossaryContent","dictionary: string","text: string","data: DictionaryData.TermGlossaryImage","content: StructuredContent.Content","disambiguation: string","character: string","reading: string","details: Dictionary.KanjiStat[]","details: Dictionary.KanjiStat","tag: Dictionary.Tag","tagInfo: DictionaryDataUtil.TagGroup","totalHeadwordCount: number","category: string","details: DictionaryDataUtil.DictionaryGroupedPronunciations","details: DictionaryDataUtil.GroupedPronunciation","pronunciation: Dictionary.PhoneticTranscription","pitchAccent: Dictionary.PitchAccent","container: HTMLElement","exclusiveTerms: string[]","exclusiveReadings: string[]","details:\n | DictionaryDataUtil.DictionaryFrequency<DictionaryDataUtil.TermFrequency>\n | DictionaryDataUtil.DictionaryFrequency<DictionaryDataUtil.KanjiFrequency>","kanji: boolean","details: DictionaryDataUtil.TermFrequency","dictionaryAlias: string","freqCount: string | undefined","details: DictionaryDataUtil.KanjiFrequency","node: HTMLElement","values: DictionaryDataUtil.FrequencyValue[]","node2","createItem: (item: TItem, arg: TExtraArg) => Node | null","detailsArray: TItem[]","arg?: TExtraArg","term: string","addText: (element: HTMLElement, text: string) => void","value: string","language?: string","element: HTMLElement","language: string | undefined","content: string","termPronunciations: Dictionary.TermPronunciation[]","wordClasses: string[]","element: Element | DocumentFragment","selector: string"],"sources":["../src/render/html-template-collection.ts","../src/render/display-generator.ts"],"sourcesContent":["/*\n * Copyright (C) 2023-2025 Yomitan Authors\n * Copyright (C) 2020-2022 Yomichan Authors\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <https://www.gnu.org/licenses/>.\n */\n\n/**\n * A collection of HTML templates parsed from raw HTML strings.\n * Templates are identified by their `id` attribute, which must end with `-template`.\n * The prefix before `-template` is used as the template name.\n */\nexport class HtmlTemplateCollection {\n private _templates: Map<string, HTMLTemplateElement>;\n private _document: Document;\n\n /**\n * Creates a new HtmlTemplateCollection.\n * @param doc - The Document object to use for DOM operations.\n */\n constructor(doc: Document) {\n this._templates = new Map();\n this._document = doc;\n }\n\n /**\n * Loads templates from a raw HTML string.\n * @param html - The HTML string containing `<template>` elements.\n */\n loadFromString(html: string): void {\n const parser = new (this._document.defaultView as unknown as { DOMParser: typeof DOMParser }).DOMParser();\n const templatesDocument = parser.parseFromString(html, 'text/html');\n this.load(templatesDocument);\n }\n\n /**\n * Loads templates from a Document source.\n * @param source - The Document containing template elements.\n */\n load(source: Document): void {\n const pattern = /^([\\w\\W]+)-template$/;\n for (const template of Array.from(source.querySelectorAll('template')) as HTMLTemplateElement[]) {\n const match = pattern.exec(template.id);\n if (match === null) {\n continue;\n }\n this._prepareTemplate(template);\n this._templates.set(match[1], template);\n }\n }\n\n /**\n * Instantiates a template by name, returning the first element child as a deep clone.\n * @param name - The template name (without the `-template` suffix).\n * @returns The cloned first element child.\n * @throws Error if the template or its content element is not found.\n */\n instantiate(name: string): HTMLElement {\n const { firstElementChild } = this.getTemplateContent(name);\n if (firstElementChild === null) {\n throw new Error(`Failed to find template content element: ${name}`);\n }\n return this._document.importNode(firstElementChild, true) as HTMLElement;\n }\n\n /**\n * Instantiates a template by name, returning the entire content as a DocumentFragment clone.\n * @param name - The template name (without the `-template` suffix).\n * @returns The cloned DocumentFragment.\n */\n instantiateFragment(name: string): DocumentFragment {\n return this._document.importNode(this.getTemplateContent(name), true);\n }\n\n /**\n * Gets the content DocumentFragment of a named template.\n * @param name - The template name (without the `-template` suffix).\n * @returns The template's content DocumentFragment.\n * @throws Error if the template is not found.\n */\n getTemplateContent(name: string): DocumentFragment {\n const template = this._templates.get(name);\n if (typeof template === 'undefined') {\n throw new Error(`Failed to find template: ${name}`);\n }\n return template.content;\n }\n\n /**\n * Returns an iterator over all template elements.\n */\n getAllTemplates(): IterableIterator<HTMLTemplateElement> {\n return this._templates.values();\n }\n\n // Private\n\n private _prepareTemplate(template: HTMLTemplateElement): void {\n if (template.dataset.removeWhitespaceText === 'true') {\n this._removeWhitespaceText(template);\n }\n }\n\n private _removeWhitespaceText(template: HTMLTemplateElement): void {\n const { content } = template;\n const { TEXT_NODE } = this._document.defaultView\n ? (this._document.defaultView as unknown as { Node: typeof Node }).Node\n : { TEXT_NODE: 3 };\n const iterator = this._document.createNodeIterator(content, 4 /* NodeFilter.SHOW_TEXT */);\n const removeNodes: Node[] = [];\n while (true) {\n const node = iterator.nextNode();\n if (node === null) {\n break;\n }\n if (node.nodeType === TEXT_NODE && (node.nodeValue ?? '').trim().length === 0) {\n removeNodes.push(node);\n }\n }\n for (const node of removeNodes) {\n const { parentNode } = node;\n if (parentNode !== null) {\n parentNode.removeChild(node);\n }\n }\n }\n}\n","/*\n * Copyright (C) 2023-2025 Yomitan Authors\n * Copyright (C) 2019-2022 Yomichan Authors\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <https://www.gnu.org/licenses/>.\n */\n\nimport { distributeFurigana } from '../language/ja/furigana.js';\nimport { getLanguageFromText } from '../language/text-utilities.js';\nimport type * as DictionaryDataUtil from '../types/dictionary-data-util.js';\nimport type * as DictionaryData from '../types/dictionary-data.js';\nimport type * as DictionaryImporter from '../types/dictionary-importer.js';\nimport type * as Dictionary from '../types/dictionary.js';\nimport type * as StructuredContent from '../types/structured-content.js';\nimport {\n getDisambiguations,\n getGroupedPronunciations,\n getTermFrequency,\n groupKanjiFrequencies,\n groupTermFrequencies,\n groupTermTags,\n isNonNounVerbOrAdjective,\n} from '../util/dictionary-data-util.js';\nimport type { ContentManager } from './content-manager.js';\nimport { HtmlTemplateCollection } from './html-template-collection.js';\nimport { getKanaMorae, getPitchCategory, isCodePointKanji } from './japanese-util.js';\nimport type { PitchCategory } from './japanese-util.js';\nimport { PronunciationGenerator } from './pronunciation-generator.js';\nimport { StructuredContentGenerator } from './structured-content-generator.js';\n\n/**\n * Generates DOM elements for displaying dictionary entries.\n * This is the main rendering class that creates term entries, kanji entries,\n * and all associated sub-elements (headwords, definitions, tags, frequencies, etc.).\n */\nexport class DisplayGenerator {\n private _contentManager: ContentManager;\n private _templates: HtmlTemplateCollection;\n private _structuredContentGenerator: StructuredContentGenerator;\n private _pronunciationGenerator: PronunciationGenerator;\n private _language: string;\n private _document: Document;\n\n /**\n * Creates a new DisplayGenerator.\n * @param doc - The Document object to use for DOM operations.\n * @param contentManager - The content manager for loading media.\n * @param templateHtml - The HTML string containing display templates.\n */\n constructor(doc: Document, contentManager: ContentManager, templateHtml: string) {\n this._document = doc;\n this._contentManager = contentManager;\n this._templates = new HtmlTemplateCollection(doc);\n this._templates.loadFromString(templateHtml);\n this._structuredContentGenerator = new StructuredContentGenerator(this._contentManager, doc);\n this._pronunciationGenerator = new PronunciationGenerator(doc);\n this._language = 'ja';\n }\n\n /** The current content manager. */\n get contentManager(): ContentManager {\n return this._contentManager;\n }\n\n set contentManager(contentManager: ContentManager) {\n this._contentManager = contentManager;\n }\n\n /**\n * Updates the target language for rendering.\n * @param language - The BCP 47 language tag (e.g. 'ja', 'zh').\n */\n updateLanguage(language: string): void {\n this._language = language;\n }\n\n /**\n * Creates a complete term entry element from a dictionary entry.\n * @param dictionaryEntry - The term dictionary entry data.\n * @param dictionaryInfo - Array of dictionary summary information.\n * @returns An HTMLElement representing the full term entry.\n */\n createTermEntry(\n dictionaryEntry: Dictionary.TermDictionaryEntry,\n dictionaryInfo: DictionaryImporter.Summary[],\n ): HTMLElement {\n const node = this._instantiate('term-entry');\n\n const headwordsContainer = this._querySelector(node, '.headword-list');\n const inflectionRuleChainsContainer = this._querySelector(node, '.inflection-rule-chains');\n const groupedPronunciationsContainer = this._querySelector(node, '.pronunciation-group-list');\n const frequencyGroupListContainer = this._querySelector(node, '.frequency-group-list');\n const definitionsContainer = this._querySelector(node, '.definition-list');\n const headwordTagsContainer = this._querySelector(node, '.headword-list-tag-list');\n\n const { headwords, type, inflectionRuleChainCandidates, definitions, frequencies, pronunciations } =\n dictionaryEntry;\n const groupedPronunciations = getGroupedPronunciations(dictionaryEntry);\n const pronunciationCount = groupedPronunciations.reduce((i, v) => i + v.pronunciations.length, 0);\n const groupedFrequencies = groupTermFrequencies(dictionaryEntry, dictionaryInfo);\n const termTags = groupTermTags(dictionaryEntry);\n\n const uniqueTerms = new Set<string>();\n const uniqueReadings = new Set<string>();\n const primaryMatchTypes = new Set<Dictionary.TermSourceMatchType>();\n for (const { term, reading, sources } of headwords) {\n uniqueTerms.add(term);\n uniqueReadings.add(reading);\n for (const { matchType, isPrimary } of sources) {\n if (!isPrimary) {\n continue;\n }\n primaryMatchTypes.add(matchType);\n }\n }\n\n node.dataset.format = type;\n node.dataset.headwordCount = `${headwords.length}`;\n node.dataset.definitionCount = `${definitions.length}`;\n node.dataset.pronunciationDictionaryCount = `${groupedPronunciations.length}`;\n node.dataset.pronunciationCount = `${pronunciationCount}`;\n node.dataset.uniqueTermCount = `${uniqueTerms.size}`;\n node.dataset.uniqueReadingCount = `${uniqueReadings.size}`;\n node.dataset.frequencyCount = `${frequencies.length}`;\n node.dataset.groupedFrequencyCount = `${groupedFrequencies.length}`;\n node.dataset.primaryMatchTypes = [...primaryMatchTypes].join(' ');\n\n for (let i = 0, ii = headwords.length; i < ii; ++i) {\n const node2 = this._createTermHeadword(headwords[i], i, pronunciations);\n node2.dataset.index = `${i}`;\n headwordsContainer.appendChild(node2);\n }\n headwordsContainer.dataset.count = `${headwords.length}`;\n\n this._appendMultiple(\n inflectionRuleChainsContainer,\n this._createInflectionRuleChain.bind(this),\n inflectionRuleChainCandidates,\n );\n this._appendMultiple(\n frequencyGroupListContainer,\n this._createFrequencyGroup.bind(this),\n groupedFrequencies,\n false,\n );\n this._appendMultiple(\n groupedPronunciationsContainer,\n this._createGroupedPronunciation.bind(this),\n groupedPronunciations,\n );\n this._appendMultiple(headwordTagsContainer, this._createTermTag.bind(this), termTags, headwords.length);\n\n for (const term of uniqueTerms) {\n headwordTagsContainer.appendChild(this._createSearchTag(term));\n }\n for (const reading of uniqueReadings) {\n if (uniqueTerms.has(reading)) {\n continue;\n }\n headwordTagsContainer.appendChild(this._createSearchTag(reading));\n }\n\n // Add definitions\n const dictionaryTag = this._createDictionaryTag('');\n for (let i = 0, ii = definitions.length; i < ii; ++i) {\n const definition = definitions[i];\n const { dictionary, dictionaryAlias } = definition;\n\n if (dictionaryTag.dictionaries.includes(dictionary)) {\n dictionaryTag.redundant = true;\n } else {\n dictionaryTag.redundant = false;\n dictionaryTag.dictionaries.push(dictionary);\n dictionaryTag.name = dictionaryAlias;\n dictionaryTag.content = [dictionary];\n\n const currentDictionaryInfo = dictionaryInfo.find(({ title }) => title === dictionary);\n if (currentDictionaryInfo) {\n const dictionaryContentArray: string[] = [];\n dictionaryContentArray.push(currentDictionaryInfo.title);\n if (currentDictionaryInfo.author) {\n dictionaryContentArray.push(`Author: ${currentDictionaryInfo.author}`);\n }\n if (currentDictionaryInfo.description) {\n dictionaryContentArray.push(`Description: ${currentDictionaryInfo.description}`);\n }\n if (currentDictionaryInfo.url) {\n dictionaryContentArray.push(`URL: ${currentDictionaryInfo.url}`);\n }\n\n const totalTerms = currentDictionaryInfo?.counts?.terms?.total;\n if (totalTerms !== undefined && totalTerms > 0) {\n dictionaryContentArray.push(`Term Count: ${totalTerms.toString()}`);\n }\n\n dictionaryTag.content = dictionaryContentArray;\n }\n }\n\n const node2 = this._createTermDefinition(definition, dictionaryTag, headwords, uniqueTerms, uniqueReadings);\n node2.dataset.index = `${i}`;\n definitionsContainer.appendChild(node2);\n }\n definitionsContainer.dataset.count = `${definitions.length}`;\n\n return node;\n }\n\n /**\n * Creates a complete kanji entry element from a dictionary entry.\n * @param dictionaryEntry - The kanji dictionary entry data.\n * @param dictionaryInfo - Array of dictionary summary information.\n * @returns An HTMLElement representing the full kanji entry.\n */\n createKanjiEntry(\n dictionaryEntry: Dictionary.KanjiDictionaryEntry,\n dictionaryInfo: DictionaryImporter.Summary[],\n ): HTMLElement {\n const node = this._instantiate('kanji-entry');\n node.dataset.dictionary = dictionaryEntry.dictionary;\n\n const glyphContainer = this._querySelector(node, '.kanji-glyph');\n const frequencyGroupListContainer = this._querySelector(node, '.frequency-group-list');\n const tagContainer = this._querySelector(node, '.kanji-tag-list');\n const definitionsContainer = this._querySelector(node, '.kanji-gloss-list');\n const chineseReadingsContainer = this._querySelector(node, '.kanji-readings-chinese');\n const japaneseReadingsContainer = this._querySelector(node, '.kanji-readings-japanese');\n const statisticsContainer = this._querySelector(node, '.kanji-statistics');\n const classificationsContainer = this._querySelector(node, '.kanji-classifications');\n const codepointsContainer = this._querySelector(node, '.kanji-codepoints');\n const dictionaryIndicesContainer = this._querySelector(node, '.kanji-dictionary-indices');\n\n this._setTextContent(glyphContainer, dictionaryEntry.character, this._language);\n if (this._language === 'ja') {\n glyphContainer.style.fontFamily = 'kanji-stroke-orders, sans-serif';\n }\n const groupedFrequencies = groupKanjiFrequencies(dictionaryEntry.frequencies, dictionaryInfo);\n\n const dictionaryTag = this._createDictionaryTag('');\n dictionaryTag.name = dictionaryEntry.dictionaryAlias;\n dictionaryTag.content = [dictionaryEntry.dictionary];\n const currentDictionaryInfo = dictionaryInfo.find(({ title }) => title === dictionaryEntry.dictionary);\n if (currentDictionaryInfo) {\n const dictionaryContentArray: string[] = [];\n dictionaryContentArray.push(currentDictionaryInfo.title);\n if (currentDictionaryInfo.author) {\n dictionaryContentArray.push(`Author: ${currentDictionaryInfo.author}`);\n }\n if (currentDictionaryInfo.description) {\n dictionaryContentArray.push(`Description: ${currentDictionaryInfo.description}`);\n }\n if (currentDictionaryInfo.url) {\n dictionaryContentArray.push(`URL: ${currentDictionaryInfo.url}`);\n }\n\n const totalKanji = currentDictionaryInfo?.counts?.kanji?.total;\n if (totalKanji !== undefined && totalKanji > 0) {\n dictionaryContentArray.push(`Kanji Count: ${totalKanji.toString()}`);\n }\n\n dictionaryTag.content = dictionaryContentArray;\n }\n\n this._appendMultiple(\n frequencyGroupListContainer,\n this._createFrequencyGroup.bind(this),\n groupedFrequencies,\n true,\n );\n this._appendMultiple(tagContainer, this._createTag.bind(this), [...dictionaryEntry.tags, dictionaryTag]);\n this._appendMultiple(definitionsContainer, this._createKanjiDefinition.bind(this), dictionaryEntry.definitions);\n this._appendMultiple(chineseReadingsContainer, this._createKanjiReading.bind(this), dictionaryEntry.onyomi);\n this._appendMultiple(japaneseReadingsContainer, this._createKanjiReading.bind(this), dictionaryEntry.kunyomi);\n\n statisticsContainer.appendChild(this._createKanjiInfoTable(dictionaryEntry.stats.misc));\n classificationsContainer.appendChild(this._createKanjiInfoTable(dictionaryEntry.stats.class));\n codepointsContainer.appendChild(this._createKanjiInfoTable(dictionaryEntry.stats.code));\n dictionaryIndicesContainer.appendChild(this._createKanjiInfoTable(dictionaryEntry.stats.index));\n\n return node;\n }\n\n /**\n * Creates an empty footer notification element.\n */\n createEmptyFooterNotification(): HTMLElement {\n return this._instantiate('footer-notification');\n }\n\n /**\n * Instantiates a named template, returning the first element child.\n * @param name - The template name.\n */\n instantiateTemplate(name: string): HTMLElement {\n return this._instantiate(name);\n }\n\n /**\n * Instantiates a named template, returning the full DocumentFragment.\n * @param name - The template name.\n */\n instantiateTemplateFragment(name: string): DocumentFragment {\n return this._templates.instantiateFragment(name);\n }\n\n // Private\n\n private _createTermHeadword(\n headword: Dictionary.TermHeadword,\n headwordIndex: number,\n pronunciations: Dictionary.TermPronunciation[],\n ): HTMLElement {\n const { term, reading, tags, sources } = headword;\n\n let isPrimaryAny = false;\n const matchTypes = new Set<string>();\n const matchSources = new Set<string>();\n for (const { matchType, matchSource, isPrimary } of sources) {\n if (isPrimary) {\n isPrimaryAny = true;\n }\n matchTypes.add(matchType);\n matchSources.add(matchSource);\n }\n\n const node = this._instantiate('headword');\n\n const termContainer = this._querySelector(node, '.headword-term');\n\n node.dataset.isPrimary = `${isPrimaryAny}`;\n node.dataset.readingIsSame = `${reading === term}`;\n node.dataset.frequency = getTermFrequency(tags);\n node.dataset.matchTypes = [...matchTypes].join(' ');\n node.dataset.matchSources = [...matchSources].join(' ');\n\n const { wordClasses } = headword;\n const pronunciationCategories = this._getPronunciationCategories(\n reading,\n pronunciations,\n wordClasses,\n headwordIndex,\n );\n if (pronunciationCategories !== null) {\n node.dataset.pronunciationCategories = pronunciationCategories;\n }\n if (wordClasses.length > 0) {\n node.dataset.wordClasses = wordClasses.join(' ');\n }\n\n const headwordReading = this._querySelector(node, '.headword-reading');\n this._setTextContent(headwordReading, reading);\n\n this._appendFurigana(termContainer, term, reading, this._appendKanjiLinks.bind(this));\n\n return node;\n }\n\n private _createInflectionRuleChain(\n inflectionRuleChain: Dictionary.InflectionRuleChainCandidate,\n ): HTMLElement | null {\n const { source, inflectionRules } = inflectionRuleChain;\n if (!Array.isArray(inflectionRules) || inflectionRules.length === 0) {\n return null;\n }\n const fragment = this._instantiate('inflection-rule-chain');\n\n const sourceIcon = this._getInflectionSourceIcon(source);\n fragment.appendChild(sourceIcon);\n\n this._appendMultiple(fragment, this._createTermInflection.bind(this), inflectionRules);\n return fragment;\n }\n\n private _getInflectionSourceIcon(source: Dictionary.InflectionSource): HTMLElement {\n const icon = this._document.createElement('span');\n icon.classList.add('inflection-source-icon');\n icon.dataset.inflectionSource = source;\n switch (source) {\n case 'dictionary':\n icon.title = 'Dictionary Deinflection';\n return icon;\n case 'algorithm':\n icon.title = 'Algorithm Deinflection';\n return icon;\n case 'both':\n icon.title = 'Dictionary and Algorithm Deinflection';\n return icon;\n }\n }\n\n private _createTermInflection(inflection: Dictionary.InflectionRule): DocumentFragment {\n const { name, description } = inflection;\n const fragment = this._templates.instantiateFragment('inflection');\n const node = this._querySelector(fragment, '.inflection');\n this._setTextContent(node, name);\n if (description) {\n node.title = description;\n }\n node.dataset.reason = name;\n return fragment;\n }\n\n private _createTermDefinition(\n definition: Dictionary.TermDefinition,\n dictionaryTag: Dictionary.Tag,\n headwords: Dictionary.TermHeadword[],\n uniqueTerms: Set<string>,\n uniqueReadings: Set<string>,\n ): HTMLElement {\n const { dictionary, tags, headwordIndices, entries } = definition;\n const disambiguations = getDisambiguations(headwords, headwordIndices, uniqueTerms, uniqueReadings);\n\n const node = this._instantiate('definition-item');\n\n const tagListContainer = this._querySelector(node, '.definition-tag-list');\n const onlyListContainer = this._querySelector(node, '.definition-disambiguation-list');\n const entriesContainer = this._querySelector(node, '.gloss-list');\n\n node.dataset.dictionary = dictionary;\n\n this._appendMultiple(tagListContainer, this._createTag.bind(this), [...tags, dictionaryTag]);\n this._appendMultiple(onlyListContainer, this._createTermDisambiguation.bind(this), disambiguations);\n this._appendMultiple(entriesContainer, this._createTermDefinitionEntry.bind(this), entries, dictionary);\n return node;\n }\n\n private _createTermDefinitionEntry(\n entry: DictionaryData.TermGlossaryContent,\n dictionary: string,\n ): HTMLElement | null {\n switch (typeof entry) {\n case 'string':\n return this._createTermDefinitionEntryText(entry);\n case 'object': {\n switch (entry.type) {\n case 'image':\n return this._createTermDefinitionEntryImage(entry, dictionary);\n case 'structured-content':\n return this._createTermDefinitionEntryStructuredContent(entry.content, dictionary);\n case 'text':\n break;\n }\n break;\n }\n }\n return null;\n }\n\n private _createTermDefinitionEntryText(text: string): HTMLElement {\n const node = this._instantiate('gloss-item');\n const container = this._querySelector(node, '.gloss-content');\n this._setMultilineTextContent(container, text);\n return node;\n }\n\n private _createTermDefinitionEntryImage(data: DictionaryData.TermGlossaryImage, dictionary: string): HTMLElement {\n const { description } = data;\n\n const node = this._instantiate('gloss-item');\n\n const contentContainer = this._querySelector(node, '.gloss-content');\n const image = this._structuredContentGenerator.createDefinitionImage(data, dictionary);\n contentContainer.appendChild(image);\n\n if (typeof description === 'string') {\n const fragment = this._templates.instantiateFragment('gloss-item-image-description');\n const container = this._querySelector(fragment, '.gloss-image-description');\n this._setMultilineTextContent(container, description);\n contentContainer.appendChild(fragment);\n }\n\n return node;\n }\n\n private _createTermDefinitionEntryStructuredContent(\n content: StructuredContent.Content,\n dictionary: string,\n ): HTMLElement {\n const node = this._instantiate('gloss-item');\n const contentContainer = this._querySelector(node, '.gloss-content');\n this._structuredContentGenerator.appendStructuredContent(contentContainer, content, dictionary);\n return node;\n }\n\n private _createTermDisambiguation(disambiguation: string): HTMLElement {\n const node = this._instantiate('definition-disambiguation');\n node.dataset.term = disambiguation;\n this._setTextContent(node, disambiguation, this._language);\n return node;\n }\n\n private _createKanjiLink(character: string): HTMLAnchorElement {\n const node = this._document.createElement('a');\n node.className = 'headword-kanji-link';\n this._setTextContent(node, character, this._language);\n return node;\n }\n\n private _createKanjiDefinition(text: string): HTMLElement {\n const node = this._instantiate('kanji-gloss-item');\n const container = this._querySelector(node, '.kanji-gloss-content');\n this._setMultilineTextContent(container, text);\n return node;\n }\n\n private _createKanjiReading(reading: string): HTMLElement {\n const node = this._instantiate('kanji-reading');\n this._setTextContent(node, reading, this._language);\n return node;\n }\n\n private _createKanjiInfoTable(details: Dictionary.KanjiStat[]): HTMLElement {\n const node = this._instantiate('kanji-info-table');\n const container = this._querySelector(node, '.kanji-info-table-body');\n\n const count = this._appendMultiple(container, this._createKanjiInfoTableItem.bind(this), details);\n if (count === 0) {\n const n = this._createKanjiInfoTableItemEmpty();\n container.appendChild(n);\n }\n\n return node;\n }\n\n private _createKanjiInfoTableItem(details: Dictionary.KanjiStat): HTMLElement {\n const { content, name, value } = details;\n const node = this._instantiate('kanji-info-table-item');\n const nameNode = this._querySelector(node, '.kanji-info-table-item-header');\n const valueNode = this._querySelector(node, '.kanji-info-table-item-value');\n this._setTextContent(nameNode, content.length > 0 ? content : name);\n this._setTextContent(valueNode, typeof value === 'string' ? value : `${value}`);\n return node;\n }\n\n private _createKanjiInfoTableItemEmpty(): HTMLElement {\n return this._instantiate('kanji-info-table-empty');\n }\n\n private _createTag(tag: Dictionary.Tag): HTMLElement {\n const { content, name, category, redundant } = tag;\n const node = this._instantiate('tag');\n\n const inner = this._querySelector(node, '.tag-label-content');\n\n const contentString = content.join('\\n');\n\n node.title = contentString;\n this._setTextContent(inner, name);\n node.dataset.details = contentString.length > 0 ? contentString : name;\n node.dataset.category = category;\n if (redundant) {\n node.dataset.redundant = 'true';\n }\n\n return node;\n }\n\n private _createTermTag(tagInfo: DictionaryDataUtil.TagGroup, totalHeadwordCount: number): HTMLElement {\n const { tag, headwordIndices } = tagInfo;\n const node = this._createTag(tag);\n node.dataset.headwords = headwordIndices.join(' ');\n node.dataset.totalHeadwordCount = `${totalHeadwordCount}`;\n node.dataset.matchedHeadwordCount = `${headwordIndices.length}`;\n node.dataset.unmatchedHeadwordCount = `${Math.max(0, totalHeadwordCount - headwordIndices.length)}`;\n return node;\n }\n\n private _createTagData(name: string, category: string): Dictionary.Tag {\n return {\n name,\n category,\n order: 0,\n score: 0,\n content: [],\n dictionaries: [],\n redundant: false,\n };\n }\n\n private _createSearchTag(text: string): HTMLElement {\n return this._createTag(this._createTagData(text, 'search'));\n }\n\n private _createGroupedPronunciation(details: DictionaryDataUtil.DictionaryGroupedPronunciations): HTMLElement {\n const { dictionary, dictionaryAlias, pronunciations } = details;\n\n const node = this._instantiate('pronunciation-group');\n node.dataset.dictionary = dictionary;\n node.dataset.pronunciationsMulti = 'true';\n node.dataset.pronunciationsCount = `${pronunciations.length}`;\n\n const n1 = this._querySelector(node, '.pronunciation-group-tag-list');\n const tag = this._createTag(this._createTagData(dictionaryAlias, 'pronunciation-dictionary'));\n tag.dataset.details = dictionary;\n n1.appendChild(tag);\n\n let hasTags = false;\n for (const {\n pronunciation: { tags },\n } of pronunciations) {\n if (tags.length > 0) {\n hasTags = true;\n break;\n }\n }\n\n const n = this._querySelector(node, '.pronunciation-list');\n n.dataset.hasTags = `${hasTags}`;\n this._appendMultiple(n, this._createPronunciation.bind(this), pronunciations);\n\n return node;\n }\n\n private _createPronunciation(details: DictionaryDataUtil.GroupedPronunciation): HTMLElement {\n const { pronunciation } = details;\n switch (pronunciation.type) {\n case 'pitch-accent':\n return this._createPronunciationPitchAccent(pronunciation, details);\n case 'phonetic-transcription':\n return this._createPronunciationPhoneticTranscription(pronunciation, details);\n }\n }\n\n private _createPronunciationPhoneticTranscription(\n pronunciation: Dictionary.PhoneticTranscription,\n details: DictionaryDataUtil.GroupedPronunciation,\n ): HTMLElement {\n const { ipa, tags } = pronunciation;\n const { exclusiveTerms, exclusiveReadings } = details;\n\n const node = this._instantiate('pronunciation');\n\n node.dataset.pronunciationType = pronunciation.type;\n node.dataset.tagCount = `${tags.length}`;\n\n let n = this._querySelector(node, '.pronunciation-tag-list');\n this._appendMultiple(n, this._createTag.bind(this), tags);\n\n n = this._querySelector(node, '.pronunciation-disambiguation-list');\n this._createPronunciationDisambiguations(n, exclusiveTerms, exclusiveReadings);\n\n n = this._querySelector(node, '.pronunciation-text-container');\n this._setTextContent(n, ipa);\n\n return node;\n }\n\n private _createPronunciationPitchAccent(\n pitchAccent: Dictionary.PitchAccent,\n details: DictionaryDataUtil.GroupedPronunciation,\n ): HTMLElement {\n const { positions, nasalPositions, devoicePositions, tags } = pitchAccent;\n const { reading, exclusiveTerms, exclusiveReadings } = details;\n const morae = getKanaMorae(reading);\n\n const node = this._instantiate('pronunciation');\n\n node.dataset.pitchAccentDownstepPosition = `${positions}`;\n node.dataset.pronunciationType = pitchAccent.type;\n if (nasalPositions.length > 0) {\n node.dataset.nasalMoraPosition = nasalPositions.join(' ');\n }\n if (devoicePositions.length > 0) {\n node.dataset.devoiceMoraPosition = devoicePositions.join(' ');\n }\n node.dataset.tagCount = `${tags.length}`;\n\n let n = this._querySelector(node, '.pronunciation-tag-list');\n this._appendMultiple(n, this._createTag.bind(this), tags);\n\n n = this._querySelector(node, '.pronunciation-disambiguation-list');\n this._createPronunciationDisambiguations(n, exclusiveTerms, exclusiveReadings);\n\n n = this._querySelector(node, '.pronunciation-downstep-notation-container');\n n.appendChild(this._pronunciationGenerator.createPronunciationDownstepPosition(positions));\n\n n = this._querySelector(node, '.pronunciation-text-container');\n n.lang = this._language;\n n.appendChild(\n this._pronunciationGenerator.createPronunciationText(morae, positions, nasalPositions, devoicePositions),\n );\n\n n = this._querySelector(node, '.pronunciation-graph-container');\n n.appendChild(this._pronunciationGenerator.createPronunciationGraph(morae, positions));\n\n return node;\n }\n\n private _createPronunciationDisambiguations(\n container: HTMLElement,\n exclusiveTerms: string[],\n exclusiveReadings: string[],\n ): void {\n const templateName = 'pronunciation-disambiguation';\n for (const term of exclusiveTerms) {\n const node = this._instantiate(templateName);\n node.dataset.type = 'term';\n this._setTextContent(node, term, this._language);\n container.appendChild(node);\n }\n\n for (const exclusiveReading of exclusiveReadings) {\n const node = this._instantiate(templateName);\n node.dataset.type = 'reading';\n this._setTextContent(node, exclusiveReading, this._language);\n container.appendChild(node);\n }\n\n container.dataset.count = `${exclusiveTerms.length + exclusiveReadings.length}`;\n container.dataset.termCount = `${exclusiveTerms.length}`;\n container.dataset.readingCount = `${exclusiveReadings.length}`;\n }\n\n private _createFrequencyGroup(\n details:\n | DictionaryDataUtil.DictionaryFrequency<DictionaryDataUtil.TermFrequency>\n | DictionaryDataUtil.DictionaryFrequency<DictionaryDataUtil.KanjiFrequency>,\n kanji: boolean,\n ): HTMLElement {\n const { dictionary, dictionaryAlias, frequencies, freqCount } = details;\n\n const node = this._instantiate('frequency-group-item');\n const body = this._querySelector(node, '.tag-body-content');\n\n const tagLabel = this._querySelector(node, '.tag-label-content');\n const tag = this._querySelector(node, '.tag');\n\n this._setTextContent(tagLabel, dictionaryAlias);\n\n const ii = frequencies.length;\n for (let i = 0; i < ii; ++i) {\n const item = frequencies[i];\n const itemNode = kanji\n ? this._createKanjiFrequency(\n item as DictionaryDataUtil.KanjiFrequency,\n dictionary,\n dictionaryAlias,\n freqCount?.toString(),\n )\n : this._createTermFrequency(\n item as DictionaryDataUtil.TermFrequency,\n dictionary,\n dictionaryAlias,\n freqCount?.toString(),\n );\n itemNode.dataset.index = `${i}`;\n body.appendChild(itemNode);\n }\n\n body.dataset.count = `${ii}`;\n node.dataset.count = `${ii}`;\n node.dataset.details = dictionary;\n tag.dataset.details = `${dictionary}\\nDictionary size: ${freqCount?.toString()}${kanji ? ' kanji' : ' terms'}`;\n return node;\n }\n\n private _createTermFrequency(\n details: DictionaryDataUtil.TermFrequency,\n dictionary: string,\n dictionaryAlias: string,\n freqCount: string | undefined,\n ): HTMLElement {\n const { term, reading, values } = details;\n const node = this._instantiate('term-frequency-item');\n const tagLabel = this._querySelector(node, '.tag-label-content');\n const tag = this._querySelector(node, '.tag');\n const disambiguationTerm = this._querySelector(node, '.frequency-disambiguation-term');\n const disambiguationReading = this._querySelector(node, '.frequency-disambiguation-reading');\n const frequencyValueList = this._querySelector(node, '.frequency-value-list');\n\n this._setTextContent(tagLabel, dictionaryAlias);\n this._setTextContent(disambiguationTerm, term, this._language);\n this._setTextContent(disambiguationReading, reading !== null ? reading : '', this._language);\n this._populateFrequencyValueList(frequencyValueList, values);\n\n node.dataset.term = term;\n if (typeof reading === 'string') {\n node.dataset.reading = reading;\n }\n node.dataset.hasReading = `${reading !== null}`;\n node.dataset.readingIsSame = `${reading === term}`;\n node.dataset.dictionary = dictionary;\n node.dataset.details = dictionary;\n tag.dataset.details = `${dictionary}\\nDictionary size: ${freqCount ?? ''} terms`;\n return node;\n }\n\n private _createKanjiFrequency(\n details: DictionaryDataUtil.KanjiFrequency,\n dictionary: string,\n dictionaryAlias: string,\n freqCount: string | undefined,\n ): HTMLElement {\n const { character, values } = details;\n const node = this._instantiate('kanji-frequency-item');\n const tagLabel = this._querySelector(node, '.tag-label-content');\n const tag = this._querySelector(node, '.tag');\n const frequencyValueList = this._querySelector(node, '.frequency-value-list');\n\n this._setTextContent(tagLabel, dictionaryAlias);\n this._populateFrequencyValueList(frequencyValueList, values);\n\n node.dataset.character = character;\n node.dataset.dictionary = dictionary;\n node.dataset.details = dictionary;\n tag.dataset.details = `${dictionary}\\nDictionary size: ${freqCount ?? ''} kanji`;\n\n return node;\n }\n\n private _populateFrequencyValueList(node: HTMLElement, values: DictionaryDataUtil.FrequencyValue[]): void {\n let fullFrequency = '';\n for (let i = 0, ii = values.length; i < ii; ++i) {\n const { frequency, displayValue } = values[i];\n const frequencyString = `${frequency}`;\n const text = displayValue !== null ? displayValue : `${frequency}`;\n\n if (i > 0) {\n const node2 = this._document.createElement('span');\n node2.className = 'frequency-value';\n node2.dataset.frequency = `${frequency}`;\n node2.textContent = ', ';\n node.appendChild(node2);\n fullFrequency += ', ';\n }\n\n const node2 = this._document.createElement('span');\n node2.className = 'frequency-value';\n node2.dataset.frequency = frequencyString;\n if (displayValue !== null) {\n node2.dataset.displayValue = `${displayValue}`;\n if (displayValue !== frequencyString) {\n node2.title = frequencyString;\n }\n }\n this._setTextContent(node2, text, this._language);\n node.appendChild(node2);\n\n fullFrequency += text;\n }\n\n node.dataset.frequency = fullFrequency;\n }\n\n private _appendKanjiLinks(container: HTMLElement, text: string): void {\n let part = '';\n for (const c of text) {\n if (isCodePointKanji(c.codePointAt(0) as number)) {\n if (part.length > 0) {\n container.appendChild(this._document.createTextNode(part));\n part = '';\n }\n\n const link = this._createKanjiLink(c);\n container.appendChild(link);\n } else {\n part += c;\n }\n }\n if (part.length > 0) {\n container.appendChild(this._document.createTextNode(part));\n }\n }\n\n private _appendMultiple<TItem, TExtraArg = void>(\n container: HTMLElement,\n createItem: (item: TItem, arg: TExtraArg) => Node | null,\n detailsArray: TItem[],\n arg?: TExtraArg,\n ): number {\n let count = 0;\n const ELEMENT_NODE = 1;\n if (Array.isArray(detailsArray)) {\n for (const details of detailsArray) {\n const item = createItem(details, arg as TExtraArg);\n if (item === null) {\n continue;\n }\n container.appendChild(item);\n if (item.nodeType === ELEMENT_NODE) {\n (item as HTMLElement).dataset.index = `${count}`;\n }\n ++count;\n }\n }\n\n container.dataset.count = `${count}`;\n\n return count;\n }\n\n private _appendFurigana(\n container: HTMLElement,\n term: string,\n reading: string,\n addText: (element: HTMLElement, text: string) => void,\n ): void {\n container.lang = this._language;\n const segments = distributeFurigana(term, reading);\n for (const { text, reading: furigana } of segments) {\n if (furigana) {\n const ruby = this._document.createElement('ruby');\n const rt = this._document.createElement('rt');\n addText(ruby, text);\n ruby.appendChild(rt);\n rt.appendChild(this._document.createTextNode(furigana));\n container.appendChild(ruby);\n } else {\n addText(container, text);\n }\n }\n }\n\n private _createDictionaryTag(dictionary: string): Dictionary.Tag {\n return this._createTagData(dictionary, 'dictionary');\n }\n\n private _setTextContent(node: HTMLElement, value: string, language?: string): void {\n this._setElementLanguage(node, language, value);\n node.textContent = value;\n }\n\n private _setMultilineTextContent(node: HTMLElement, value: string, language?: string): void {\n this._setElementLanguage(node, language, value);\n\n let start = 0;\n while (true) {\n const end = value.indexOf('\\n', start);\n if (end < 0) {\n break;\n }\n node.appendChild(this._document.createTextNode(value.substring(start, end)));\n node.appendChild(this._document.createElement('br'));\n start = end + 1;\n }\n\n if (start < value.length) {\n node.appendChild(this._document.createTextNode(start === 0 ? value : value.substring(start)));\n }\n }\n\n private _setElementLanguage(element: HTMLElement, language: string | undefined, content: string): void {\n if (typeof language === 'string') {\n element.lang = language;\n } else {\n const language2 = getLanguageFromText(content, this._language);\n if (language2 !== null) {\n element.lang = language2;\n }\n }\n }\n\n private _getPronunciationCategories(\n reading: string,\n termPronunciations: Dictionary.TermPronunciation[],\n wordClasses: string[],\n headwordIndex: number,\n ): string | null {\n if (termPronunciations.length === 0) {\n return null;\n }\n const isVerbOrAdjective = isNonNounVerbOrAdjective(wordClasses);\n const categories = new Set<PitchCategory>();\n for (const termPronunciation of termPronunciations) {\n if (termPronunciation.headwordIndex !== headwordIndex) {\n continue;\n }\n for (const pronunciation of termPronunciation.pronunciations) {\n if (pronunciation.type !== 'pitch-accent') {\n continue;\n }\n const category = getPitchCategory(reading, pronunciation.positions, isVerbOrAdjective);\n if (category !== null) {\n categories.add(category);\n }\n }\n }\n return categories.size > 0 ? [...categories].join(' ') : null;\n }\n\n private _instantiate(name: string): HTMLElement {\n return this._templates.instantiate(name);\n }\n\n private _querySelector(element: Element | DocumentFragment, selector: string): HTMLElement {\n const result = element.querySelector(selector);\n if (result === null) {\n throw new Error(`Failed to find element: ${selector}`);\n }\n return result as HTMLElement;\n }\n}\n"],"mappings":"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"}