yomitan-core 1.0.2 → 1.2.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 (198) hide show
  1. package/README.md +8 -1
  2. package/dist/anki-connect-B2UXtiUS.js +6 -0
  3. package/dist/anki-connect-BXvjYYm0.cjs +6 -0
  4. package/dist/{anki-connect-B_YpChhu.cjs → anki-connect-DGx7Gr0H.cjs} +3 -3
  5. package/dist/{anki-connect-B_YpChhu.cjs.map → anki-connect-DGx7Gr0H.cjs.map} +1 -1
  6. package/dist/{anki-connect-697E04LF.js → anki-connect-Dau8nAXZ.js} +3 -3
  7. package/dist/{anki-connect-697E04LF.js.map → anki-connect-Dau8nAXZ.js.map} +1 -1
  8. package/dist/anki.cjs +6 -6
  9. package/dist/anki.d.cts.map +1 -1
  10. package/dist/anki.d.ts +2 -2
  11. package/dist/anki.d.ts.map +1 -1
  12. package/dist/anki.js +6 -6
  13. package/dist/{audio-ZuaDkaUZ.d.ts → audio-DN-FhZ5k.d.ts} +1 -1
  14. package/dist/{audio-ZuaDkaUZ.d.ts.map → audio-DN-FhZ5k.d.ts.map} +1 -1
  15. package/dist/{audio-url-generator-CgTMaTM2.js → audio-url-generator-C7mkxYeq.js} +2 -2
  16. package/dist/{audio-url-generator-CfXaxZ47.cjs → audio-url-generator-CZECihX-.cjs} +2 -2
  17. package/dist/{audio-url-generator-C23AXVj1.cjs → audio-url-generator-CorFRyBU.cjs} +2 -2
  18. package/dist/{audio-url-generator-C23AXVj1.cjs.map → audio-url-generator-CorFRyBU.cjs.map} +1 -1
  19. package/dist/{audio-url-generator-DykdzZJu.js → audio-url-generator-_6Qk0i3T.js} +2 -2
  20. package/dist/{audio-url-generator-DykdzZJu.js.map → audio-url-generator-_6Qk0i3T.js.map} +1 -1
  21. package/dist/audio.cjs +2 -2
  22. package/dist/audio.d.ts +2 -2
  23. package/dist/audio.js +2 -2
  24. package/dist/{batch-processor-CXZZhx5t.js → batch-processor-BR-gB3H3.js} +1 -1
  25. package/dist/{batch-processor-CXZZhx5t.js.map → batch-processor-BR-gB3H3.js.map} +1 -1
  26. package/dist/batch-processor-CSF1acTw.cjs +3 -0
  27. package/dist/{batch-processor-C8pSzqRE.cjs → batch-processor-DFqM_L-_.cjs} +1 -1
  28. package/dist/{batch-processor-C8pSzqRE.cjs.map → batch-processor-DFqM_L-_.cjs.map} +1 -1
  29. package/dist/batch-processor-Quo9jUyf.js +3 -0
  30. package/dist/{core-C_0QjRBI.d.ts → core-CRjMTF7c.d.ts} +1 -1
  31. package/dist/{core-C_0QjRBI.d.ts.map → core-CRjMTF7c.d.ts.map} +1 -1
  32. package/dist/database.d.ts +3 -3
  33. package/dist/debug-I2dyAd2e.cjs +51 -0
  34. package/dist/debug-I2dyAd2e.cjs.map +1 -0
  35. package/dist/debug-hF63AFkq.js +38 -0
  36. package/dist/debug-hF63AFkq.js.map +1 -0
  37. package/dist/{dictionary-CfzEFbXZ.d.ts → dictionary-DdxghSJP.d.ts} +1 -1
  38. package/dist/{dictionary-CfzEFbXZ.d.ts.map → dictionary-DdxghSJP.d.ts.map} +1 -1
  39. package/dist/{dictionary-data-util-BY_72f3u.cjs → dictionary-data-util-DmLJMtGc.cjs} +1 -1
  40. package/dist/{dictionary-data-util-BY_72f3u.cjs.map → dictionary-data-util-DmLJMtGc.cjs.map} +1 -1
  41. package/dist/{dictionary-data-util-CKDT7n2t.js → dictionary-data-util-gUUD9ElK.js} +1 -1
  42. package/dist/{dictionary-data-util-CKDT7n2t.js.map → dictionary-data-util-gUUD9ElK.js.map} +1 -1
  43. package/dist/{dictionary-database-BRAqOF_M.d.ts → dictionary-database-D0lvK2n3.d.ts} +2 -2
  44. package/dist/{dictionary-database-BRAqOF_M.d.ts.map → dictionary-database-D0lvK2n3.d.ts.map} +1 -1
  45. package/dist/{dictionary-importer-C7mNL5CJ.js → dictionary-importer-BPlLeF5R.js} +5 -5
  46. package/dist/{dictionary-importer-C7mNL5CJ.js.map → dictionary-importer-BPlLeF5R.js.map} +1 -1
  47. package/dist/{dictionary-importer-CbMwsqEX.cjs → dictionary-importer-BvgP1Fs9.cjs} +5 -5
  48. package/dist/{dictionary-importer-CbMwsqEX.cjs.map → dictionary-importer-BvgP1Fs9.cjs.map} +1 -1
  49. package/dist/{dictionary-importer-C-AlWsIN.d.ts → dictionary-importer-CDbCAbwG.d.ts} +2 -2
  50. package/dist/{dictionary-importer-C-AlWsIN.d.ts.map → dictionary-importer-CDbCAbwG.d.ts.map} +1 -1
  51. package/dist/dictionary-importer-DEMVqTjR.js +8 -0
  52. package/dist/dictionary-importer-Luz6usUQ.cjs +8 -0
  53. package/dist/{dictionary-update-checker-DE2ymYcs.js → dictionary-update-checker-CLbtQ48X.js} +2 -2
  54. package/dist/{dictionary-update-checker-DE2ymYcs.js.map → dictionary-update-checker-CLbtQ48X.js.map} +1 -1
  55. package/dist/dictionary-update-checker-CsS7MxK_.js +4 -0
  56. package/dist/{dictionary-update-checker-CU3q0aoP.cjs → dictionary-update-checker-DgjPsURI.cjs} +2 -2
  57. package/dist/{dictionary-update-checker-xIwF77-R.cjs → dictionary-update-checker-DmiIUoKw.cjs} +2 -2
  58. package/dist/{dictionary-update-checker-xIwF77-R.cjs.map → dictionary-update-checker-DmiIUoKw.cjs.map} +1 -1
  59. package/dist/{display-generator-vjbG05fn.js → display-generator-BAEJDrHT.js} +9 -7
  60. package/dist/display-generator-BAEJDrHT.js.map +1 -0
  61. package/dist/display-generator-D5fkD0JI.cjs +10 -0
  62. package/dist/display-generator-DZLMaVuP.js +10 -0
  63. package/dist/{display-generator-BhV_MOD1.cjs → display-generator-D_0chBzj.cjs} +9 -7
  64. package/dist/display-generator-D_0chBzj.cjs.map +1 -0
  65. package/dist/{errors-ZI2FcGUl.cjs → errors-0pIJI6N2.cjs} +1 -1
  66. package/dist/{errors-ZI2FcGUl.cjs.map → errors-0pIJI6N2.cjs.map} +1 -1
  67. package/dist/{errors-D2JfYV-C.js → errors-DvKlMRXC.js} +1 -1
  68. package/dist/{errors-D2JfYV-C.js.map → errors-DvKlMRXC.js.map} +1 -1
  69. package/dist/frequency-ranking-BXjfhhUQ.js +3 -0
  70. package/dist/{frequency-ranking-DmNIoxut.cjs → frequency-ranking-Cx1kkIrw.cjs} +1 -1
  71. package/dist/{frequency-ranking-DzbdZghE.js → frequency-ranking-DEJMTMdg.js} +1 -1
  72. package/dist/{frequency-ranking-DzbdZghE.js.map → frequency-ranking-DEJMTMdg.js.map} +1 -1
  73. package/dist/{frequency-ranking-Dm6xCMkY.cjs → frequency-ranking-DVYxTXN-.cjs} +1 -1
  74. package/dist/{frequency-ranking-Dm6xCMkY.cjs.map → frequency-ranking-DVYxTXN-.cjs.map} +1 -1
  75. package/dist/furigana-MU_j_m5i.cjs +5 -0
  76. package/dist/{furigana-BnY7-dJ-.cjs → furigana-SZuBaUyl.cjs} +2 -2
  77. package/dist/{furigana-BnY7-dJ-.cjs.map → furigana-SZuBaUyl.cjs.map} +1 -1
  78. package/dist/furigana-ZCs0Xs0b.js +5 -0
  79. package/dist/{furigana-CI6LUA-6.js → furigana-h18vaQ7a.js} +2 -2
  80. package/dist/{furigana-CI6LUA-6.js.map → furigana-h18vaQ7a.js.map} +1 -1
  81. package/dist/import.cjs +6 -6
  82. package/dist/import.d.ts +3 -3
  83. package/dist/import.js +6 -6
  84. package/dist/index.cjs +44 -18
  85. package/dist/index.cjs.map +1 -1
  86. package/dist/index.d.cts +3 -3
  87. package/dist/index.d.cts.map +1 -1
  88. package/dist/index.d.ts +10 -10
  89. package/dist/index.d.ts.map +1 -1
  90. package/dist/index.js +44 -18
  91. package/dist/index.js.map +1 -1
  92. package/dist/{japanese-BVV1Ctk-.cjs → japanese-C83fmEfb.cjs} +1 -1
  93. package/dist/{japanese-BVV1Ctk-.cjs.map → japanese-C83fmEfb.cjs.map} +1 -1
  94. package/dist/{japanese-DhmmW35J.js → japanese-OKEGf_i4.js} +2 -2
  95. package/dist/{japanese-DhmmW35J.js.map → japanese-OKEGf_i4.js.map} +1 -1
  96. package/dist/{json-CyQBn52D.cjs → json-Cdj6aIOQ.cjs} +1 -1
  97. package/dist/{json-CyQBn52D.cjs.map → json-Cdj6aIOQ.cjs.map} +1 -1
  98. package/dist/{json-DTq_IXXF.js → json-rIgOFqVY.js} +1 -1
  99. package/dist/{json-DTq_IXXF.js.map → json-rIgOFqVY.js.map} +1 -1
  100. package/dist/{language-DFFp_7nc.d.ts → language-DMwuc2-C.d.ts} +1 -1
  101. package/dist/{language-DFFp_7nc.d.ts.map → language-DMwuc2-C.d.ts.map} +1 -1
  102. package/dist/language.cjs +12 -12
  103. package/dist/language.d.cts +41 -3
  104. package/dist/language.d.cts.map +1 -1
  105. package/dist/language.d.ts +44 -6
  106. package/dist/language.d.ts.map +1 -1
  107. package/dist/language.js +5 -5
  108. package/dist/lookup.cjs +7 -6
  109. package/dist/lookup.d.cts +5 -78
  110. package/dist/lookup.d.cts.map +1 -1
  111. package/dist/lookup.d.ts +8 -81
  112. package/dist/lookup.d.ts.map +1 -1
  113. package/dist/lookup.js +7 -6
  114. package/dist/{media-loader-CMEuD0fn.js → media-loader-C1WZVVaA.js} +1 -1
  115. package/dist/{media-loader-CMEuD0fn.js.map → media-loader-C1WZVVaA.js.map} +1 -1
  116. package/dist/media-loader-CWNb22gc.cjs +3 -0
  117. package/dist/media-loader-CrQnDnSp.js +3 -0
  118. package/dist/{media-loader-DS2ZXpSI.cjs → media-loader-RE32nGs3.cjs} +1 -1
  119. package/dist/{media-loader-DS2ZXpSI.cjs.map → media-loader-RE32nGs3.cjs.map} +1 -1
  120. package/dist/{multi-language-transformer-CjLO0S8V.d.ts → multi-language-transformer-CFu0CVWY.d.ts} +3 -3
  121. package/dist/{multi-language-transformer-CjLO0S8V.d.ts.map → multi-language-transformer-CFu0CVWY.d.ts.map} +1 -1
  122. package/dist/multi-language-transformer-Dk8S4W6j.js +12503 -0
  123. package/dist/multi-language-transformer-Dk8S4W6j.js.map +1 -0
  124. package/dist/{multi-language-transformer-B2133Zg_.cjs → multi-language-transformer-N66Mmb2E.cjs} +9614 -5
  125. package/dist/multi-language-transformer-N66Mmb2E.cjs.map +1 -0
  126. package/dist/{pronunciation-generator-cNtAQi5s.js → pronunciation-generator-BXcwS3By.js} +2 -2
  127. package/dist/{pronunciation-generator-cNtAQi5s.js.map → pronunciation-generator-BXcwS3By.js.map} +1 -1
  128. package/dist/{pronunciation-generator-CPwnr43z.cjs → pronunciation-generator-CP1kjYje.cjs} +1 -1
  129. package/dist/{pronunciation-generator-B8y__W7I.cjs → pronunciation-generator-CeC3LFPU.cjs} +1 -1
  130. package/dist/{pronunciation-generator-B8y__W7I.cjs.map → pronunciation-generator-CeC3LFPU.cjs.map} +1 -1
  131. package/dist/{pronunciation-generator-BvTbUlOy.js → pronunciation-generator-I1xpdJu0.js} +1 -1
  132. package/dist/render.cjs +96 -8
  133. package/dist/render.cjs.map +1 -1
  134. package/dist/render.d.cts +33 -3
  135. package/dist/render.d.cts.map +1 -1
  136. package/dist/render.d.ts +35 -5
  137. package/dist/render.d.ts.map +1 -1
  138. package/dist/render.js +95 -9
  139. package/dist/render.js.map +1 -1
  140. package/dist/{sentence-parser-DUQJ3cTT.cjs → sentence-parser-8i1Y_OGS.cjs} +74 -46
  141. package/dist/sentence-parser-8i1Y_OGS.cjs.map +1 -0
  142. package/dist/{translator-TiTDVbmS.d.cts → sentence-parser-BQpu2oSA.d.cts} +80 -4
  143. package/dist/sentence-parser-BQpu2oSA.d.cts.map +1 -0
  144. package/dist/{sentence-parser-sx7y6Oyh.js → sentence-parser-CXDs4R_c.js} +74 -46
  145. package/dist/sentence-parser-CXDs4R_c.js.map +1 -0
  146. package/dist/{translator-CYvGmODX.d.ts → sentence-parser-CmsHUc_p.d.ts} +81 -5
  147. package/dist/sentence-parser-CmsHUc_p.d.ts.map +1 -0
  148. package/dist/sentence-parser-DQccqSpq.cjs +6 -0
  149. package/dist/sentence-parser-DsleseSI.js +6 -0
  150. package/dist/structured-content-generator-BhEkwa0T.js +4 -0
  151. package/dist/{structured-content-generator-C5Hhaurz.cjs → structured-content-generator-CokLKgrb.cjs} +2 -2
  152. package/dist/{structured-content-generator-C5Hhaurz.cjs.map → structured-content-generator-CokLKgrb.cjs.map} +1 -1
  153. package/dist/{structured-content-generator-D48bLhPA.cjs → structured-content-generator-_z5dJECG.cjs} +2 -2
  154. package/dist/{structured-content-generator-aJieXElq.js → structured-content-generator-gnjtdBcC.js} +2 -2
  155. package/dist/{structured-content-generator-aJieXElq.js.map → structured-content-generator-gnjtdBcC.js.map} +1 -1
  156. package/dist/{text-utilities-CFDC9Bkr.cjs → text-utilities-CTsN1Bq8.cjs} +1 -1
  157. package/dist/{text-utilities-CFDC9Bkr.cjs.map → text-utilities-CTsN1Bq8.cjs.map} +1 -1
  158. package/dist/{text-utilities-D5eno9GK.js → text-utilities-DjLdStjv.js} +1 -1
  159. package/dist/{text-utilities-D5eno9GK.js.map → text-utilities-DjLdStjv.js.map} +1 -1
  160. package/dist/translator-BGI37WRC.js +7 -0
  161. package/dist/translator-Cd1ECBM1.cjs +7 -0
  162. package/dist/{translator-B1uTusjx.cjs → translator-ClzybVmi.cjs} +2 -2
  163. package/dist/{translator-B1uTusjx.cjs.map → translator-ClzybVmi.cjs.map} +1 -1
  164. package/dist/{translator-CrDE1UJW.js → translator-jFVzLjEs.js} +2 -2
  165. package/dist/{translator-CrDE1UJW.js.map → translator-jFVzLjEs.js.map} +1 -1
  166. package/package.json +1 -1
  167. package/dist/anki-connect-D-02BbHi.cjs +0 -6
  168. package/dist/anki-connect-Vn-cnxs8.js +0 -6
  169. package/dist/batch-processor-DItpL6Pp.js +0 -3
  170. package/dist/batch-processor-fiLvFS2_.cjs +0 -3
  171. package/dist/dictionary-importer-B9M3SD2y.js +0 -8
  172. package/dist/dictionary-importer-DnR8Bsai.cjs +0 -8
  173. package/dist/dictionary-update-checker-Cnjz4tQD.js +0 -4
  174. package/dist/display-generator-BhV_MOD1.cjs.map +0 -1
  175. package/dist/display-generator-Cn4vCiSI.js +0 -10
  176. package/dist/display-generator-G2e03o0R.cjs +0 -10
  177. package/dist/display-generator-vjbG05fn.js.map +0 -1
  178. package/dist/frequency-ranking-B-kvnxro.js +0 -3
  179. package/dist/furigana-cpPhFnBv.cjs +0 -5
  180. package/dist/furigana-kZjqnnFC.js +0 -5
  181. package/dist/japanese-DdsS8rT1.d.ts +0 -41
  182. package/dist/japanese-DdsS8rT1.d.ts.map +0 -1
  183. package/dist/japanese-DgmP3i76.d.cts +0 -41
  184. package/dist/japanese-DgmP3i76.d.cts.map +0 -1
  185. package/dist/media-loader-BBTESZXn.cjs +0 -3
  186. package/dist/media-loader-CNKoAjQs.js +0 -3
  187. package/dist/multi-language-transformer-B2133Zg_.cjs.map +0 -1
  188. package/dist/multi-language-transformer-BkwMTV2g.js +0 -2893
  189. package/dist/multi-language-transformer-BkwMTV2g.js.map +0 -1
  190. package/dist/sentence-parser-B-gM8mKk.js +0 -5
  191. package/dist/sentence-parser-Cp3cm_QU.cjs +0 -5
  192. package/dist/sentence-parser-DUQJ3cTT.cjs.map +0 -1
  193. package/dist/sentence-parser-sx7y6Oyh.js.map +0 -1
  194. package/dist/structured-content-generator-Dww8IT7Y.js +0 -4
  195. package/dist/translator-BiTHo9Nm.js +0 -7
  196. package/dist/translator-CYvGmODX.d.ts.map +0 -1
  197. package/dist/translator-TiTDVbmS.d.cts.map +0 -1
  198. package/dist/translator-Y7Haj_qJ.cjs +0 -7
