react-cheminfo 0.23.0 → 0.24.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 (260) hide show
  1. package/README.md +39 -26
  2. package/lib/chrome/ui/HeaderToggle.d.ts +52 -0
  3. package/lib/chrome/ui/HeaderToggle.d.ts.map +1 -0
  4. package/lib/chrome/ui/HeaderToggle.js +31 -0
  5. package/lib/chrome/ui/HeaderToggle.js.map +1 -0
  6. package/lib/chrome/ui/index.d.ts +2 -0
  7. package/lib/chrome/ui/index.d.ts.map +1 -1
  8. package/lib/chrome/ui/index.js +1 -0
  9. package/lib/chrome/ui/index.js.map +1 -1
  10. package/lib/citation/core/gfn2Paper.d.ts +10 -0
  11. package/lib/citation/core/gfn2Paper.d.ts.map +1 -0
  12. package/lib/citation/core/gfn2Paper.js +28 -0
  13. package/lib/citation/core/gfn2Paper.js.map +1 -0
  14. package/lib/citation/core/index.d.ts +1 -0
  15. package/lib/citation/core/index.d.ts.map +1 -1
  16. package/lib/citation/core/index.js +1 -0
  17. package/lib/citation/core/index.js.map +1 -1
  18. package/lib/clipboard/ui/ClickToCopy.d.ts +8 -7
  19. package/lib/clipboard/ui/ClickToCopy.d.ts.map +1 -1
  20. package/lib/clipboard/ui/ClickToCopy.js +3 -3
  21. package/lib/clipboard/ui/ClickToCopy.js.map +1 -1
  22. package/lib/conformers.d.ts +27 -0
  23. package/lib/conformers.d.ts.map +1 -0
  24. package/lib/conformers.js +19 -0
  25. package/lib/conformers.js.map +1 -0
  26. package/lib/core.d.ts +1 -0
  27. package/lib/core.d.ts.map +1 -1
  28. package/lib/core.js +1 -0
  29. package/lib/core.js.map +1 -1
  30. package/lib/credits/core/credits.d.ts +12 -0
  31. package/lib/credits/core/credits.d.ts.map +1 -1
  32. package/lib/credits/core/credits.js +14 -0
  33. package/lib/credits/core/credits.js.map +1 -1
  34. package/lib/ecosystem/core/index.d.ts +1 -1
  35. package/lib/ecosystem/core/index.d.ts.map +1 -1
  36. package/lib/ecosystem/core/index.js.map +1 -1
  37. package/lib/ecosystem/core/sites.d.ts +11 -1
  38. package/lib/ecosystem/core/sites.d.ts.map +1 -1
  39. package/lib/ecosystem/core/sites.js +7 -2
  40. package/lib/ecosystem/core/sites.js.map +1 -1
  41. package/lib/ecosystem/ui/EcosystemLinks.d.ts.map +1 -1
  42. package/lib/ecosystem/ui/EcosystemLinks.js +3 -1
  43. package/lib/ecosystem/ui/EcosystemLinks.js.map +1 -1
  44. package/lib/ecosystem/ui/SiteTile.d.ts.map +1 -1
  45. package/lib/ecosystem/ui/SiteTile.js +3 -1
  46. package/lib/ecosystem/ui/SiteTile.js.map +1 -1
  47. package/lib/format/core/index.d.ts +1 -1
  48. package/lib/format/core/index.d.ts.map +1 -1
  49. package/lib/format/core/index.js +1 -1
  50. package/lib/format/core/index.js.map +1 -1
  51. package/lib/format/core/words.d.ts +9 -0
  52. package/lib/format/core/words.d.ts.map +1 -1
  53. package/lib/format/core/words.js +16 -0
  54. package/lib/format/core/words.js.map +1 -1
  55. package/lib/language/core/index.d.ts +3 -0
  56. package/lib/language/core/index.d.ts.map +1 -0
  57. package/lib/language/core/index.js +3 -0
  58. package/lib/language/core/index.js.map +1 -0
  59. package/lib/language/core/languageName.d.ts +8 -0
  60. package/lib/language/core/languageName.d.ts.map +1 -0
  61. package/lib/language/core/languageName.js +16 -0
  62. package/lib/language/core/languageName.js.map +1 -0
  63. package/lib/language/core/languageParam.d.ts +35 -0
  64. package/lib/language/core/languageParam.d.ts.map +1 -0
  65. package/lib/language/core/languageParam.js +67 -0
  66. package/lib/language/core/languageParam.js.map +1 -0
  67. package/lib/language/ui/SiteLanguage.d.ts +20 -0
  68. package/lib/language/ui/SiteLanguage.d.ts.map +1 -0
  69. package/lib/language/ui/SiteLanguage.js +14 -0
  70. package/lib/language/ui/SiteLanguage.js.map +1 -0
  71. package/lib/language/ui/index.d.ts +4 -0
  72. package/lib/language/ui/index.d.ts.map +1 -0
  73. package/lib/language/ui/index.js +3 -0
  74. package/lib/language/ui/index.js.map +1 -0
  75. package/lib/language/ui/siteLanguageContext.d.ts +12 -0
  76. package/lib/language/ui/siteLanguageContext.d.ts.map +1 -0
  77. package/lib/language/ui/siteLanguageContext.js +19 -0
  78. package/lib/language/ui/siteLanguageContext.js.map +1 -0
  79. package/lib/orbital/core/atomicOrbitals.d.ts +9 -1
  80. package/lib/orbital/core/atomicOrbitals.d.ts.map +1 -1
  81. package/lib/orbital/core/atomicOrbitals.js +7 -0
  82. package/lib/orbital/core/atomicOrbitals.js.map +1 -1
  83. package/lib/orbital/core/hydrogenic.d.ts +2 -1
  84. package/lib/orbital/core/hydrogenic.d.ts.map +1 -1
  85. package/lib/orbital/core/hydrogenic.js +2 -1
  86. package/lib/orbital/core/hydrogenic.js.map +1 -1
  87. package/lib/orbital/core/index.d.ts +1 -0
  88. package/lib/orbital/core/index.d.ts.map +1 -1
  89. package/lib/orbital/core/index.js +1 -0
  90. package/lib/orbital/core/index.js.map +1 -1
  91. package/lib/orbital/core/slaterEnergy.d.ts +35 -0
  92. package/lib/orbital/core/slaterEnergy.d.ts.map +1 -0
  93. package/lib/orbital/core/slaterEnergy.js +66 -0
  94. package/lib/orbital/core/slaterEnergy.js.map +1 -0
  95. package/lib/shared/ui/MenuButton.d.ts +3 -2
  96. package/lib/shared/ui/MenuButton.d.ts.map +1 -1
  97. package/lib/shared/ui/MenuButton.js +1 -1
  98. package/lib/shared/ui/MenuButton.js.map +1 -1
  99. package/lib/structure/core/conformerMinimise.d.ts +36 -0
  100. package/lib/structure/core/conformerMinimise.d.ts.map +1 -0
  101. package/lib/structure/core/conformerMinimise.js +81 -0
  102. package/lib/structure/core/conformerMinimise.js.map +1 -0
  103. package/lib/structure/core/conformerMinimum.d.ts +62 -0
  104. package/lib/structure/core/conformerMinimum.d.ts.map +1 -0
  105. package/lib/structure/core/conformerMinimum.js +90 -0
  106. package/lib/structure/core/conformerMinimum.js.map +1 -0
  107. package/lib/structure/core/conformerOptions.d.ts +62 -0
  108. package/lib/structure/core/conformerOptions.d.ts.map +1 -0
  109. package/lib/structure/core/conformerOptions.js +83 -0
  110. package/lib/structure/core/conformerOptions.js.map +1 -0
  111. package/lib/structure/core/conformerRefine.d.ts +104 -0
  112. package/lib/structure/core/conformerRefine.d.ts.map +1 -0
  113. package/lib/structure/core/conformerRefine.js +130 -0
  114. package/lib/structure/core/conformerRefine.js.map +1 -0
  115. package/lib/structure/core/conformerRefineRank.d.ts +36 -0
  116. package/lib/structure/core/conformerRefineRank.d.ts.map +1 -0
  117. package/lib/structure/core/conformerRefineRank.js +69 -0
  118. package/lib/structure/core/conformerRefineRank.js.map +1 -0
  119. package/lib/structure/core/conformerSession.d.ts +50 -0
  120. package/lib/structure/core/conformerSession.d.ts.map +1 -0
  121. package/lib/structure/core/conformerSession.js +88 -0
  122. package/lib/structure/core/conformerSession.js.map +1 -0
  123. package/lib/structure/core/conformerShape.d.ts +36 -0
  124. package/lib/structure/core/conformerShape.d.ts.map +1 -0
  125. package/lib/structure/core/conformerShape.js +150 -0
  126. package/lib/structure/core/conformerShape.js.map +1 -0
  127. package/lib/structure/core/conformers.d.ts +107 -0
  128. package/lib/structure/core/conformers.d.ts.map +1 -0
  129. package/lib/structure/core/conformers.js +149 -0
  130. package/lib/structure/core/conformers.js.map +1 -0
  131. package/lib/structure/core/geometryRelaxer.d.ts +66 -0
  132. package/lib/structure/core/geometryRelaxer.d.ts.map +1 -0
  133. package/lib/structure/core/geometryRelaxer.js +2 -0
  134. package/lib/structure/core/geometryRelaxer.js.map +1 -0
  135. package/lib/structure/core/index.d.ts +4 -0
  136. package/lib/structure/core/index.d.ts.map +1 -1
  137. package/lib/structure/core/index.js +2 -0
  138. package/lib/structure/core/index.js.map +1 -1
  139. package/lib/structure/core/moleculeCoordinates.d.ts +31 -0
  140. package/lib/structure/core/moleculeCoordinates.d.ts.map +1 -0
  141. package/lib/structure/core/moleculeCoordinates.js +80 -0
  142. package/lib/structure/core/moleculeCoordinates.js.map +1 -0
  143. package/lib/structure/core/molfileExport.d.ts +42 -0
  144. package/lib/structure/core/molfileExport.d.ts.map +1 -0
  145. package/lib/structure/core/molfileExport.js +47 -0
  146. package/lib/structure/core/molfileExport.js.map +1 -0
  147. package/lib/structure/core/oclResources.d.ts +12 -0
  148. package/lib/structure/core/oclResources.d.ts.map +1 -0
  149. package/lib/structure/core/oclResources.js +35 -0
  150. package/lib/structure/core/oclResources.js.map +1 -0
  151. package/lib/translate/core/catalog.d.ts +61 -0
  152. package/lib/translate/core/catalog.d.ts.map +1 -0
  153. package/lib/translate/core/catalog.js +49 -0
  154. package/lib/translate/core/catalog.js.map +1 -0
  155. package/lib/translate/core/checkTranslation.d.ts +32 -0
  156. package/lib/translate/core/checkTranslation.d.ts.map +1 -0
  157. package/lib/translate/core/checkTranslation.js +98 -0
  158. package/lib/translate/core/checkTranslation.js.map +1 -0
  159. package/lib/translate/core/contribution.d.ts +88 -0
  160. package/lib/translate/core/contribution.d.ts.map +1 -0
  161. package/lib/translate/core/contribution.js +14 -0
  162. package/lib/translate/core/contribution.js.map +1 -0
  163. package/lib/translate/core/index.d.ts +19 -0
  164. package/lib/translate/core/index.d.ts.map +1 -0
  165. package/lib/translate/core/index.js +15 -0
  166. package/lib/translate/core/index.js.map +1 -0
  167. package/lib/translate/core/marker.d.ts +45 -0
  168. package/lib/translate/core/marker.d.ts.map +1 -0
  169. package/lib/translate/core/marker.js +79 -0
  170. package/lib/translate/core/marker.js.map +1 -0
  171. package/lib/translate/core/mergeMessages.d.ts +35 -0
  172. package/lib/translate/core/mergeMessages.d.ts.map +1 -0
  173. package/lib/translate/core/mergeMessages.js +69 -0
  174. package/lib/translate/core/mergeMessages.js.map +1 -0
  175. package/lib/translate/core/session.d.ts +102 -0
  176. package/lib/translate/core/session.d.ts.map +1 -0
  177. package/lib/translate/core/session.js +162 -0
  178. package/lib/translate/core/session.js.map +1 -0
  179. package/lib/translate/core/start.d.ts +70 -0
  180. package/lib/translate/core/start.d.ts.map +1 -0
  181. package/lib/translate/core/start.js +73 -0
  182. package/lib/translate/core/start.js.map +1 -0
  183. package/lib/translate/core/suggestions.d.ts +77 -0
  184. package/lib/translate/core/suggestions.d.ts.map +1 -0
  185. package/lib/translate/core/suggestions.js +143 -0
  186. package/lib/translate/core/suggestions.js.map +1 -0
  187. package/lib/translate/core/tables.d.ts +100 -0
  188. package/lib/translate/core/tables.d.ts.map +1 -0
  189. package/lib/translate/core/tables.js +51 -0
  190. package/lib/translate/core/tables.js.map +1 -0
  191. package/lib/translate.d.ts +2 -0
  192. package/lib/translate.d.ts.map +1 -0
  193. package/lib/translate.js +6 -0
  194. package/lib/translate.js.map +1 -0
  195. package/lib/ui.d.ts +1 -0
  196. package/lib/ui.d.ts.map +1 -1
  197. package/lib/ui.js +1 -0
  198. package/lib/ui.js.map +1 -1
  199. package/lib/xtb/core/xtbRelaxer.d.ts +61 -0
  200. package/lib/xtb/core/xtbRelaxer.d.ts.map +1 -0
  201. package/lib/xtb/core/xtbRelaxer.js +108 -0
  202. package/lib/xtb/core/xtbRelaxer.js.map +1 -0
  203. package/lib/xtb.d.ts +11 -0
  204. package/lib/xtb.d.ts.map +1 -0
  205. package/lib/xtb.js +10 -0
  206. package/lib/xtb.js.map +1 -0
  207. package/package.json +18 -11
  208. package/src/chrome/ui/HeaderToggle.tsx +100 -0
  209. package/src/chrome/ui/index.ts +2 -0
  210. package/src/citation/core/gfn2Paper.ts +32 -0
  211. package/src/citation/core/index.ts +1 -0
  212. package/src/clipboard/ui/ClickToCopy.tsx +8 -7
  213. package/src/conformers.ts +87 -0
  214. package/src/core.ts +1 -0
  215. package/src/credits/core/credits.ts +16 -0
  216. package/src/ecosystem/core/index.ts +1 -0
  217. package/src/ecosystem/core/sites.ts +20 -2
  218. package/src/ecosystem/ui/EcosystemLinks.tsx +3 -1
  219. package/src/ecosystem/ui/SiteTile.tsx +3 -1
  220. package/src/format/core/index.ts +1 -1
  221. package/src/format/core/words.ts +19 -0
  222. package/src/language/core/index.ts +7 -0
  223. package/src/language/core/languageName.ts +16 -0
  224. package/src/language/core/languageParam.ts +70 -0
  225. package/src/language/ui/SiteLanguage.tsx +26 -0
  226. package/src/language/ui/index.ts +3 -0
  227. package/src/language/ui/siteLanguageContext.ts +20 -0
  228. package/src/orbital/core/atomicOrbitals.ts +17 -1
  229. package/src/orbital/core/hydrogenic.ts +2 -1
  230. package/src/orbital/core/index.ts +1 -0
  231. package/src/orbital/core/slaterEnergy.ts +83 -0
  232. package/src/shared/ui/MenuButton.tsx +4 -3
  233. package/src/structure/core/conformerMinimise.ts +99 -0
  234. package/src/structure/core/conformerMinimum.ts +125 -0
  235. package/src/structure/core/conformerOptions.ts +125 -0
  236. package/src/structure/core/conformerRefine.ts +234 -0
  237. package/src/structure/core/conformerRefineRank.ts +89 -0
  238. package/src/structure/core/conformerSession.ts +123 -0
  239. package/src/structure/core/conformerShape.ts +181 -0
  240. package/src/structure/core/conformers.ts +282 -0
  241. package/src/structure/core/geometryRelaxer.ts +71 -0
  242. package/src/structure/core/index.ts +13 -0
  243. package/src/structure/core/moleculeCoordinates.ts +93 -0
  244. package/src/structure/core/molfileExport.ts +62 -0
  245. package/src/structure/core/oclResources.ts +41 -0
  246. package/src/translate/core/catalog.ts +83 -0
  247. package/src/translate/core/checkTranslation.ts +128 -0
  248. package/src/translate/core/contribution.ts +99 -0
  249. package/src/translate/core/index.ts +72 -0
  250. package/src/translate/core/marker.ts +85 -0
  251. package/src/translate/core/mergeMessages.ts +74 -0
  252. package/src/translate/core/session.ts +250 -0
  253. package/src/translate/core/start.ts +121 -0
  254. package/src/translate/core/suggestions.ts +211 -0
  255. package/src/translate/core/tables.ts +120 -0
  256. package/src/translate.ts +5 -0
  257. package/src/ui.ts +1 -0
  258. package/src/xtb/core/xtbRelaxer.ts +160 -0
  259. package/src/xtb.ts +16 -0
  260. package/styles/chrome.css +61 -30