package/dist/render.d.cts CHANGED
@@ -419,8 +419,36 @@ declare const STRUCTURED_CONTENT_CSS = "/*\n * Copyright (C) 2023-2025 Yomitan
419
419
  declare const PRONUNCIATION_CSS = "/*\n * Copyright (C) 2023-2025 Yomitan Authors\n * Copyright (C) 2021-2022 Yomichan Authors\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the entrys 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:root {\n --pronunciation-annotation-color: #000000;\n}\n:root[data-theme=dark] {\n --pronunciation-annotation-color: #ffffff;\n}\n\n.pronunciation-downstep-notation {\n display: inline;\n}\n\n.pronunciation-text {\n display: inline;\n}\n.pronunciation-mora {\n display: inline-block;\n position: relative;\n}\n.pronunciation-mora-line {\n border-color: var(--pronunciation-annotation-color);\n}\n.pronunciation-mora[data-pitch=high]>.pronunciation-mora-line {\n display: block;\n user-select: none;\n pointer-events: none;\n position: absolute;\n top: 0.1em;\n left: 0;\n right: 0;\n height: 0;\n border-top-width: 0.1em;\n border-top-style: solid;\n}\n.pronunciation-mora[data-pitch=high][data-pitch-next=low]>.pronunciation-mora-line {\n right: -0.1em;\n height: 0.4em;\n border-right-width: 0.1em;\n border-right-style: solid;\n}\n.pronunciation-mora[data-pitch=high][data-pitch-next=low] {\n padding-right: 0.1em;\n margin-right: 0.1em;\n}\n.pronunciation-devoice-indicator {\n display: block;\n position: absolute;\n left: 50%;\n top: 50%;\n width: 1.125em;\n height: 1.125em;\n border: calc(1.5em / var(--font-size-no-units)) dotted var(--danger-color);\n border-radius: 50%;\n box-sizing: border-box;\n z-index: 1;\n transform: translate(-50%, -50%);\n}\n.pronunciation-nasal-indicator {\n display: block;\n position: absolute;\n right: -0.125em;\n top: 0.125em;\n width: 0.375em;\n height: 0.375em;\n border: calc(1.5em / var(--font-size-no-units)) solid var(--danger-color);\n border-radius: 50%;\n box-sizing: border-box;\n z-index: 1;\n}\n.pronunciation-nasal-diacritic {\n position: absolute;\n width: 0;\n height: 0;\n opacity: 0;\n}\n.pronunciation-character {\n display: inline;\n}\n.pronunciation-character-group {\n display: inline-block;\n position: relative;\n}\n\n.pronunciation-graph {\n display: inline-block;\n vertical-align: middle;\n height: 1.5em;\n}\n.pronunciation-graph-line,\n.pronunciation-graph-line-tail {\n fill: none;\n stroke: var(--pronunciation-annotation-color);\n stroke-width: 5;\n}\n.pronunciation-graph-line-tail {\n stroke-dasharray: 5 5;\n}\n.pronunciation-graph-dot {\n fill: var(--pronunciation-annotation-color);\n stroke: var(--pronunciation-annotation-color);\n stroke-width: 5;\n}\n.pronunciation-graph-dot-downstep1 {\n fill: none;\n stroke: var(--pronunciation-annotation-color);\n stroke-width: 5;\n}\n.pronunciation-graph-dot-downstep2 {\n fill: var(--pronunciation-annotation-color);\n}\n.pronunciation-graph-triangle {\n fill: none;\n stroke: var(--pronunciation-annotation-color);\n stroke-width: 5;\n}\n";
420
420
 
421
421
  //#endregion
422
- //#region src/render/display-render-preset.d.ts
422
+ //#region src/render/popup-theme.d.ts
423
423
  //# sourceMappingURL=pronunciation-styles.d.ts.map
424
+ type PopupTheme = 'light' | 'dark' | 'browser' | 'site';
425
+ type ResolvedTheme = 'light' | 'dark';
426
+ type PopupThemeResolveOptions = {
427
+ theme?: PopupTheme;
428
+ siteTheme?: ResolvedTheme | null;
429
+ siteOverride?: boolean;
430
+ document?: Document;
431
+ browserTheme?: ResolvedTheme;
432
+ };
433
+ type ResolvedPopupThemeInfo = {
434
+ theme: ResolvedTheme;
435
+ siteTheme: ResolvedTheme;
436
+ browserTheme: ResolvedTheme;
437
+ themeRaw: PopupTheme;
438
+ };
439
+ /**
440
+ * Resolves popup theme modes into a concrete light/dark theme value.
441
+ * Mirrors the extension behavior used by ThemeController for popup content.
442
+ */
443
+ declare function resolvePopupTheme(options?: PopupThemeResolveOptions): ResolvedPopupThemeInfo;
444
+ /**
445
+ * Applies resolved popup theme attributes to a document element.
446
+ */
447
+ declare function applyPopupTheme(documentElement: HTMLElement, options?: PopupThemeResolveOptions): ResolvedPopupThemeInfo;
448
+
449
+ //#endregion
450
+ //#region src/render/display-render-preset.d.ts
451
+ //# sourceMappingURL=popup-theme.d.ts.map
424
452
  /**
425
453
  * Default document dataset values used by Yomitan extension popup rendering.
426
454
  * These values drive conditional display CSS behavior.
@@ -448,10 +476,12 @@ declare const EXTENSION_DISPLAY_DATASET_DEFAULTS: {
448
476
  * Applies extension-equivalent rendering defaults to an HTML element dataset.
449
477
  * Typically this should be called with `document.documentElement`.
450
478
  */