@@ -4,7 +4,7 @@ export type { GroupedSites } from './lookup.ts';
4
4
  export { findSiteByHost, groupedSites, siteById, siteDisplayName, } from './lookup.ts';
5
5
  export type { SiteNameColors, SiteNameColorsOptions } from './nameColors.ts';
6
6
  export { siteNameColors } from './nameColors.ts';
7
- export type { EcosystemSite, SiteId, SiteMarkColors, SiteName, SiteRecord, } from './sites.ts';
7
+ export type { EcosystemSite, SiteId, SiteMarkColors, SiteName, SiteRecord, SiteUrlOptions, } from './sites.ts';
8
8
  export { ECOSYSTEM_SITES, siteUrl } from './sites.ts';
9
9
  export { siteTokensCss } from './tokens.ts';
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ecosystem/core/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EACL,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,eAAe,GAChB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,YAAY,EACV,aAAa,EACb,MAAM,EACN,cAAc,EACd,QAAQ,EACR,UAAU,GACX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ecosystem/core/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EACL,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,eAAe,GAChB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,YAAY,EACV,aAAa,EACb,MAAM,EACN,cAAc,EACd,QAAQ,EACR,UAAU,EACV,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ecosystem/core/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EACL,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,eAAe,GAChB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAQjD,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ecosystem/core/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EACL,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,eAAe,GAChB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AASjD,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
@@ -5,10 +5,20 @@ export type { EcosystemSite, SiteId, SiteMarkColors, SiteName, SiteRecord, } fro
5
5
  * go with them live in `marks.tsx`.