451
- declare function applyExtensionDisplayDefaults(documentElement: HTMLElement): void;
479
+ declare function applyExtensionDisplayDefaults(documentElement: HTMLElement, options?: {
480
+ popupTheme?: PopupThemeResolveOptions;
481
+ }): void;
452
482
 
453
483
  //#endregion
454
484
  //# sourceMappingURL=display-render-preset.d.ts.map
455
485
 
456
- export { ContentManager, DISPLAY_CSS, DISPLAY_TEMPLATES, DiacriticType, DisplayGenerator, EXTENSION_DISPLAY_DATASET_DEFAULTS, HtmlTemplateCollection, NoOpContentManager, PRONUNCIATION_CSS, PitchCategory, PronunciationGenerator, STRUCTURED_CONTENT_CSS, StructuredContentGenerator, addScopeToCss, addScopeToCssLegacy, applyExtensionDisplayDefaults, getDownstepPositions, getKanaDiacriticInfo, getKanaMoraCount, getKanaMorae, getPitchCategory, isCodePointKanji, isMoraPitchHigh, sanitizeCSS };
486
+ export { ContentManager, DISPLAY_CSS, DISPLAY_TEMPLATES, DiacriticType, DisplayGenerator, EXTENSION_DISPLAY_DATASET_DEFAULTS, HtmlTemplateCollection, NoOpContentManager, PRONUNCIATION_CSS, PitchCategory, PopupTheme, PopupThemeResolveOptions, PronunciationGenerator, ResolvedPopupThemeInfo, ResolvedTheme, STRUCTURED_CONTENT_CSS, StructuredContentGenerator, addScopeToCss, addScopeToCssLegacy, applyExtensionDisplayDefaults, applyPopupTheme, getDownstepPositions, getKanaDiacriticInfo, getKanaMoraCount, getKanaMorae, getPitchCategory, isCodePointKanji, isMoraPitchHigh, resolvePopupTheme, sanitizeCSS };
457
487
  //# sourceMappingURL=render.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.cts","names":[],"sources":["../src/render/content-manager.ts","../src/render/display-generator.ts","../src/render/structured-content-generator.ts","../src/render/pronunciation-generator.ts","../src/render/html-template-collection.ts","../src/render/css-util.ts","../src/render/japanese-util.ts","../src/render/templates/display-templates.ts","../src/render/styles/display-styles.ts","../src/render/styles/structured-content-styles.ts","../src/render/styles/pronunciation-styles.ts","../src/render/display-render-preset.ts"],"sourcesContent":null,"mappings":"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"}
1
+ {"version":3,"file":"render.d.cts","names":[],"sources":["../src/render/content-manager.ts","../src/render/display-generator.ts","../src/render/structured-content-generator.ts","../src/render/pronunciation-generator.ts","../src/render/html-template-collection.ts","../src/render/css-util.ts","../src/render/japanese-util.ts","../src/render/templates/display-templates.ts","../src/render/styles/display-styles.ts","../src/render/styles/structured-content-styles.ts","../src/render/styles/pronunciation-styles.ts","../src/render/popup-theme.ts","../src/render/display-render-preset.ts"],"sourcesContent":null,"mappings":"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"}
package/dist/render.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { Content, ImageElement, KanjiDictionaryEntry, TermDictionaryEntry, TermGlossaryImage } from "./dictionary-CfzEFbXZ.js";
2
- import { Summary } from "./dictionary-importer-C-AlWsIN.js";
1
+ import { Content, ImageElement, KanjiDictionaryEntry, TermDictionaryEntry, TermGlossaryImage } from "./dictionary-DdxghSJP.js";
2
+ import { Summary } from "./dictionary-importer-CDbCAbwG.js";
3
3
 
4
4
  //#region src/render/content-manager.d.ts
5
5
  /**
@@ -419,8 +419,36 @@ declare const STRUCTURED_CONTENT_CSS = "/*\n * Copyright (C) 2023-2025 Yomitan
419
419
  declare const PRONUNCIATION_CSS = "/*\n * Copyright (C) 2023-2025 Yomitan Authors\n * Copyright (C) 2021-2022 Yomichan Authors\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the entrys 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:root {\n --pronunciation-annotation-color: #000000;\n}\n:root[data-theme=dark] {\n --pronunciation-annotation-color: #ffffff;\n}\n\n.pronunciation-downstep-notation {\n display: inline;\n}\n\n.pronunciation-text {\n display: inline;\n}\n.pronunciation-mora {\n display: inline-block;\n position: relative;\n}\n.pronunciation-mora-line {\n border-color: var(--pronunciation-annotation-color);\n}\n.pronunciation-mora[data-pitch=high]>.pronunciation-mora-line {\n display: block;\n user-select: none;\n pointer-events: none;\n position: absolute;\n top: 0.1em;\n left: 0;\n right: 0;\n height: 0;\n border-top-width: 0.1em;\n border-top-style: solid;\n}\n.pronunciation-mora[data-pitch=high][data-pitch-next=low]>.pronunciation-mora-line {\n right: -0.1em;\n height: 0.4em;\n border-right-width: 0.1em;\n border-right-style: solid;\n}\n.pronunciation-mora[data-pitch=high][data-pitch-next=low] {\n padding-right: 0.1em;\n margin-right: 0.1em;\n}\n.pronunciation-devoice-indicator {\n display: block;\n position: absolute;\n left: 50%;\n top: 50%;\n width: 1.125em;\n height: 1.125em;\n border: calc(1.5em / var(--font-size-no-units)) dotted var(--danger-color);\n border-radius: 50%;\n box-sizing: border-box;\n z-index: 1;\n transform: translate(-50%, -50%);\n}\n.pronunciation-nasal-indicator {\n display: block;\n position: absolute;\n right: -0.125em;\n top: 0.125em;\n width: 0.375em;\n height: 0.375em;\n border: calc(1.5em / var(--font-size-no-units)) solid var(--danger-color);\n border-radius: 50%;\n box-sizing: border-box;\n z-index: 1;\n}\n.pronunciation-nasal-diacritic {\n position: absolute;\n width: 0;\n height: 0;\n opacity: 0;\n}\n.pronunciation-character {\n display: inline;\n}\n.pronunciation-character-group {\n display: inline-block;\n position: relative;\n}\n\n.pronunciation-graph {\n display: inline-block;\n vertical-align: middle;\n height: 1.5em;\n}\n.pronunciation-graph-line,\n.pronunciation-graph-line-tail {\n fill: none;\n stroke: var(--pronunciation-annotation-color);\n stroke-width: 5;\n}\n.pronunciation-graph-line-tail {\n stroke-dasharray: 5 5;\n}\n.pronunciation-graph-dot {\n fill: var(--pronunciation-annotation-color);\n stroke: var(--pronunciation-annotation-color);\n stroke-width: 5;\n}\n.pronunciation-graph-dot-downstep1 {\n fill: none;\n stroke: var(--pronunciation-annotation-color);\n stroke-width: 5;\n}\n.pronunciation-graph-dot-downstep2 {\n fill: var(--pronunciation-annotation-color);\n}\n.pronunciation-graph-triangle {\n fill: none;\n stroke: var(--pronunciation-annotation-color);\n stroke-width: 5;\n}\n";
420
420
 
421
421
  //#endregion
422
- //#region src/render/display-render-preset.d.ts
422
+ //#region src/render/popup-theme.d.ts
423
423
  //# sourceMappingURL=pronunciation-styles.d.ts.map
424
+ type PopupTheme = 'light' | 'dark' | 'browser' | 'site';
425
+ type ResolvedTheme = 'light' | 'dark';
426
+ type PopupThemeResolveOptions = {
427
+ theme?: PopupTheme;
428
+ siteTheme?: ResolvedTheme | null;
429
+ siteOverride?: boolean;
430
+ document?: Document;
431
+ browserTheme?: ResolvedTheme;
432
+ };
433
+ type ResolvedPopupThemeInfo = {
434
+ theme: ResolvedTheme;
435
+ siteTheme: ResolvedTheme;
436
+ browserTheme: ResolvedTheme;
437
+ themeRaw: PopupTheme;
438
+ };
439
+ /**
440
+ * Resolves popup theme modes into a concrete light/dark theme value.
441
+ * Mirrors the extension behavior used by ThemeController for popup content.
442
+ */
443
+ declare function resolvePopupTheme(options?: PopupThemeResolveOptions): ResolvedPopupThemeInfo;
444
+ /**
445
+ * Applies resolved popup theme attributes to a document element.
446
+ */
447
+ declare function applyPopupTheme(documentElement: HTMLElement, options?: PopupThemeResolveOptions): ResolvedPopupThemeInfo;
448
+
449
+ //#endregion
450
+ //#region src/render/display-render-preset.d.ts
451
+ //# sourceMappingURL=popup-theme.d.ts.map
424
452
  /**
425
453
  * Default document dataset values used by Yomitan extension popup rendering.
426
454
  * These values drive conditional display CSS behavior.
@@ -448,10 +476,12 @@ declare const EXTENSION_DISPLAY_DATASET_DEFAULTS: {
448
476
  * Applies extension-equivalent rendering defaults to an HTML element dataset.
449
477
  * Typically this should be called with `document.documentElement`.
450
478
  */