6
6
  */
7
7
  export declare const ECOSYSTEM_SITES: readonly EcosystemSite[];
8
+ /** How a link to a site is written, beyond the site itself. */
9
+ export interface SiteUrlOptions {
10
+ /**
11
+ * The language the visitor is reading in, carried so the site opens in it
12
+ * rather than in the one it defaults to.
13
+ * @default undefined — the link names no language
14
+ */
15
+ language?: string;
16
+ }
8
17
  /**
9
18
  * The address of a site, which is its host over https.
10
19
  * @param site - The site being linked to.
20
+ * @param options - See {@link SiteUrlOptions}.
11
21
  * @returns The URL to open.
12
22
  */
13
- export declare function siteUrl(site: SiteRecord): string;
23
+ export declare function siteUrl(site: SiteRecord, options?: SiteUrlOptions): string;
14
24
  //# sourceMappingURL=sites.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sites.d.ts","sourceRoot":"","sources":["../../../src/ecosystem/core/sites.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE5D,YAAY,EACV,aAAa,EACb,MAAM,EACN,cAAc,EACd,QAAQ,EACR,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,aAAa,EA2TnD,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAEhD"}
1
+ {"version":3,"file":"sites.d.ts","sourceRoot":"","sources":["../../../src/ecosystem/core/sites.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE5D,YAAY,EACV,aAAa,EACb,MAAM,EACN,cAAc,EACd,QAAQ,EACR,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,aAAa,EA6TnD,CAAC;AAEF,+DAA+D;AAC/D,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CACrB,IAAI,EAAE,UAAU,EAChB,OAAO,GAAE,cAAmB,GAC3B,MAAM,CAER"}
@@ -1,3 +1,5 @@
1
+ // tokens-ok: file — every site's two colours are declared here.
2
+ import { withLanguageParam } from "../../language/core/languageParam.js";
1
3
  /**
2
4
  * Every site of the family, each with the two colours it owns. The marks that
3
5
  * go with them live in `marks.tsx`.
@@ -283,6 +285,7 @@ export const ECOSYSTEM_SITES = [
283
285
  name: { lead: 'atoms', alt: 'cheminfo', dot: true },
284
286
  host: 'atoms.cheminfo.org',
285
287
  repository: 'https://github.com/cheminfo/atoms.cheminfo.org',
288
+ publicRepository: true,
286
289
  tagline: 'Electrons, neutrons, Lewis structures and oxidation states.',
287
290
  group: 'practice',
288
291
  brand: '#b91c1c',
@@ -296,6 +299,7 @@ export const ECOSYSTEM_SITES = [
296
299
  name: { lead: 'moles', alt: 'cheminfo', dot: true },
297
300
  host: 'moles.cheminfo.org',
298
301
  repository: 'https://github.com/cheminfo/moles.cheminfo.org',
302
+ publicRepository: true,
299
303
  tagline: 'Balance a reaction, and work out its mass composition.',
300
304
  group: 'practice',
301
305
  brand: '#334155',
@@ -321,9 +325,10 @@ export const ECOSYSTEM_SITES = [
321
325
  /**
322
326
  * The address of a site, which is its host over https.
323
327
  * @param site - The site being linked to.
328
+ * @param options - See {@link SiteUrlOptions}.
324
329
  * @returns The URL to open.
325
330
  */
326
- export function siteUrl(site) {
327
- return `https://${site.host}/`;
331
+ export function siteUrl(site, options = {}) {
332
+ return withLanguageParam(`https://${site.host}/`, options.language);
328
333
  }
329
334
  //# sourceMappingURL=sites.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sites.js","sourceRoot":"","sources":["../../../src/ecosystem/core/sites.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sites.js","sourceRoot":"","sources":["../../../src/ecosystem/core/sites.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"EcosystemLinks.d.ts","sourceRoot":"","sources":["../../../src/ecosystem/ui/EcosystemLinks.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,OAAO,CAAC;AAKzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AA+C/C,kDAAkD;AAClD,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACxB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,YAAY,CA2CvE"}
1
+ {"version":3,"file":"EcosystemLinks.d.ts","sourceRoot":"","sources":["../../../src/ecosystem/ui/EcosystemLinks.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,OAAO,CAAC;AAMzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AA+C/C,kDAAkD;AAClD,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACxB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,YAAY,CA4CvE"}
@@ -1,4 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useSiteLanguage } from "../../language/ui/siteLanguageContext.js";
2
3
  import { joinClassNames } from "../../shared/ui/joinClassNames.js";
3
4
  import { TOKEN } from "../../tokens/core/familyTokens.js";
4
5
  import { groupedSites } from "../core/lookup.js";
@@ -55,7 +56,8 @@ const CURRENT_STYLE = {
55
56
  * @returns The section of links.
56
57
  */
57
58
  export function EcosystemLinks(props) {
59
+ const language = useSiteLanguage();
58
60
  const { className, currentSiteId, heading = 'Our other tools', layout = 'grid', } = props;
59
- return (_jsxs("nav", { className: joinClassNames('ecosystem-links', className), style: SECTION_STYLE, "aria-label": heading, children: [_jsx("h2", { style: ECOSYSTEM_HEADING_STYLE, children: heading }), layout === 'grid' ? (_jsx(SiteGroupGrid, { currentSiteId: currentSiteId })) : (_jsx("div", { style: ROWS_STYLE, children: groupedSites().map(({ group, sites }) => (_jsxs("div", { style: ROW_STYLE, children: [_jsx("span", { style: ROW_LABEL_STYLE, children: group.label }), sites.map((site) => site.id === currentSiteId ? (_jsx("span", { style: CURRENT_STYLE, children: site.host }, site.id)) : (_jsx("a", { style: { ...LINK_STYLE, color: site.brand }, href: siteUrl(site), children: site.host }, site.id)))] }, group.id))) }))] }));
61
+ return (_jsxs("nav", { className: joinClassNames('ecosystem-links', className), style: SECTION_STYLE, "aria-label": heading, children: [_jsx("h2", { style: ECOSYSTEM_HEADING_STYLE, children: heading }), layout === 'grid' ? (_jsx(SiteGroupGrid, { currentSiteId: currentSiteId })) : (_jsx("div", { style: ROWS_STYLE, children: groupedSites().map(({ group, sites }) => (_jsxs("div", { style: ROW_STYLE, children: [_jsx("span", { style: ROW_LABEL_STYLE, children: group.label }), sites.map((site) => site.id === currentSiteId ? (_jsx("span", { style: CURRENT_STYLE, children: site.host }, site.id)) : (_jsx("a", { style: { ...LINK_STYLE, color: site.brand }, href: siteUrl(site, { language }), children: site.host }, site.id)))] }, group.id))) }))] }));
60
62
  }
61
63
  //# sourceMappingURL=EcosystemLinks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EcosystemLinks.js","sourceRoot":"","sources":["../../../src/ecosystem/ui/EcosystemLinks.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAqB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,8EAA8E;AAC9E,8EAA8E;AAC9E,4EAA4E;AAC5E,+EAA+E;AAC/E,+EAA+E;AAC/E,uEAAuE;AACvE,MAAM,aAAa,GAAkB;IACnC,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,QAAQ;IACvB,GAAG,EAAE,CAAC;CACP,CAAC;AACF,MAAM,UAAU,GAAkB;IAChC,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,QAAQ;IACvB,GAAG,EAAE,CAAC;CACP,CAAC;AACF,MAAM,SAAS,GAAkB;IAC/B,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,MAAM;IAChB,UAAU,EAAE,UAAU;IACtB,GAAG,EAAE,gBAAgB;CACtB,CAAC;AACF,MAAM,eAAe,GAAkB;IACrC,KAAK,EAAE,KAAK,CAAC,SAAS;IACtB,QAAQ,EAAE,WAAW;IACrB,UAAU,EAAE,GAAG;IACf,aAAa,EAAE,QAAQ;IACvB,aAAa,EAAE,WAAW;CAC3B,CAAC;AACF,MAAM,UAAU,GAAkB;IAChC,QAAQ,EAAE,WAAW;IACrB,UAAU,EAAE,GAAG;IACf,cAAc,EAAE,MAAM;IACtB,UAAU,EAAE,QAAQ;CACrB,CAAC;AACF,MAAM,aAAa,GAAkB;IACnC,GAAG,UAAU;IACb,KAAK,EAAE,KAAK,CAAC,SAAS;IACtB,MAAM,EAAE,SAAS;CAClB,CAAC;AA6BF;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,KAA0B;IACvD,MAAM,EACJ,SAAS,EACT,aAAa,EACb,OAAO,GAAG,iBAAiB,EAC3B,MAAM,GAAG,MAAM,GAChB,GAAG,KAAK,CAAC;IAEV,OAAO,CACL,eACE,SAAS,EAAE,cAAc,CAAC,iBAAiB,EAAE,SAAS,CAAC,EACvD,KAAK,EAAE,aAAa,gBACR,OAAO,aAEnB,aAAI,KAAK,EAAE,uBAAuB,YAAG,OAAO,GAAM,EACjD,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,CACnB,KAAC,aAAa,IAAC,aAAa,EAAE,aAAa,GAAI,CAChD,CAAC,CAAC,CAAC,CACF,cAAK,KAAK,EAAE,UAAU,YACnB,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CACxC,eAAoB,KAAK,EAAE,SAAS,aAClC,eAAM,KAAK,EAAE,eAAe,YAAG,KAAK,CAAC,KAAK,GAAQ,EACjD,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAClB,IAAI,CAAC,EAAE,KAAK,aAAa,CAAC,CAAC,CAAC,CAC1B,eAAoB,KAAK,EAAE,aAAa,YACrC,IAAI,CAAC,IAAI,IADD,IAAI,CAAC,EAAE,CAEX,CACR,CAAC,CAAC,CAAC,CACF,YAEE,KAAK,EAAE,EAAE,GAAG,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAC3C,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,YAElB,IAAI,CAAC,IAAI,IAJL,IAAI,CAAC,EAAE,CAKV,CACL,CACF,KAhBO,KAAK,CAAC,EAAE,CAiBZ,CACP,CAAC,GACE,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"EcosystemLinks.js","sourceRoot":"","sources":["../../../src/ecosystem/ui/EcosystemLinks.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SiteTile.d.ts","sourceRoot":"","sources":["../../../src/ecosystem/ui/SiteTile.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,OAAO,CAAC;AAIzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AA6C9D,yCAAyC;AACzC,MAAM,WAAW,aAAa;IAC5B,+BAA+B;IAC/B,IAAI,EAAE,aAAa,CAAC;IACpB,0DAA0D;IAC1D,SAAS,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACtC;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,YAAY,CAmE3D"}
1
+ {"version":3,"file":"SiteTile.d.ts","sourceRoot":"","sources":["../../../src/ecosystem/ui/SiteTile.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,OAAO,CAAC;AAKzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AA6C9D,yCAAyC;AACzC,MAAM,WAAW,aAAa;IAC5B,+BAA+B;IAC/B,IAAI,EAAE,aAAa,CAAC;IACpB,0DAA0D;IAC1D,SAAS,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACtC;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,YAAY,CAoE3D"}
@@ -1,4 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useSiteLanguage } from "../../language/ui/siteLanguageContext.js";
2
3
  import { TOKEN } from "../../tokens/core/familyTokens.js";
3
4
  import { siteNameColors } from "../core/nameColors.js";
4
5
  import { siteUrl } from "../core/sites.js";
@@ -51,6 +52,7 @@ const TAGLINE_STYLE = {
51
52
  * @returns The tile.
52
53
  */
53
54
  export function SiteTile(props) {
55
+ const language = useSiteLanguage();
54
56
  const { className, site, isCurrent, isHovered = false, onHover, newTab = false, } = props;
55
57
  const lit = isHovered && !isCurrent;
56
58
  const colors = siteNameColors(site);
@@ -67,7 +69,7 @@ export function SiteTile(props) {
67
69
  };
68
70
  if (isCurrent)
69
71
  return _jsx("div", { style: style, children: body });
70
- return (_jsx("a", { className: className, style: style, href: siteUrl(site), target: newTab ? '_blank' : undefined, rel: newTab ? 'noreferrer' : undefined, onMouseEnter: () => onHover?.(site.id), onMouseLeave: () => onHover?.(null), onFocus: () => onHover?.(site.id), onBlur: () => onHover?.(null), children: body }));
72
+ return (_jsx("a", { className: className, style: style, href: siteUrl(site, { language }), target: newTab ? '_blank' : undefined, rel: newTab ? 'noreferrer' : undefined, onMouseEnter: () => onHover?.(site.id), onMouseLeave: () => onHover?.(null), onFocus: () => onHover?.(site.id), onBlur: () => onHover?.(null), children: body }));
71
73
  }
72
74
  // A tile lights up in the colour of the site it opens, never in ours: the
73
75
  // pointer moving down the grid is what makes the pairs of colours read.
@@ -1 +1 @@
1
- {"version":3,"file":"SiteTile.js","sourceRoot":"","sources":["../../../src/ecosystem/ui/SiteTile.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SiteTile.js","sourceRoot":"","sources":["../../../src/ecosystem/ui/SiteTile.tsx"],"names":[],"mappings":"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"}
@@ -8,5 +8,5 @@ export { roundTo } from './roundTo.ts';
8
8
  export { formatSuperscript } from './superscript.ts';
9
9
  export type { DurationStyle, FormatDurationOptions } from './units.ts';
10
10
  export { formatBytes, formatDuration } from './units.ts';
11
- export { pluralize } from './words.ts';
11
+ export { ordinal, pluralize } from './words.ts';
12
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/format/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,YAAY,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/format/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,YAAY,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC"}
@@ -5,5 +5,5 @@ export { formatRelativeTime } from "./relativeTime.js";
5
5
  export { roundTo } from "./roundTo.js";
6
6
  export { formatSuperscript } from "./superscript.js";
7
7
  export { formatBytes, formatDuration } from "./units.js";
8
- export { pluralize } from "./words.js";
8
+ export { ordinal, pluralize } from "./words.js";
9
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/format/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,GACd,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/format/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,GACd,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC"}
@@ -9,4 +9,13 @@
9
9
  * @returns The singular for a count of one, the plural otherwise.
10
10
  */
11
11
  export declare function pluralize(count: number, singular: string, plural?: string): string;
12
+ /**
13
+ * English ordinal of a position.
14
+ *
15
+ * Only the ordinal comes back, never the noun it counts, so the caller writes
16
+ * the sentence: `the ${ordinal(n)} conformer produced`.
17
+ * @param position - 1-based position.
18
+ * @returns E.g. `1st`, `2nd`, `12th`, `23rd`.
19
+ */
20
+ export declare function ordinal(position: number): string;
12
21
  //# sourceMappingURL=words.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"words.d.ts","sourceRoot":"","sources":["../../../src/format/core/words.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,MAAM,SAAiB,GACtB,MAAM,CAER"}
1
+ {"version":3,"file":"words.d.ts","sourceRoot":"","sources":["../../../src/format/core/words.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,MAAM,SAAiB,GACtB,MAAM,CAER;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOhD"}
@@ -11,4 +11,20 @@
11
11
  export function pluralize(count, singular, plural = `${singular}s`) {
12
12
  return count === 1 ? singular : plural;
13
13
  }
14
+ /**
15
+ * English ordinal of a position.
16
+ *
17
+ * Only the ordinal comes back, never the noun it counts, so the caller writes
18
+ * the sentence: `the ${ordinal(n)} conformer produced`.
19
+ * @param position - 1-based position.
20
+ * @returns E.g. `1st`, `2nd`, `12th`, `23rd`.
21
+ */
22
+ export function ordinal(position) {
23
+ const teens = position % 100;
24
+ const suffix = teens >= 11 && teens <= 13
25
+ ? 'th'
26
+ : (ORDINAL_SUFFIXES[position % 10] ?? 'th');
27
+ return `${position}${suffix}`;
28
+ }
29
+ const ORDINAL_SUFFIXES = { 1: 'st', 2: 'nd', 3: 'rd' };
14
30
  //# sourceMappingURL=words.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"words.js","sourceRoot":"","sources":["../../../src/format/core/words.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,UAAU,SAAS,CACvB,KAAa,EACb,QAAgB,EAChB,MAAM,GAAG,GAAG,QAAQ,GAAG;IAEvB,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"words.js","sourceRoot":"","sources":["../../../src/format/core/words.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,UAAU,SAAS,CACvB,KAAa,EACb,QAAgB,EAChB,MAAM,GAAG,GAAG,QAAQ,GAAG;IAEvB,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;AACzC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,OAAO,CAAC,QAAgB;IACtC,MAAM,KAAK,GAAG,QAAQ,GAAG,GAAG,CAAC;IAC7B,MAAM,MAAM,GACV,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,EAAE;QACxB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC;IAChD,OAAO,GAAG,QAAQ,GAAG,MAAM,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,gBAAgB,GAA2B,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { languageName } from './languageName.ts';
2
+ export { LANGUAGE_PARAM, isLanguageTag, readLanguageParam, withLanguageParam, } from './languageParam.ts';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/language/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EACL,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { languageName } from "./languageName.js";
2
+ export { LANGUAGE_PARAM, isLanguageTag, readLanguageParam, withLanguageParam, } from "./languageParam.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/language/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EACL,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * The name of a language, e.g. `French` for `fr`.
3
+ * @param locale - The locale to name.
4
+ * @param displayLocale - The language the name is written in.
5
+ * @returns The name, or the tag itself when the runtime cannot name it.
6
+ */
7
+ export declare function languageName(locale: string, displayLocale?: string): string;
8
+ //# sourceMappingURL=languageName.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"languageName.d.ts","sourceRoot":"","sources":["../../../src/language/core/languageName.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,SAAO,GAAG,MAAM,CASzE"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * The name of a language, e.g. `French` for `fr`.
3
+ * @param locale - The locale to name.
4
+ * @param displayLocale - The language the name is written in.
5
+ * @returns The name, or the tag itself when the runtime cannot name it.
6
+ */
7
+ export function languageName(locale, displayLocale = 'en') {
8
+ try {
9
+ return (new Intl.DisplayNames([displayLocale], { type: 'language' }).of(locale) ??
10
+ locale);
11
+ }
12
+ catch {
13
+ return locale;
14
+ }
15
+ }
16
+ //# sourceMappingURL=languageName.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"languageName.js","sourceRoot":"","sources":["../../../src/language/core/languageName.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,MAAc,EAAE,aAAa,GAAG,IAAI;IAC/D,IAAI,CAAC;QACH,OAAO,CACL,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC;YACvE,MAAM,CACP,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC;IAChB,CAAC;AACH,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * The language a page is read in, as the family carries it between its sites.
3
+ *
4
+ * A link from one site to another keeps the language the visitor is reading
5
+ * in: the tag travels as a query parameter rather than as the path prefix a
6
+ * translated site routes by, because the site being linked to may not speak
7
+ * that language at all. A parameter it does not know is ignored; a `/fr/`
8
+ * path it does not have is a 404.
9
+ */
10
+ /** Query parameter every site of the family carries its language in. */
11
+ export declare const LANGUAGE_PARAM = "lang";
12
+ /**
13
+ * Whether a string is a language a link may name: a BCP 47 tag already
14
+ * written in its canonical form, e.g. `fr`, `pt-BR`, `zh-Hant`.
15
+ * @param value - The candidate tag.
16
+ * @returns True when the tag is valid and canonical.
17
+ */
18
+ export declare function isLanguageTag(value: string): boolean;
19
+ /**
20
+ * The language an address names.
21
+ * @param search - The query string, with or without its leading `?`.
22
+ * @returns The tag, or `undefined` when the address names none or names
23
+ * something that is not a language.
24
+ */
25
+ export declare function readLanguageParam(search: string): string | undefined;
26
+ /**
27
+ * An address that names the language it should be read in.
28
+ * @param url - The address, absolute or relative.
29
+ * @param language - The tag to write, or `undefined` to leave the address
30
+ * alone — which is what a site passes while it is in the language every
31
+ * other site defaults to.
32
+ * @returns The address, with the language written into its query.
33
+ */
34
+ export declare function withLanguageParam(url: string, language: string | undefined): string;
35
+ //# sourceMappingURL=languageParam.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"languageParam.d.ts","sourceRoot":"","sources":["../../../src/language/core/languageParam.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,wEAAwE;AACxE,eAAO,MAAM,cAAc,SAAS,CAAC;AAErC;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAOpD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAIpE;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,MAAM,CAaR"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * The language a page is read in, as the family carries it between its sites.
3
+ *
4
+ * A link from one site to another keeps the language the visitor is reading
5
+ * in: the tag travels as a query parameter rather than as the path prefix a
6
+ * translated site routes by, because the site being linked to may not speak
7
+ * that language at all. A parameter it does not know is ignored; a `/fr/`
8
+ * path it does not have is a 404.
9
+ */
10
+ import { parseQueryString } from "../../router/core/query.js";
11
+ /** Query parameter every site of the family carries its language in. */
12
+ export const LANGUAGE_PARAM = 'lang';
13
+ /**
14
+ * Whether a string is a language a link may name: a BCP 47 tag already
15
+ * written in its canonical form, e.g. `fr`, `pt-BR`, `zh-Hant`.
16
+ * @param value - The candidate tag.
17
+ * @returns True when the tag is valid and canonical.
18
+ */
19
+ export function isLanguageTag(value) {
20
+ if (value.length === 0 || value.length > 35)
21
+ return false;
22
+ try {
23
+ return Intl.getCanonicalLocales(value)[0] === value;
24
+ }
25
+ catch {
26
+ return false;
27
+ }
28
+ }
29
+ /**
30
+ * The language an address names.
31
+ * @param search - The query string, with or without its leading `?`.
32
+ * @returns The tag, or `undefined` when the address names none or names
33
+ * something that is not a language.
34
+ */
35
+ export function readLanguageParam(search) {
36
+ const value = parseQueryString(search)[LANGUAGE_PARAM];
37
+ if (value === undefined || !isLanguageTag(value))
38
+ return undefined;
39
+ return value;
40
+ }
41
+ /**
42
+ * An address that names the language it should be read in.
43
+ * @param url - The address, absolute or relative.
44
+ * @param language - The tag to write, or `undefined` to leave the address
45
+ * alone — which is what a site passes while it is in the language every
46
+ * other site defaults to.
47
+ * @returns The address, with the language written into its query.
48
+ */
49
+ export function withLanguageParam(url, language) {
50
+ if (language === undefined || !isLanguageTag(language))
51
+ return url;
52
+ let address;
53
+ try {
54
+ address = new URL(url, RELATIVE_BASE);
55
+ }
56
+ catch {
57
+ return url;
58
+ }
59
+ address.searchParams.set(LANGUAGE_PARAM, language);
60
+ const written = address.toString();
61
+ return written.startsWith(RELATIVE_BASE)
62
+ ? written.slice(RELATIVE_BASE.length)
63
+ : written;
64
+ }
65
+ // Only ever used to resolve a relative address, and stripped again after.
66
+ const RELATIVE_BASE = 'https://relative.invalid';
67
+ //# sourceMappingURL=languageParam.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"languageParam.js","sourceRoot":"","sources":["../../../src/language/core/languageParam.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,wEAAwE;AACxE,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;AAErC;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,KAAK,CAAC;IAC1D,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;IACvD,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACnE,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,GAAW,EACX,QAA4B;IAE5B,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;QAAE,OAAO,GAAG,CAAC;IACnE,IAAI,OAAY,CAAC;IACjB,IAAI,CAAC;QACH,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IACnC,OAAO,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC;QACtC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC;QACrC,CAAC,CAAC,OAAO,CAAC;AACd,CAAC;AAED,0EAA0E;AAC1E,MAAM,aAAa,GAAG,0BAA0B,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { ReactElement, ReactNode } from 'react';
2
+ /** Props of {@link SiteLanguage}. */
3
+ export interface SiteLanguageProps {
4
+ /**
5
+ * The language the page is being read in, or `undefined` while it is the
6
+ * one every site opens in — a link then names no language at all.
7
+ */
8
+ value: string | undefined;
9
+ /** The page. */
10
+ children: ReactNode;
11
+ }
12
+ /**
13
+ * Tells every link to a sibling site which language the visitor is reading in,
14
+ * so moving between the tools of the family keeps the language rather than
15
+ * landing in English again.
16
+ * @param props - The language, and the page under it.
17
+ * @returns The page.
18
+ */
19
+ export declare function SiteLanguage(props: SiteLanguageProps): ReactElement;
20
+ //# sourceMappingURL=SiteLanguage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SiteLanguage.d.ts","sourceRoot":"","sources":["../../../src/language/ui/SiteLanguage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIrD,qCAAqC;AACrC,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,gBAAgB;IAChB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,YAAY,CAGnE"}
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { SiteLanguageContext } from "./siteLanguageContext.js";
3
+ /**
4
+ * Tells every link to a sibling site which language the visitor is reading in,
5
+ * so moving between the tools of the family keeps the language rather than
6
+ * landing in English again.
7
+ * @param props - The language, and the page under it.
8
+ * @returns The page.
9
+ */
10
+ export function SiteLanguage(props) {
11
+ const { value, children } = props;
12
+ return _jsx(SiteLanguageContext, { value: value, children: children });
13
+ }
14
+ //# sourceMappingURL=SiteLanguage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SiteLanguage.js","sourceRoot":"","sources":["../../../src/language/ui/SiteLanguage.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAa/D;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,KAAwB;IACnD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAClC,OAAO,KAAC,mBAAmB,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAAuB,CAAC;AAC7E,CAAC"}
@@ -0,0 +1,4 @@
1
+ export type { SiteLanguageProps } from './SiteLanguage.tsx';
2
+ export { SiteLanguage } from './SiteLanguage.tsx';
3
+ export { useSiteLanguage } from './siteLanguageContext.ts';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/language/ui/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { SiteLanguage } from "./SiteLanguage.js";
2
+ export { useSiteLanguage } from "./siteLanguageContext.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/language/ui/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,12 @@
1
+ /** What a site declares the page is being read in. */
2
+ export declare const SiteLanguageContext: import("react").Context<string | undefined>;
3
+ /**
4
+ * The language a link out of this page should name.
5
+ *
6
+ * Under a `SiteLanguage` it is what the site declared. Without one it is
7
+ * whatever the address itself names, so a site that has not been told anything
8
+ * still passes on the language it was opened in.
9
+ * @returns The tag, or `undefined` when no language is to be carried.
10
+ */
11
+ export declare function useSiteLanguage(): string | undefined;
12
+ //# sourceMappingURL=siteLanguageContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"siteLanguageContext.d.ts","sourceRoot":"","sources":["../../../src/language/ui/siteLanguageContext.ts"],"names":[],"mappings":"AAIA,sDAAsD;AACtD,eAAO,MAAM,mBAAmB,6CAA+C,CAAC;AAEhF;;;;;;;GAOG;AACH,wBAAgB,eAAe,IAAI,MAAM,GAAG,SAAS,CAIpD"}
@@ -0,0 +1,19 @@
1
+ import { createContext, use } from 'react';
2
+ import { readLanguageParam } from "../core/languageParam.js";
3
+ /** What a site declares the page is being read in. */
4
+ export const SiteLanguageContext = createContext(undefined);
5
+ /**
6
+ * The language a link out of this page should name.
7
+ *
8
+ * Under a `SiteLanguage` it is what the site declared. Without one it is
9
+ * whatever the address itself names, so a site that has not been told anything
10
+ * still passes on the language it was opened in.
11
+ * @returns The tag, or `undefined` when no language is to be carried.
12
+ */
13
+ export function useSiteLanguage() {
14
+ const declared = use(SiteLanguageContext);
15
+ if (declared !== undefined)
16
+ return declared;
17
+ return readLanguageParam(globalThis.location?.search ?? '');
18
+ }
19
+ //# sourceMappingURL=siteLanguageContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"siteLanguageContext.js","sourceRoot":"","sources":["../../../src/language/ui/siteLanguageContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,sDAAsD;AACtD,MAAM,CAAC,MAAM,mBAAmB,GAAG,aAAa,CAAqB,SAAS,CAAC,CAAC;AAEhF;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,QAAQ,GAAG,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAC1C,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAC5C,OAAO,iBAAiB,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;AAC9D,CAAC"}
@@ -33,8 +33,16 @@ export interface AtomicOrbital {
33
33
  effectiveCharge: number;
34
34
  /** Shielding `S` those rules produced. */
35
35
  shielding: number;
36
- /** `−13.6 Z_eff²/n²`, electronvolts. */
36
+ /** `−13.606 Z_eff²/n²`, electronvolts: one rydberg times `Z_eff²/n²`. */
37
37
  energy: number;
38
+ /**
39
+ * Energy to pull this electron off the atom, electronvolts: the difference
40
+ * of Slater total energies between the ion and the atom. `null` when the
41
+ * subshell is empty, there being no electron to remove. This, not
42
+ * {@link AtomicOrbital.energy}, is the number to compare with a measured
43
+ * ionisation energy — see `slaterEnergy.ts`.
44
+ */
45
+ removalEnergy: number | null;
38
46
  /** `n − ℓ − 1` spheres on which the wavefunction changes sign. */
39
47
  radialNodes: number;
40
48
  /** ℓ planes or cones on which it changes sign. */
@@ -1 +1 @@
1
- {"version":3,"file":"atomicOrbitals.d.ts","sourceRoot":"","sources":["../../../src/orbital/core/atomicOrbitals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAS5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIvD,2EAA2E;AAC3E,MAAM,WAAW,aAAa;IAC5B,8DAA8D;IAC9D,EAAE,EAAE,MAAM,CAAC;IACX,wCAAwC;IACxC,CAAC,EAAE,MAAM,CAAC;IACV,mEAAmE;IACnE,CAAC,EAAE,MAAM,CAAC;IACV,4DAA4D;IAC5D,QAAQ,EAAE,YAAY,CAAC;IACvB,sDAAsD;IACtD,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oDAAoD;IACpD,eAAe,EAAE,MAAM,CAAC;IACxB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,WAAW,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,YAAY,EAAE,MAAM,CAAC;IACrB,uBAAuB;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,SAAS,EAAE,OAAO,CAAC;IACnB,sDAAsD;IACtD,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,4CAA4C;AAC5C,MAAM,WAAW,oBAAoB;IACnC;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,oBAAyB,GACjC,aAAa,EAAE,CAyDjB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,SAAS,aAAa,EAAE,EAClC,EAAE,EAAE,MAAM,GACT,aAAa,GAAG,IAAI,CAKtB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,aAAa,GACrB,oBAAoB,CAEtB;AAaD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,SAAS,aAAa,EAAE,GACjC,MAAM,GAAG,IAAI,CAaf"}
1
+ {"version":3,"file":"atomicOrbitals.d.ts","sourceRoot":"","sources":["../../../src/orbital/core/atomicOrbitals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAS5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKvD,2EAA2E;AAC3E,MAAM,WAAW,aAAa;IAC5B,8DAA8D;IAC9D,EAAE,EAAE,MAAM,CAAC;IACX,wCAAwC;IACxC,CAAC,EAAE,MAAM,CAAC;IACV,mEAAmE;IACnE,CAAC,EAAE,MAAM,CAAC;IACV,4DAA4D;IAC5D,QAAQ,EAAE,YAAY,CAAC;IACvB,sDAAsD;IACtD,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oDAAoD;IACpD,eAAe,EAAE,MAAM,CAAC;IACxB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;OAMG;IACH,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,kEAAkE;IAClE,WAAW,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,YAAY,EAAE,MAAM,CAAC;IACrB,uBAAuB;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,SAAS,EAAE,OAAO,CAAC;IACnB,sDAAsD;IACtD,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,4CAA4C;AAC5C,MAAM,WAAW,oBAAoB;IACnC;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,oBAAyB,GACjC,aAAa,EAAE,CAgEjB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,SAAS,aAAa,EAAE,EAClC,EAAE,EAAE,MAAM,GACT,aAAa,GAAG,IAAI,CAKtB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,aAAa,GACrB,oBAAoB,CAEtB;AAaD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,SAAS,aAAa,EAAE,GACjC,MAAM,GAAG,IAAI,CAaf"}