451
- declare function applyExtensionDisplayDefaults(documentElement: HTMLElement): void;
479
+ declare function applyExtensionDisplayDefaults(documentElement: HTMLElement, options?: {
480
+ popupTheme?: PopupThemeResolveOptions;
481
+ }): void;
452
482
 
453
483
  //#endregion
454
484
  //# sourceMappingURL=display-render-preset.d.ts.map
455
485
 
456
- export { ContentManager, DISPLAY_CSS, DISPLAY_TEMPLATES, DiacriticType, DisplayGenerator, EXTENSION_DISPLAY_DATASET_DEFAULTS, HtmlTemplateCollection, NoOpContentManager, PRONUNCIATION_CSS, PitchCategory, PronunciationGenerator, STRUCTURED_CONTENT_CSS, StructuredContentGenerator, addScopeToCss, addScopeToCssLegacy, applyExtensionDisplayDefaults, getDownstepPositions, getKanaDiacriticInfo, getKanaMoraCount, getKanaMorae, getPitchCategory, isCodePointKanji, isMoraPitchHigh, sanitizeCSS };
486
+ export { ContentManager, DISPLAY_CSS, DISPLAY_TEMPLATES, DiacriticType, DisplayGenerator, EXTENSION_DISPLAY_DATASET_DEFAULTS, HtmlTemplateCollection, NoOpContentManager, PRONUNCIATION_CSS, PitchCategory, PopupTheme, PopupThemeResolveOptions, PronunciationGenerator, ResolvedPopupThemeInfo, ResolvedTheme, STRUCTURED_CONTENT_CSS, StructuredContentGenerator, addScopeToCss, addScopeToCssLegacy, applyExtensionDisplayDefaults, applyPopupTheme, getDownstepPositions, getKanaDiacriticInfo, getKanaMoraCount, getKanaMorae, getPitchCategory, isCodePointKanji, isMoraPitchHigh, resolvePopupTheme, sanitizeCSS };
457
487
  //# sourceMappingURL=render.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","names":[],"sources":["../src/render/content-manager.ts","../src/render/display-generator.ts","../src/render/structured-content-generator.ts","../src/render/pronunciation-generator.ts","../src/render/html-template-collection.ts","../src/render/css-util.ts","../src/render/japanese-util.ts","../src/render/templates/display-templates.ts","../src/render/styles/display-styles.ts","../src/render/styles/structured-content-styles.ts","../src/render/styles/pronunciation-styles.ts","../src/render/display-render-preset.ts"],"sourcesContent":null,"mappings":"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"}
1
+ {"version":3,"file":"render.d.ts","names":[],"sources":["../src/render/content-manager.ts","../src/render/display-generator.ts","../src/render/structured-content-generator.ts","../src/render/pronunciation-generator.ts","../src/render/html-template-collection.ts","../src/render/css-util.ts","../src/render/japanese-util.ts","../src/render/templates/display-templates.ts","../src/render/styles/display-styles.ts","../src/render/styles/structured-content-styles.ts","../src/render/styles/pronunciation-styles.ts","../src/render/popup-theme.ts","../src/render/display-render-preset.ts"],"sourcesContent":null,"mappings":"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"}
package/dist/render.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import "./cjk-util-DubXBGDG.js";
2
- import "./japanese-DhmmW35J.js";
3
- import "./dictionary-data-util-CKDT7n2t.js";
4
- import "./furigana-CI6LUA-6.js";
5
- import "./text-utilities-D5eno9GK.js";
6
- import { DisplayGenerator, HtmlTemplateCollection } from "./display-generator-vjbG05fn.js";
7
- import { PronunciationGenerator, getDownstepPositions, getKanaDiacriticInfo, getKanaMoraCount, getKanaMorae, getPitchCategory, isCodePointKanji, isMoraPitchHigh } from "./pronunciation-generator-cNtAQi5s.js";
8
- import { StructuredContentGenerator } from "./structured-content-generator-aJieXElq.js";
2
+ import "./japanese-OKEGf_i4.js";
3
+ import "./dictionary-data-util-gUUD9ElK.js";
4
+ import "./furigana-h18vaQ7a.js";
5
+ import "./text-utilities-DjLdStjv.js";
6
+ import { DisplayGenerator, HtmlTemplateCollection } from "./display-generator-BAEJDrHT.js";
7
+ import { PronunciationGenerator, getDownstepPositions$1 as getDownstepPositions, getKanaDiacriticInfo$1 as getKanaDiacriticInfo, getKanaMoraCount$1 as getKanaMoraCount, getKanaMorae$1 as getKanaMorae, getPitchCategory$1 as getPitchCategory, isCodePointKanji$1 as isCodePointKanji, isMoraPitchHigh$1 as isMoraPitchHigh } from "./pronunciation-generator-BXcwS3By.js";
8
+ import { StructuredContentGenerator } from "./structured-content-generator-gnjtdBcC.js";
9
9
 
10
10
  //#region src/render/content-manager.ts
11
11
  /**
@@ -2778,6 +2778,91 @@ button.footer-notification-close-button {
2778
2778
  */
2779
2779
  const DISPLAY_CSS = `${DISPLAY_BASE_CSS}\n${STRUCTURED_CONTENT_CSS}\n${PRONUNCIATION_CSS}`;
2780
2780
 
2781
+ //#endregion
2782
+ //#region src/render/popup-theme.ts
2783
+ /**
2784
+ * Resolves popup theme modes into a concrete light/dark theme value.
2785
+ * Mirrors the extension behavior used by ThemeController for popup content.
2786
+ */
2787
+ function resolvePopupTheme(options = {}) {
2788
+ const themeRaw = options.theme ?? "site";
2789
+ const siteOverride = options.siteOverride ?? false;
2790
+ const view = _getView(options.document);
2791
+ const browserTheme = options.browserTheme ?? _computeBrowserTheme(view);
2792
+ const siteTheme = options.siteTheme ?? _computeSiteTheme(options.document, view);
2793
+ const theme = _resolveThemeValue(themeRaw, siteTheme, browserTheme, siteOverride);
2794
+ return {
2795
+ theme,
2796
+ siteTheme,
2797
+ browserTheme,
2798
+ themeRaw
2799
+ };
2800
+ }
2801
+ /**
2802
+ * Applies resolved popup theme attributes to a document element.
2803
+ */
2804
+ function applyPopupTheme(documentElement, options = {}) {
2805
+ const resolved = resolvePopupTheme({
2806
+ ...options,
2807
+ document: options.document ?? documentElement.ownerDocument
2808
+ });
2809
+ const data = documentElement.dataset;
2810
+ data.theme = resolved.theme;
2811
+ data.siteTheme = resolved.siteTheme;
2812
+ data.browserTheme = resolved.browserTheme;
2813
+ data.themeRaw = resolved.themeRaw;
2814
+ return resolved;
2815
+ }
2816
+ function _resolveThemeValue(theme, computedSiteTheme, browserTheme, siteOverride) {
2817
+ switch (theme) {
2818
+ case "site": return siteOverride ? browserTheme : computedSiteTheme;
2819
+ case "browser": return browserTheme;
2820
+ default: return theme;
2821
+ }
2822
+ }
2823
+ function _computeBrowserTheme(view) {
2824
+ if (view === null || typeof view.matchMedia !== "function") return "light";
2825
+ return view.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
2826
+ }
2827
+ function _computeSiteTheme(doc, view) {
2828
+ if (view === null || typeof view.getComputedStyle !== "function" || typeof doc === "undefined") return "light";
2829
+ const color = [
2830
+ 255,
2831
+ 255,
2832
+ 255
2833
+ ];
2834
+ const { documentElement, body } = doc;
2835
+ if (documentElement !== null) _addColor(color, view.getComputedStyle(documentElement).backgroundColor);
2836
+ if (body !== null) _addColor(color, view.getComputedStyle(body).backgroundColor);
2837
+ return color[0] < 128 && color[1] < 128 && color[2] < 128 ? "dark" : "light";
2838
+ }
2839
+ function _getView(doc) {
2840
+ if (typeof doc?.defaultView !== "undefined" && doc.defaultView !== null) return doc.defaultView;
2841
+ if (typeof window !== "undefined") return window;
2842
+ return null;
2843
+ }
2844
+ function _addColor(target, cssColor) {
2845
+ if (typeof cssColor !== "string") return;
2846
+ const color = _getColorInfo(cssColor);
2847
+ if (color === null) return;
2848
+ const a = color[3];
2849
+ if (a <= 0) return;
2850
+ const aInv = 1 - a;
2851
+ for (let i = 0; i < 3; ++i) target[i] = target[i] * aInv + color[i] * a;
2852
+ }
2853
+ function _getColorInfo(cssColor) {
2854
+ const m = /^\s*rgba?\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*([\d.]+)\s*)?\)\s*$/.exec(cssColor);
2855
+ if (m === null) return null;
2856
+ const alphaRaw = m[4];
2857
+ const alpha = alphaRaw ? Math.max(0, Math.min(1, Number.parseFloat(alphaRaw))) : 1;
2858
+ return [
2859
+ Number.parseInt(m[1], 10),
2860
+ Number.parseInt(m[2], 10),
2861
+ Number.parseInt(m[3], 10),
2862
+ alpha
2863
+ ];
2864
+ }
2865
+
2781
2866
  //#endregion
2782
2867
  //#region src/render/display-render-preset.ts
2783
2868
  /**
@@ -2807,10 +2892,11 @@ const EXTENSION_DISPLAY_DATASET_DEFAULTS = {
2807
2892
  * Applies extension-equivalent rendering defaults to an HTML element dataset.
2808
2893
  * Typically this should be called with `document.documentElement`.
2809
2894
  */
2810
- function applyExtensionDisplayDefaults(documentElement) {
2895
+ function applyExtensionDisplayDefaults(documentElement, options) {
2811
2896
  for (const [key, value] of Object.entries(EXTENSION_DISPLAY_DATASET_DEFAULTS)) documentElement.dataset[key] = value;
2897
+ if (typeof options?.popupTheme !== "undefined") applyPopupTheme(documentElement, options.popupTheme);
2812
2898
  }
2813
2899
 
2814
2900
  //#endregion
2815
- export { DISPLAY_CSS, DISPLAY_TEMPLATES, DisplayGenerator, EXTENSION_DISPLAY_DATASET_DEFAULTS, HtmlTemplateCollection, NoOpContentManager, PRONUNCIATION_CSS, PronunciationGenerator, STRUCTURED_CONTENT_CSS, StructuredContentGenerator, addScopeToCss, addScopeToCssLegacy, applyExtensionDisplayDefaults, getDownstepPositions, getKanaDiacriticInfo, getKanaMoraCount, getKanaMorae, getPitchCategory, isCodePointKanji, isMoraPitchHigh, sanitizeCSS };
2901
+ export { DISPLAY_CSS, DISPLAY_TEMPLATES, DisplayGenerator, EXTENSION_DISPLAY_DATASET_DEFAULTS, HtmlTemplateCollection, NoOpContentManager, PRONUNCIATION_CSS, PronunciationGenerator, STRUCTURED_CONTENT_CSS, StructuredContentGenerator, addScopeToCss, addScopeToCssLegacy, applyExtensionDisplayDefaults, applyPopupTheme, getDownstepPositions, getKanaDiacriticInfo, getKanaMoraCount, getKanaMorae, getPitchCategory, isCodePointKanji, isMoraPitchHigh, resolvePopupTheme, sanitizeCSS };
2816
2902
  //# sourceMappingURL=render.js.map