react-cheminfo 0.2.0 → 0.4.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 (882) hide show
  1. package/README.md +139 -10
  2. package/lib/capsule/ui/CapsuleFilter.d.ts +61 -0
  3. package/lib/capsule/ui/CapsuleFilter.d.ts.map +1 -0
  4. package/lib/capsule/ui/CapsuleFilter.js +33 -0
  5. package/lib/capsule/ui/CapsuleFilter.js.map +1 -0
  6. package/lib/capsule/ui/index.d.ts +3 -0
  7. package/lib/capsule/ui/index.d.ts.map +1 -0
  8. package/lib/capsule/ui/index.js +2 -0
  9. package/lib/capsule/ui/index.js.map +1 -0
  10. package/lib/chrome/ui/NavLink.d.ts +27 -0
  11. package/lib/chrome/ui/NavLink.d.ts.map +1 -0
  12. package/lib/chrome/ui/NavLink.js +36 -0
  13. package/lib/chrome/ui/NavLink.js.map +1 -0
  14. package/lib/chrome/ui/NavMenuButton.d.ts +40 -0
  15. package/lib/chrome/ui/NavMenuButton.d.ts.map +1 -0
  16. package/lib/chrome/ui/NavMenuButton.js +26 -0
  17. package/lib/chrome/ui/NavMenuButton.js.map +1 -0
  18. package/lib/chrome/ui/SiteFooter.d.ts +39 -0
  19. package/lib/chrome/ui/SiteFooter.d.ts.map +1 -0
  20. package/lib/chrome/ui/SiteFooter.js +17 -0
  21. package/lib/chrome/ui/SiteFooter.js.map +1 -0
  22. package/lib/chrome/ui/SiteHeader.d.ts +59 -0
  23. package/lib/chrome/ui/SiteHeader.d.ts.map +1 -0
  24. package/lib/chrome/ui/SiteHeader.js +28 -0
  25. package/lib/chrome/ui/SiteHeader.js.map +1 -0
  26. package/lib/chrome/ui/index.d.ts +12 -0
  27. package/lib/chrome/ui/index.d.ts.map +1 -0
  28. package/lib/chrome/ui/index.js +6 -0
  29. package/lib/chrome/ui/index.js.map +1 -0
  30. package/lib/chrome/ui/navItem.d.ts +57 -0
  31. package/lib/chrome/ui/navItem.d.ts.map +1 -0
  32. package/lib/chrome/ui/navItem.js +10 -0
  33. package/lib/chrome/ui/navItem.js.map +1 -0
  34. package/lib/chrome/ui/useCompactHeader.d.ts +31 -0
  35. package/lib/chrome/ui/useCompactHeader.d.ts.map +1 -0
  36. package/lib/chrome/ui/useCompactHeader.js +50 -0
  37. package/lib/chrome/ui/useCompactHeader.js.map +1 -0
  38. package/lib/citation/core/clipboard.d.ts +12 -3
  39. package/lib/citation/core/clipboard.d.ts.map +1 -1
  40. package/lib/citation/core/clipboard.js +21 -10
  41. package/lib/citation/core/clipboard.js.map +1 -1
  42. package/lib/citation/core/download.d.ts +11 -3
  43. package/lib/citation/core/download.d.ts.map +1 -1
  44. package/lib/citation/core/download.js +17 -13
  45. package/lib/citation/core/download.js.map +1 -1
  46. package/lib/citation/core/index.d.ts +4 -3
  47. package/lib/citation/core/index.d.ts.map +1 -1
  48. package/lib/citation/core/index.js +3 -3
  49. package/lib/citation/core/index.js.map +1 -1
  50. package/lib/citation/core/works.d.ts +44 -0
  51. package/lib/citation/core/works.d.ts.map +1 -0
  52. package/lib/citation/core/works.js +51 -0
  53. package/lib/citation/core/works.js.map +1 -0
  54. package/lib/citation/ui/CitationMenu.d.ts +20 -3
  55. package/lib/citation/ui/CitationMenu.d.ts.map +1 -1
  56. package/lib/citation/ui/CitationMenu.js +60 -49
  57. package/lib/citation/ui/CitationMenu.js.map +1 -1
  58. package/lib/citation/ui/CitationPreview.d.ts +5 -2
  59. package/lib/citation/ui/CitationPreview.d.ts.map +1 -1
  60. package/lib/citation/ui/CitationPreview.js +9 -4
  61. package/lib/citation/ui/CitationPreview.js.map +1 -1
  62. package/lib/citation/ui/CiteButton.d.ts +13 -6
  63. package/lib/citation/ui/CiteButton.d.ts.map +1 -1
  64. package/lib/citation/ui/CiteButton.js +5 -4
  65. package/lib/citation/ui/CiteButton.js.map +1 -1
  66. package/lib/citation/ui/CopyFormatEntries.d.ts +31 -0
  67. package/lib/citation/ui/CopyFormatEntries.d.ts.map +1 -0
  68. package/lib/citation/ui/CopyFormatEntries.js +29 -0
  69. package/lib/citation/ui/CopyFormatEntries.js.map +1 -0
  70. package/lib/citation/ui/WorkEntry.d.ts +18 -0
  71. package/lib/citation/ui/WorkEntry.d.ts.map +1 -0
  72. package/lib/citation/ui/WorkEntry.js +32 -0
  73. package/lib/citation/ui/WorkEntry.js.map +1 -0
  74. package/lib/citation/ui/entries.d.ts +7 -7
  75. package/lib/citation/ui/entries.d.ts.map +1 -1
  76. package/lib/citation/ui/entries.js +11 -13
  77. package/lib/citation/ui/entries.js.map +1 -1
  78. package/lib/citation/ui/index.d.ts +2 -2
  79. package/lib/citation/ui/index.d.ts.map +1 -1
  80. package/lib/citation/ui/index.js.map +1 -1
  81. package/lib/citation/ui/useCopyFeedback.d.ts +20 -0
  82. package/lib/citation/ui/useCopyFeedback.d.ts.map +1 -0
  83. package/lib/citation/ui/useCopyFeedback.js +49 -0
  84. package/lib/citation/ui/useCopyFeedback.js.map +1 -0
  85. package/lib/clipboard/core/index.d.ts +2 -0
  86. package/lib/clipboard/core/index.d.ts.map +1 -0
  87. package/lib/clipboard/core/index.js +2 -0
  88. package/lib/clipboard/core/index.js.map +1 -0
  89. package/lib/clipboard/core/writeToClipboard.d.ts +12 -0
  90. package/lib/clipboard/core/writeToClipboard.d.ts.map +1 -0
  91. package/lib/clipboard/core/writeToClipboard.js +49 -0
  92. package/lib/clipboard/core/writeToClipboard.js.map +1 -0
  93. package/lib/clipboard/ui/CodeBlock.d.ts +43 -0
  94. package/lib/clipboard/ui/CodeBlock.d.ts.map +1 -0
  95. package/lib/clipboard/ui/CodeBlock.js +49 -0
  96. package/lib/clipboard/ui/CodeBlock.js.map +1 -0
  97. package/lib/clipboard/ui/CopyButton.d.ts +64 -0
  98. package/lib/clipboard/ui/CopyButton.d.ts.map +1 -0
  99. package/lib/clipboard/ui/CopyButton.js +21 -0
  100. package/lib/clipboard/ui/CopyButton.js.map +1 -0
  101. package/lib/clipboard/ui/index.d.ts +7 -0
  102. package/lib/clipboard/ui/index.d.ts.map +1 -0
  103. package/lib/clipboard/ui/index.js +4 -0
  104. package/lib/clipboard/ui/index.js.map +1 -0
  105. package/lib/clipboard/ui/useCopyToClipboard.d.ts +24 -0
  106. package/lib/clipboard/ui/useCopyToClipboard.d.ts.map +1 -0
  107. package/lib/clipboard/ui/useCopyToClipboard.js +36 -0
  108. package/lib/clipboard/ui/useCopyToClipboard.js.map +1 -0
  109. package/lib/color/core/contrast.d.ts +43 -0
  110. package/lib/color/core/contrast.d.ts.map +1 -0
  111. package/lib/color/core/contrast.js +61 -0
  112. package/lib/color/core/contrast.js.map +1 -0
  113. package/lib/color/core/hex.d.ts +26 -0
  114. package/lib/color/core/hex.d.ts.map +1 -0
  115. package/lib/color/core/hex.js +44 -0
  116. package/lib/color/core/hex.js.map +1 -0
  117. package/lib/color/core/index.d.ts +5 -0
  118. package/lib/color/core/index.d.ts.map +1 -0
  119. package/lib/color/core/index.js +3 -0
  120. package/lib/color/core/index.js.map +1 -0
  121. package/lib/color/core/scale.d.ts +52 -0
  122. package/lib/color/core/scale.d.ts.map +1 -0
  123. package/lib/color/core/scale.js +96 -0
  124. package/lib/color/core/scale.js.map +1 -0
  125. package/lib/color/ui/ColorScaleLegend.d.ts +38 -0
  126. package/lib/color/ui/ColorScaleLegend.d.ts.map +1 -0
  127. package/lib/color/ui/ColorScaleLegend.js +68 -0
  128. package/lib/color/ui/ColorScaleLegend.js.map +1 -0
  129. package/lib/color/ui/index.d.ts +3 -0
  130. package/lib/color/ui/index.d.ts.map +1 -0
  131. package/lib/color/ui/index.js +2 -0
  132. package/lib/color/ui/index.js.map +1 -0
  133. package/lib/core.d.ts +12 -0
  134. package/lib/core.d.ts.map +1 -1
  135. package/lib/core.js +12 -0
  136. package/lib/core.js.map +1 -1
  137. package/lib/credits/core/credits.d.ts +144 -0
  138. package/lib/credits/core/credits.d.ts.map +1 -0
  139. package/lib/credits/core/credits.js +156 -0
  140. package/lib/credits/core/credits.js.map +1 -0
  141. package/lib/credits/core/index.d.ts +3 -0
  142. package/lib/credits/core/index.d.ts.map +1 -0
  143. package/lib/credits/core/index.js +2 -0
  144. package/lib/credits/core/index.js.map +1 -0
  145. package/lib/credits/ui/CreditsList.d.ts +29 -0
  146. package/lib/credits/ui/CreditsList.d.ts.map +1 -0
  147. package/lib/credits/ui/CreditsList.js +33 -0
  148. package/lib/credits/ui/CreditsList.js.map +1 -0
  149. package/lib/credits/ui/index.d.ts +3 -0
  150. package/lib/credits/ui/index.d.ts.map +1 -0
  151. package/lib/credits/ui/index.js +2 -0
  152. package/lib/credits/ui/index.js.map +1 -0
  153. package/lib/delimited/core/delimiters.d.ts +31 -0
  154. package/lib/delimited/core/delimiters.d.ts.map +1 -0
  155. package/lib/delimited/core/delimiters.js +46 -0
  156. package/lib/delimited/core/delimiters.js.map +1 -0
  157. package/lib/delimited/core/index.d.ts +9 -0
  158. package/lib/delimited/core/index.d.ts.map +1 -0
  159. package/lib/delimited/core/index.js +5 -0
  160. package/lib/delimited/core/index.js.map +1 -0
  161. package/lib/delimited/core/readDelimited.d.ts +32 -0
  162. package/lib/delimited/core/readDelimited.d.ts.map +1 -0
  163. package/lib/delimited/core/readDelimited.js +122 -0
  164. package/lib/delimited/core/readDelimited.js.map +1 -0
  165. package/lib/delimited/core/rowsToDelimited.d.ts +59 -0
  166. package/lib/delimited/core/rowsToDelimited.d.ts.map +1 -0
  167. package/lib/delimited/core/rowsToDelimited.js +87 -0
  168. package/lib/delimited/core/rowsToDelimited.js.map +1 -0
  169. package/lib/delimited/core/toDelimited.d.ts +38 -0
  170. package/lib/delimited/core/toDelimited.d.ts.map +1 -0
  171. package/lib/delimited/core/toDelimited.js +45 -0
  172. package/lib/delimited/core/toDelimited.js.map +1 -0
  173. package/lib/delimited/ui/DelimitedTextDialog.d.ts +22 -0
  174. package/lib/delimited/ui/DelimitedTextDialog.d.ts.map +1 -0
  175. package/lib/delimited/ui/DelimitedTextDialog.js +17 -0
  176. package/lib/delimited/ui/DelimitedTextDialog.js.map +1 -0
  177. package/lib/delimited/ui/DelimitedTextPanel.d.ts +56 -0
  178. package/lib/delimited/ui/DelimitedTextPanel.d.ts.map +1 -0
  179. package/lib/delimited/ui/DelimitedTextPanel.js +55 -0
  180. package/lib/delimited/ui/DelimitedTextPanel.js.map +1 -0
  181. package/lib/delimited/ui/index.d.ts +5 -0
  182. package/lib/delimited/ui/index.d.ts.map +1 -0
  183. package/lib/delimited/ui/index.js +3 -0
  184. package/lib/delimited/ui/index.js.map +1 -0
  185. package/lib/disclosure/ui/CollapsibleSection.d.ts +57 -0
  186. package/lib/disclosure/ui/CollapsibleSection.d.ts.map +1 -0
  187. package/lib/disclosure/ui/CollapsibleSection.js +60 -0
  188. package/lib/disclosure/ui/CollapsibleSection.js.map +1 -0
  189. package/lib/disclosure/ui/index.d.ts +5 -0
  190. package/lib/disclosure/ui/index.d.ts.map +1 -0
  191. package/lib/disclosure/ui/index.js +3 -0
  192. package/lib/disclosure/ui/index.js.map +1 -0
  193. package/lib/disclosure/ui/useDisclosure.d.ts +22 -0
  194. package/lib/disclosure/ui/useDisclosure.d.ts.map +1 -0
  195. package/lib/disclosure/ui/useDisclosure.js +18 -0
  196. package/lib/disclosure/ui/useDisclosure.js.map +1 -0
  197. package/lib/download/core/downloadBlob.d.ts +10 -0
  198. package/lib/download/core/downloadBlob.d.ts.map +1 -0
  199. package/lib/download/core/downloadBlob.js +20 -0
  200. package/lib/download/core/downloadBlob.js.map +1 -0
  201. package/lib/download/core/downloadText.d.ts +9 -0
  202. package/lib/download/core/downloadText.d.ts.map +1 -0
  203. package/lib/download/core/downloadText.js +14 -0
  204. package/lib/download/core/downloadText.js.map +1 -0
  205. package/lib/download/core/index.d.ts +4 -0
  206. package/lib/download/core/index.d.ts.map +1 -0
  207. package/lib/download/core/index.js +4 -0
  208. package/lib/download/core/index.js.map +1 -0
  209. package/lib/download/core/sanitizeFileName.d.ts +15 -0
  210. package/lib/download/core/sanitizeFileName.d.ts.map +1 -0
  211. package/lib/download/core/sanitizeFileName.js +33 -0
  212. package/lib/download/core/sanitizeFileName.js.map +1 -0
  213. package/lib/ecosystem/core/index.d.ts +3 -0
  214. package/lib/ecosystem/core/index.d.ts.map +1 -1
  215. package/lib/ecosystem/core/index.js +3 -0
  216. package/lib/ecosystem/core/index.js.map +1 -1
  217. package/lib/ecosystem/core/links.d.ts +11 -0
  218. package/lib/ecosystem/core/links.d.ts.map +1 -0
  219. package/lib/ecosystem/core/links.js +28 -0
  220. package/lib/ecosystem/core/links.js.map +1 -0
  221. package/lib/ecosystem/core/lookup.d.ts +21 -0
  222. package/lib/ecosystem/core/lookup.d.ts.map +1 -0
  223. package/lib/ecosystem/core/lookup.js +40 -0
  224. package/lib/ecosystem/core/lookup.js.map +1 -0
  225. package/lib/ecosystem/core/sites.d.ts +3 -1
  226. package/lib/ecosystem/core/sites.d.ts.map +1 -1
  227. package/lib/ecosystem/core/sites.js +33 -0
  228. package/lib/ecosystem/core/sites.js.map +1 -1
  229. package/lib/ecosystem/core/tokens.d.ts +21 -0
  230. package/lib/ecosystem/core/tokens.d.ts.map +1 -0
  231. package/lib/ecosystem/core/tokens.js +42 -0
  232. package/lib/ecosystem/core/tokens.js.map +1 -0
  233. package/lib/ecosystem/ui/SiteTheme.d.ts +18 -0
  234. package/lib/ecosystem/ui/SiteTheme.d.ts.map +1 -0
  235. package/lib/ecosystem/ui/SiteTheme.js +16 -0
  236. package/lib/ecosystem/ui/SiteTheme.js.map +1 -0
  237. package/lib/ecosystem/ui/Wordmark.d.ts +30 -0
  238. package/lib/ecosystem/ui/Wordmark.d.ts.map +1 -0
  239. package/lib/ecosystem/ui/Wordmark.js +26 -0
  240. package/lib/ecosystem/ui/Wordmark.js.map +1 -0
  241. package/lib/ecosystem/ui/glyphs.d.ts +16 -0
  242. package/lib/ecosystem/ui/glyphs.d.ts.map +1 -0
  243. package/lib/ecosystem/ui/glyphs.js +41 -0
  244. package/lib/ecosystem/ui/glyphs.js.map +1 -0
  245. package/lib/ecosystem/ui/index.d.ts +4 -0
  246. package/lib/ecosystem/ui/index.d.ts.map +1 -1
  247. package/lib/ecosystem/ui/index.js +2 -0
  248. package/lib/ecosystem/ui/index.js.map +1 -1
  249. package/lib/ecosystem/ui/marks.d.ts +30 -4
  250. package/lib/ecosystem/ui/marks.d.ts.map +1 -1
  251. package/lib/ecosystem/ui/marks.js +15 -36
  252. package/lib/ecosystem/ui/marks.js.map +1 -1
  253. package/lib/error/ui/ErrorBoundary.d.ts +60 -0
  254. package/lib/error/ui/ErrorBoundary.d.ts.map +1 -0
  255. package/lib/error/ui/ErrorBoundary.js +59 -0
  256. package/lib/error/ui/ErrorBoundary.js.map +1 -0
  257. package/lib/error/ui/ErrorFallback.d.ts +38 -0
  258. package/lib/error/ui/ErrorFallback.d.ts.map +1 -0
  259. package/lib/error/ui/ErrorFallback.js +16 -0
  260. package/lib/error/ui/ErrorFallback.js.map +1 -0
  261. package/lib/error/ui/index.d.ts +5 -0
  262. package/lib/error/ui/index.d.ts.map +1 -0
  263. package/lib/error/ui/index.js +3 -0
  264. package/lib/error/ui/index.js.map +1 -0
  265. package/lib/error/ui/toError.d.ts +11 -0
  266. package/lib/error/ui/toError.d.ts.map +1 -0
  267. package/lib/error/ui/toError.js +35 -0
  268. package/lib/error/ui/toError.js.map +1 -0
  269. package/lib/format/core/index.d.ts +5 -0
  270. package/lib/format/core/index.d.ts.map +1 -0
  271. package/lib/format/core/index.js +5 -0
  272. package/lib/format/core/index.js.map +1 -0
  273. package/lib/format/core/missing.d.ts +7 -0
  274. package/lib/format/core/missing.d.ts.map +1 -0
  275. package/lib/format/core/missing.js +7 -0
  276. package/lib/format/core/missing.js.map +1 -0
  277. package/lib/format/core/numbers.d.ts +40 -0
  278. package/lib/format/core/numbers.d.ts.map +1 -0
  279. package/lib/format/core/numbers.js +81 -0
  280. package/lib/format/core/numbers.js.map +1 -0
  281. package/lib/format/core/units.d.ts +17 -0
  282. package/lib/format/core/units.d.ts.map +1 -0
  283. package/lib/format/core/units.js +54 -0
  284. package/lib/format/core/units.js.map +1 -0
  285. package/lib/format/core/words.d.ts +12 -0
  286. package/lib/format/core/words.d.ts.map +1 -0
  287. package/lib/format/core/words.js +14 -0
  288. package/lib/format/core/words.js.map +1 -0
  289. package/lib/help/ui/HelpBody.d.ts +57 -0
  290. package/lib/help/ui/HelpBody.d.ts.map +1 -0
  291. package/lib/help/ui/HelpBody.js +44 -0
  292. package/lib/help/ui/HelpBody.js.map +1 -0
  293. package/lib/help/ui/HelpIcon.d.ts +33 -0
  294. package/lib/help/ui/HelpIcon.d.ts.map +1 -0
  295. package/lib/help/ui/HelpIcon.js +16 -0
  296. package/lib/help/ui/HelpIcon.js.map +1 -0
  297. package/lib/help/ui/HelpToolbarButton.d.ts +45 -0
  298. package/lib/help/ui/HelpToolbarButton.d.ts.map +1 -0
  299. package/lib/help/ui/HelpToolbarButton.js +17 -0
  300. package/lib/help/ui/HelpToolbarButton.js.map +1 -0
  301. package/lib/help/ui/HelpTooltip.d.ts +36 -0
  302. package/lib/help/ui/HelpTooltip.d.ts.map +1 -0
  303. package/lib/help/ui/HelpTooltip.js +24 -0
  304. package/lib/help/ui/HelpTooltip.js.map +1 -0
  305. package/lib/help/ui/index.d.ts +9 -0
  306. package/lib/help/ui/index.d.ts.map +1 -0
  307. package/lib/help/ui/index.js +5 -0
  308. package/lib/help/ui/index.js.map +1 -0
  309. package/lib/hooks/ui/index.d.ts +7 -0
  310. package/lib/hooks/ui/index.d.ts.map +1 -0
  311. package/lib/hooks/ui/index.js +5 -0
  312. package/lib/hooks/ui/index.js.map +1 -0
  313. package/lib/hooks/ui/listNavigation.d.ts +54 -0
  314. package/lib/hooks/ui/listNavigation.d.ts.map +1 -0
  315. package/lib/hooks/ui/listNavigation.js +77 -0
  316. package/lib/hooks/ui/listNavigation.js.map +1 -0
  317. package/lib/hooks/ui/useContainerSize.d.ts +15 -0
  318. package/lib/hooks/ui/useContainerSize.d.ts.map +1 -0
  319. package/lib/hooks/ui/useContainerSize.js +24 -0
  320. package/lib/hooks/ui/useContainerSize.js.map +1 -0
  321. package/lib/hooks/ui/useDebouncedValue.d.ts +12 -0
  322. package/lib/hooks/ui/useDebouncedValue.d.ts.map +1 -0
  323. package/lib/hooks/ui/useDebouncedValue.js +24 -0
  324. package/lib/hooks/ui/useDebouncedValue.js.map +1 -0
  325. package/lib/hooks/ui/useListKeyboardNavigation.d.ts +17 -0
  326. package/lib/hooks/ui/useListKeyboardNavigation.d.ts.map +1 -0
  327. package/lib/hooks/ui/useListKeyboardNavigation.js +25 -0
  328. package/lib/hooks/ui/useListKeyboardNavigation.js.map +1 -0
  329. package/lib/hooks/ui/useResizeObserver.d.ts +20 -0
  330. package/lib/hooks/ui/useResizeObserver.d.ts.map +1 -0
  331. package/lib/hooks/ui/useResizeObserver.js +37 -0
  332. package/lib/hooks/ui/useResizeObserver.js.map +1 -0
  333. package/lib/orbital/core/atomicGrid.d.ts +85 -0
  334. package/lib/orbital/core/atomicGrid.d.ts.map +1 -0
  335. package/lib/orbital/core/atomicGrid.js +105 -0
  336. package/lib/orbital/core/atomicGrid.js.map +1 -0
  337. package/lib/orbital/core/atomicOrbitals.d.ts +97 -0
  338. package/lib/orbital/core/atomicOrbitals.d.ts.map +1 -0
  339. package/lib/orbital/core/atomicOrbitals.js +135 -0
  340. package/lib/orbital/core/atomicOrbitals.js.map +1 -0
  341. package/lib/orbital/core/constants.d.ts +33 -0
  342. package/lib/orbital/core/constants.d.ts.map +1 -0
  343. package/lib/orbital/core/constants.js +21 -0
  344. package/lib/orbital/core/constants.js.map +1 -0
  345. package/lib/orbital/core/electronConfiguration.d.ts +106 -0
  346. package/lib/orbital/core/electronConfiguration.d.ts.map +1 -0
  347. package/lib/orbital/core/electronConfiguration.js +207 -0
  348. package/lib/orbital/core/electronConfiguration.js.map +1 -0
  349. package/lib/orbital/core/grid.d.ts +60 -0
  350. package/lib/orbital/core/grid.d.ts.map +1 -0
  351. package/lib/orbital/core/grid.js +81 -0
  352. package/lib/orbital/core/grid.js.map +1 -0
  353. package/lib/orbital/core/hydrogenic.d.ts +99 -0
  354. package/lib/orbital/core/hydrogenic.d.ts.map +1 -0
  355. package/lib/orbital/core/hydrogenic.js +181 -0
  356. package/lib/orbital/core/hydrogenic.js.map +1 -0
  357. package/lib/orbital/core/index.d.ts +24 -0
  358. package/lib/orbital/core/index.d.ts.map +1 -0
  359. package/lib/orbital/core/index.js +13 -0
  360. package/lib/orbital/core/index.js.map +1 -0
  361. package/lib/orbital/core/isovalue.d.ts +60 -0
  362. package/lib/orbital/core/isovalue.d.ts.map +1 -0
  363. package/lib/orbital/core/isovalue.js +128 -0
  364. package/lib/orbital/core/isovalue.js.map +1 -0
  365. package/lib/orbital/core/numerics.d.ts +39 -0
  366. package/lib/orbital/core/numerics.d.ts.map +1 -0
  367. package/lib/orbital/core/numerics.js +75 -0
  368. package/lib/orbital/core/numerics.js.map +1 -0
  369. package/lib/orbital/core/occupancy.d.ts +44 -0
  370. package/lib/orbital/core/occupancy.d.ts.map +1 -0
  371. package/lib/orbital/core/occupancy.js +85 -0
  372. package/lib/orbital/core/occupancy.js.map +1 -0
  373. package/lib/orbital/core/palette.d.ts +36 -0
  374. package/lib/orbital/core/palette.d.ts.map +1 -0
  375. package/lib/orbital/core/palette.js +37 -0
  376. package/lib/orbital/core/palette.js.map +1 -0
  377. package/lib/orbital/core/realHarmonics.d.ts +57 -0
  378. package/lib/orbital/core/realHarmonics.d.ts.map +1 -0
  379. package/lib/orbital/core/realHarmonics.js +144 -0
  380. package/lib/orbital/core/realHarmonics.js.map +1 -0
  381. package/lib/orbital/core/sample.d.ts +66 -0
  382. package/lib/orbital/core/sample.d.ts.map +1 -0
  383. package/lib/orbital/core/sample.js +61 -0
  384. package/lib/orbital/core/sample.js.map +1 -0
  385. package/lib/orbital/core/screening.d.ts +46 -0
  386. package/lib/orbital/core/screening.d.ts.map +1 -0
  387. package/lib/orbital/core/screening.js +72 -0
  388. package/lib/orbital/core/screening.js.map +1 -0
  389. package/lib/orbital/ui/AtomicOrbitalCanvas.d.ts +62 -0
  390. package/lib/orbital/ui/AtomicOrbitalCanvas.d.ts.map +1 -0
  391. package/lib/orbital/ui/AtomicOrbitalCanvas.js +115 -0
  392. package/lib/orbital/ui/AtomicOrbitalCanvas.js.map +1 -0
  393. package/lib/orbital/ui/AtomicOrbitalViewer.d.ts +77 -0
  394. package/lib/orbital/ui/AtomicOrbitalViewer.d.ts.map +1 -0
  395. package/lib/orbital/ui/AtomicOrbitalViewer.js +49 -0
  396. package/lib/orbital/ui/AtomicOrbitalViewer.js.map +1 -0
  397. package/lib/orbital/ui/camera.d.ts +36 -0
  398. package/lib/orbital/ui/camera.d.ts.map +1 -0
  399. package/lib/orbital/ui/camera.js +98 -0
  400. package/lib/orbital/ui/camera.js.map +1 -0
  401. package/lib/orbital/ui/capability.d.ts +28 -0
  402. package/lib/orbital/ui/capability.d.ts.map +1 -0
  403. package/lib/orbital/ui/capability.js +77 -0
  404. package/lib/orbital/ui/capability.js.map +1 -0
  405. package/lib/orbital/ui/index.d.ts +17 -0
  406. package/lib/orbital/ui/index.d.ts.map +1 -0
  407. package/lib/orbital/ui/index.js +13 -0
  408. package/lib/orbital/ui/index.js.map +1 -0
  409. package/lib/orbital/ui/renderVolume.d.ts +60 -0
  410. package/lib/orbital/ui/renderVolume.d.ts.map +1 -0
  411. package/lib/orbital/ui/renderVolume.js +119 -0
  412. package/lib/orbital/ui/renderVolume.js.map +1 -0
  413. package/lib/orbital/ui/viewer.d.ts +88 -0
  414. package/lib/orbital/ui/viewer.d.ts.map +1 -0
  415. package/lib/orbital/ui/viewer.js +156 -0
  416. package/lib/orbital/ui/viewer.js.map +1 -0
  417. package/lib/orbital/ui/volumeField.d.ts +33 -0
  418. package/lib/orbital/ui/volumeField.d.ts.map +1 -0
  419. package/lib/orbital/ui/volumeField.js +68 -0
  420. package/lib/orbital/ui/volumeField.js.map +1 -0
  421. package/lib/orbital.d.ts +11 -0
  422. package/lib/orbital.d.ts.map +1 -0
  423. package/lib/orbital.js +11 -0
  424. package/lib/orbital.js.map +1 -0
  425. package/lib/pedagogy/core/glossary.d.ts +79 -0
  426. package/lib/pedagogy/core/glossary.d.ts.map +1 -0
  427. package/lib/pedagogy/core/glossary.js +71 -0
  428. package/lib/pedagogy/core/glossary.js.map +1 -0
  429. package/lib/pedagogy/core/index.d.ts +8 -0
  430. package/lib/pedagogy/core/index.d.ts.map +1 -0
  431. package/lib/pedagogy/core/index.js +4 -0
  432. package/lib/pedagogy/core/index.js.map +1 -0
  433. package/lib/pedagogy/core/jsonStorage.d.ts +21 -0
  434. package/lib/pedagogy/core/jsonStorage.d.ts.map +1 -0
  435. package/lib/pedagogy/core/jsonStorage.js +55 -0
  436. package/lib/pedagogy/core/jsonStorage.js.map +1 -0
  437. package/lib/pedagogy/core/progress.d.ts +116 -0
  438. package/lib/pedagogy/core/progress.d.ts.map +1 -0
  439. package/lib/pedagogy/core/progress.js +122 -0
  440. package/lib/pedagogy/core/progress.js.map +1 -0
  441. package/lib/pedagogy/core/types.d.ts +74 -0
  442. package/lib/pedagogy/core/types.d.ts.map +1 -0
  443. package/lib/pedagogy/core/types.js +8 -0
  444. package/lib/pedagogy/core/types.js.map +1 -0
  445. package/lib/pedagogy/core/validation.d.ts +79 -0
  446. package/lib/pedagogy/core/validation.d.ts.map +1 -0
  447. package/lib/pedagogy/core/validation.js +47 -0
  448. package/lib/pedagogy/core/validation.js.map +1 -0
  449. package/lib/pedagogy/ui/ExerciseActions.d.ts +74 -0
  450. package/lib/pedagogy/ui/ExerciseActions.d.ts.map +1 -0
  451. package/lib/pedagogy/ui/ExerciseActions.js +22 -0
  452. package/lib/pedagogy/ui/ExerciseActions.js.map +1 -0
  453. package/lib/pedagogy/ui/ExerciseProgressHeader.d.ts +43 -0
  454. package/lib/pedagogy/ui/ExerciseProgressHeader.d.ts.map +1 -0
  455. package/lib/pedagogy/ui/ExerciseProgressHeader.js +43 -0
  456. package/lib/pedagogy/ui/ExerciseProgressHeader.js.map +1 -0
  457. package/lib/pedagogy/ui/ExerciseTags.d.ts +49 -0
  458. package/lib/pedagogy/ui/ExerciseTags.d.ts.map +1 -0
  459. package/lib/pedagogy/ui/ExerciseTags.js +22 -0
  460. package/lib/pedagogy/ui/ExerciseTags.js.map +1 -0
  461. package/lib/pedagogy/ui/GlossaryProvider.d.ts +19 -0
  462. package/lib/pedagogy/ui/GlossaryProvider.d.ts.map +1 -0
  463. package/lib/pedagogy/ui/GlossaryProvider.js +16 -0
  464. package/lib/pedagogy/ui/GlossaryProvider.js.map +1 -0
  465. package/lib/pedagogy/ui/GlossaryText.d.ts +50 -0
  466. package/lib/pedagogy/ui/GlossaryText.d.ts.map +1 -0
  467. package/lib/pedagogy/ui/GlossaryText.js +79 -0
  468. package/lib/pedagogy/ui/GlossaryText.js.map +1 -0
  469. package/lib/pedagogy/ui/HintLadder.d.ts +38 -0
  470. package/lib/pedagogy/ui/HintLadder.d.ts.map +1 -0
  471. package/lib/pedagogy/ui/HintLadder.js +33 -0
  472. package/lib/pedagogy/ui/HintLadder.js.map +1 -0
  473. package/lib/pedagogy/ui/ReferenceGrid.d.ts +31 -0
  474. package/lib/pedagogy/ui/ReferenceGrid.d.ts.map +1 -0
  475. package/lib/pedagogy/ui/ReferenceGrid.js +25 -0
  476. package/lib/pedagogy/ui/ReferenceGrid.js.map +1 -0
  477. package/lib/pedagogy/ui/ReferenceSectionBlock.d.ts +64 -0
  478. package/lib/pedagogy/ui/ReferenceSectionBlock.d.ts.map +1 -0
  479. package/lib/pedagogy/ui/ReferenceSectionBlock.js +78 -0
  480. package/lib/pedagogy/ui/ReferenceSectionBlock.js.map +1 -0
  481. package/lib/pedagogy/ui/SyntaxTooltip.d.ts +94 -0
  482. package/lib/pedagogy/ui/SyntaxTooltip.d.ts.map +1 -0
  483. package/lib/pedagogy/ui/SyntaxTooltip.js +79 -0
  484. package/lib/pedagogy/ui/SyntaxTooltip.js.map +1 -0
  485. package/lib/pedagogy/ui/TestCaseList.d.ts +35 -0
  486. package/lib/pedagogy/ui/TestCaseList.d.ts.map +1 -0
  487. package/lib/pedagogy/ui/TestCaseList.js +63 -0
  488. package/lib/pedagogy/ui/TestCaseList.js.map +1 -0
  489. package/lib/pedagogy/ui/TutorialStepStrip.d.ts +42 -0
  490. package/lib/pedagogy/ui/TutorialStepStrip.d.ts.map +1 -0
  491. package/lib/pedagogy/ui/TutorialStepStrip.js +98 -0
  492. package/lib/pedagogy/ui/TutorialStepStrip.js.map +1 -0
  493. package/lib/pedagogy/ui/exerciseMeta.d.ts +24 -0
  494. package/lib/pedagogy/ui/exerciseMeta.d.ts.map +1 -0
  495. package/lib/pedagogy/ui/exerciseMeta.js +38 -0
  496. package/lib/pedagogy/ui/exerciseMeta.js.map +1 -0
  497. package/lib/pedagogy/ui/glossaryContext.d.ts +17 -0
  498. package/lib/pedagogy/ui/glossaryContext.d.ts.map +1 -0
  499. package/lib/pedagogy/ui/glossaryContext.js +19 -0
  500. package/lib/pedagogy/ui/glossaryContext.js.map +1 -0
  501. package/lib/pedagogy/ui/index.d.ts +27 -0
  502. package/lib/pedagogy/ui/index.d.ts.map +1 -0
  503. package/lib/pedagogy/ui/index.js +15 -0
  504. package/lib/pedagogy/ui/index.js.map +1 -0
  505. package/lib/pedagogy/ui/tutorialLevels.d.ts +18 -0
  506. package/lib/pedagogy/ui/tutorialLevels.d.ts.map +1 -0
  507. package/lib/pedagogy/ui/tutorialLevels.js +14 -0
  508. package/lib/pedagogy/ui/tutorialLevels.js.map +1 -0
  509. package/lib/router/core/address.d.ts +42 -0
  510. package/lib/router/core/address.d.ts.map +1 -0
  511. package/lib/router/core/address.js +64 -0
  512. package/lib/router/core/address.js.map +1 -0
  513. package/lib/router/core/basePath.d.ts +49 -0
  514. package/lib/router/core/basePath.d.ts.map +1 -0
  515. package/lib/router/core/basePath.js +78 -0
  516. package/lib/router/core/basePath.js.map +1 -0
  517. package/lib/router/core/index.d.ts +8 -0
  518. package/lib/router/core/index.d.ts.map +1 -0
  519. package/lib/router/core/index.js +5 -0
  520. package/lib/router/core/index.js.map +1 -0
  521. package/lib/router/core/legacyHash.d.ts +45 -0
  522. package/lib/router/core/legacyHash.d.ts.map +1 -0
  523. package/lib/router/core/legacyHash.js +50 -0
  524. package/lib/router/core/legacyHash.js.map +1 -0
  525. package/lib/router/core/pageAddresses.d.ts +50 -0
  526. package/lib/router/core/pageAddresses.d.ts.map +1 -0
  527. package/lib/router/core/pageAddresses.js +56 -0
  528. package/lib/router/core/pageAddresses.js.map +1 -0
  529. package/lib/router/core/query.d.ts +41 -0
  530. package/lib/router/core/query.d.ts.map +1 -0
  531. package/lib/router/core/query.js +64 -0
  532. package/lib/router/core/query.js.map +1 -0
  533. package/lib/router/core/tabRouter.d.ts +111 -0
  534. package/lib/router/core/tabRouter.d.ts.map +1 -0
  535. package/lib/router/core/tabRouter.js +87 -0
  536. package/lib/router/core/tabRouter.js.map +1 -0
  537. package/lib/seo/core/documentMeta.d.ts +45 -0
  538. package/lib/seo/core/documentMeta.d.ts.map +1 -0
  539. package/lib/seo/core/documentMeta.js +69 -0
  540. package/lib/seo/core/documentMeta.js.map +1 -0
  541. package/lib/seo/core/index.d.ts +3 -0
  542. package/lib/seo/core/index.d.ts.map +1 -0
  543. package/lib/seo/core/index.js +2 -0
  544. package/lib/seo/core/index.js.map +1 -0
  545. package/lib/share/core/config.d.ts +63 -0
  546. package/lib/share/core/config.d.ts.map +1 -0
  547. package/lib/share/core/config.js +125 -0
  548. package/lib/share/core/config.js.map +1 -0
  549. package/lib/share/core/escape.d.ts +15 -0
  550. package/lib/share/core/escape.d.ts.map +1 -0
  551. package/lib/share/core/escape.js +22 -0
  552. package/lib/share/core/escape.js.map +1 -0
  553. package/lib/share/core/index.d.ts +9 -0
  554. package/lib/share/core/index.d.ts.map +1 -0
  555. package/lib/share/core/index.js +5 -0
  556. package/lib/share/core/index.js.map +1 -0
  557. package/lib/share/core/params.d.ts +93 -0
  558. package/lib/share/core/params.d.ts.map +1 -0
  559. package/lib/share/core/params.js +111 -0
  560. package/lib/share/core/params.js.map +1 -0
  561. package/lib/share/core/query.d.ts +30 -0
  562. package/lib/share/core/query.d.ts.map +1 -0
  563. package/lib/share/core/query.js +68 -0
  564. package/lib/share/core/query.js.map +1 -0
  565. package/lib/share/core/url.d.ts +57 -0
  566. package/lib/share/core/url.d.ts.map +1 -0
  567. package/lib/share/core/url.js +49 -0
  568. package/lib/share/core/url.js.map +1 -0
  569. package/lib/share/core/vocabulary.d.ts +51 -0
  570. package/lib/share/core/vocabulary.d.ts.map +1 -0
  571. package/lib/share/core/vocabulary.js +2 -0
  572. package/lib/share/core/vocabulary.js.map +1 -0
  573. package/lib/share/ui/HiddenPartsProvider.d.ts +19 -0
  574. package/lib/share/ui/HiddenPartsProvider.d.ts.map +1 -0
  575. package/lib/share/ui/HiddenPartsProvider.js +15 -0
  576. package/lib/share/ui/HiddenPartsProvider.js.map +1 -0
  577. package/lib/share/ui/PagePart.d.ts +18 -0
  578. package/lib/share/ui/PagePart.d.ts.map +1 -0
  579. package/lib/share/ui/PagePart.js +16 -0
  580. package/lib/share/ui/PagePart.js.map +1 -0
  581. package/lib/share/ui/ShareButton.d.ts +42 -0
  582. package/lib/share/ui/ShareButton.d.ts.map +1 -0
  583. package/lib/share/ui/ShareButton.js +18 -0
  584. package/lib/share/ui/ShareButton.js.map +1 -0
  585. package/lib/share/ui/ShareDialog.d.ts +73 -0
  586. package/lib/share/ui/ShareDialog.d.ts.map +1 -0
  587. package/lib/share/ui/ShareDialog.js +19 -0
  588. package/lib/share/ui/ShareDialog.js.map +1 -0
  589. package/lib/share/ui/ShareDialogContent.d.ts +13 -0
  590. package/lib/share/ui/ShareDialogContent.d.ts.map +1 -0
  591. package/lib/share/ui/ShareDialogContent.js +71 -0
  592. package/lib/share/ui/ShareDialogContent.js.map +1 -0
  593. package/lib/share/ui/SharePartOptions.d.ts +18 -0
  594. package/lib/share/ui/SharePartOptions.d.ts.map +1 -0
  595. package/lib/share/ui/SharePartOptions.js +22 -0
  596. package/lib/share/ui/SharePartOptions.js.map +1 -0
  597. package/lib/share/ui/draft.d.ts +13 -0
  598. package/lib/share/ui/draft.d.ts.map +1 -0
  599. package/lib/share/ui/draft.js +16 -0
  600. package/lib/share/ui/draft.js.map +1 -0
  601. package/lib/share/ui/hiddenParts.d.ts +17 -0
  602. package/lib/share/ui/hiddenParts.d.ts.map +1 -0
  603. package/lib/share/ui/hiddenParts.js +21 -0
  604. package/lib/share/ui/hiddenParts.js.map +1 -0
  605. package/lib/share/ui/index.d.ts +10 -0
  606. package/lib/share/ui/index.d.ts.map +1 -0
  607. package/lib/share/ui/index.js +6 -0
  608. package/lib/share/ui/index.js.map +1 -0
  609. package/lib/shared/ui/index.d.ts +2 -1
  610. package/lib/shared/ui/index.d.ts.map +1 -1
  611. package/lib/shared/ui/index.js +1 -1
  612. package/lib/shared/ui/index.js.map +1 -1
  613. package/lib/state/ui/index.d.ts +3 -0
  614. package/lib/state/ui/index.d.ts.map +1 -0
  615. package/lib/state/ui/index.js +2 -0
  616. package/lib/state/ui/index.js.map +1 -0
  617. package/lib/state/ui/mergeStored.d.ts +27 -0
  618. package/lib/state/ui/mergeStored.d.ts.map +1 -0
  619. package/lib/state/ui/mergeStored.js +82 -0
  620. package/lib/state/ui/mergeStored.js.map +1 -0
  621. package/lib/state/ui/persistBucket.d.ts +65 -0
  622. package/lib/state/ui/persistBucket.d.ts.map +1 -0
  623. package/lib/state/ui/persistBucket.js +90 -0
  624. package/lib/state/ui/persistBucket.js.map +1 -0
  625. package/lib/structure/core/editorValue.d.ts +69 -0
  626. package/lib/structure/core/editorValue.d.ts.map +1 -0
  627. package/lib/structure/core/editorValue.js +72 -0
  628. package/lib/structure/core/editorValue.js.map +1 -0
  629. package/lib/structure/core/fragmentQuery.d.ts +33 -0
  630. package/lib/structure/core/fragmentQuery.d.ts.map +1 -0
  631. package/lib/structure/core/fragmentQuery.js +37 -0
  632. package/lib/structure/core/fragmentQuery.js.map +1 -0
  633. package/lib/structure/core/index.d.ts +11 -0
  634. package/lib/structure/core/index.d.ts.map +1 -0
  635. package/lib/structure/core/index.js +6 -0
  636. package/lib/structure/core/index.js.map +1 -0
  637. package/lib/structure/core/molfile.d.ts +42 -0
  638. package/lib/structure/core/molfile.d.ts.map +1 -0
  639. package/lib/structure/core/molfile.js +74 -0
  640. package/lib/structure/core/molfile.js.map +1 -0
  641. package/lib/structure/core/readStructure.d.ts +37 -0
  642. package/lib/structure/core/readStructure.d.ts.map +1 -0
  643. package/lib/structure/core/readStructure.js +59 -0
  644. package/lib/structure/core/readStructure.js.map +1 -0
  645. package/lib/structure/core/structureSource.d.ts +34 -0
  646. package/lib/structure/core/structureSource.d.ts.map +1 -0
  647. package/lib/structure/core/structureSource.js +32 -0
  648. package/lib/structure/core/structureSource.js.map +1 -0
  649. package/lib/structure/core/toolbarFloor.d.ts +16 -0
  650. package/lib/structure/core/toolbarFloor.d.ts.map +1 -0
  651. package/lib/structure/core/toolbarFloor.js +27 -0
  652. package/lib/structure/core/toolbarFloor.js.map +1 -0
  653. package/lib/structure/ui/EditorCanvas.d.ts +55 -0
  654. package/lib/structure/ui/EditorCanvas.d.ts.map +1 -0
  655. package/lib/structure/ui/EditorCanvas.js +41 -0
  656. package/lib/structure/ui/EditorCanvas.js.map +1 -0
  657. package/lib/structure/ui/Structure.d.ts +122 -0
  658. package/lib/structure/ui/Structure.d.ts.map +1 -0
  659. package/lib/structure/ui/Structure.js +28 -0
  660. package/lib/structure/ui/Structure.js.map +1 -0
  661. package/lib/structure/ui/StructureEditor.d.ts +75 -0
  662. package/lib/structure/ui/StructureEditor.d.ts.map +1 -0
  663. package/lib/structure/ui/StructureEditor.js +83 -0
  664. package/lib/structure/ui/StructureEditor.js.map +1 -0
  665. package/lib/structure/ui/StructurePlaceholder.d.ts +29 -0
  666. package/lib/structure/ui/StructurePlaceholder.d.ts.map +1 -0
  667. package/lib/structure/ui/StructurePlaceholder.js +19 -0
  668. package/lib/structure/ui/StructurePlaceholder.js.map +1 -0
  669. package/lib/structure/ui/StructureSvg.d.ts +58 -0
  670. package/lib/structure/ui/StructureSvg.d.ts.map +1 -0
  671. package/lib/structure/ui/StructureSvg.js +33 -0
  672. package/lib/structure/ui/StructureSvg.js.map +1 -0
  673. package/lib/structure/ui/index.d.ts +19 -0
  674. package/lib/structure/ui/index.d.ts.map +1 -0
  675. package/lib/structure/ui/index.js +15 -0
  676. package/lib/structure/ui/index.js.map +1 -0
  677. package/lib/structure/ui/useToolbarFloor.d.ts +26 -0
  678. package/lib/structure/ui/useToolbarFloor.d.ts.map +1 -0
  679. package/lib/structure/ui/useToolbarFloor.js +70 -0
  680. package/lib/structure/ui/useToolbarFloor.js.map +1 -0
  681. package/lib/structure.d.ts +3 -0
  682. package/lib/structure.d.ts.map +1 -0
  683. package/lib/structure.js +3 -0
  684. package/lib/structure.js.map +1 -0
  685. package/lib/ui.d.ts +13 -0
  686. package/lib/ui.d.ts.map +1 -1
  687. package/lib/ui.js +13 -0
  688. package/lib/ui.js.map +1 -1
  689. package/lib/worker/core/errors.d.ts +15 -0
  690. package/lib/worker/core/errors.d.ts.map +1 -0
  691. package/lib/worker/core/errors.js +15 -0
  692. package/lib/worker/core/errors.js.map +1 -0
  693. package/lib/worker/core/index.d.ts +5 -0
  694. package/lib/worker/core/index.d.ts.map +1 -0
  695. package/lib/worker/core/index.js +3 -0
  696. package/lib/worker/core/index.js.map +1 -0
  697. package/lib/worker/core/messages.d.ts +48 -0
  698. package/lib/worker/core/messages.d.ts.map +1 -0
  699. package/lib/worker/core/messages.js +2 -0
  700. package/lib/worker/core/messages.js.map +1 -0
  701. package/lib/worker/core/workerChannel.d.ts +69 -0
  702. package/lib/worker/core/workerChannel.d.ts.map +1 -0
  703. package/lib/worker/core/workerChannel.js +121 -0
  704. package/lib/worker/core/workerChannel.js.map +1 -0
  705. package/package.json +25 -4
  706. package/src/capsule/ui/CapsuleFilter.tsx +119 -0
  707. package/src/capsule/ui/index.ts +2 -0
  708. package/src/chrome/ui/NavLink.tsx +88 -0
  709. package/src/chrome/ui/NavMenuButton.tsx +95 -0
  710. package/src/chrome/ui/SiteFooter.tsx +65 -0
  711. package/src/chrome/ui/SiteHeader.tsx +119 -0
  712. package/src/chrome/ui/index.ts +11 -0
  713. package/src/chrome/ui/navItem.ts +60 -0
  714. package/src/chrome/ui/useCompactHeader.ts +81 -0
  715. package/src/citation/core/clipboard.ts +27 -11
  716. package/src/citation/core/download.ts +25 -15
  717. package/src/citation/core/index.ts +8 -3
  718. package/src/citation/core/works.ts +81 -0
  719. package/src/citation/ui/CitationMenu.tsx +104 -89
  720. package/src/citation/ui/CitationPreview.tsx +18 -8
  721. package/src/citation/ui/CiteButton.tsx +24 -9
  722. package/src/citation/ui/CopyFormatEntries.tsx +84 -0
  723. package/src/citation/ui/WorkEntry.tsx +80 -0
  724. package/src/citation/ui/entries.tsx +18 -20
  725. package/src/citation/ui/index.ts +10 -2
  726. package/src/citation/ui/useCopyFeedback.ts +76 -0
  727. package/src/clipboard/core/index.ts +1 -0
  728. package/src/clipboard/core/writeToClipboard.ts +47 -0
  729. package/src/clipboard/ui/CodeBlock.tsx +110 -0
  730. package/src/clipboard/ui/CopyButton.tsx +111 -0
  731. package/src/clipboard/ui/index.ts +9 -0
  732. package/src/clipboard/ui/useCopyToClipboard.ts +57 -0
  733. package/src/color/core/contrast.ts +85 -0
  734. package/src/color/core/hex.ts +57 -0
  735. package/src/color/core/index.ts +4 -0
  736. package/src/color/core/scale.ts +132 -0
  737. package/src/color/ui/ColorScaleLegend.tsx +144 -0
  738. package/src/color/ui/index.ts +2 -0
  739. package/src/core.ts +12 -0
  740. package/src/credits/core/credits.ts +183 -0
  741. package/src/credits/core/index.ts +2 -0
  742. package/src/credits/ui/CreditsList.tsx +82 -0
  743. package/src/credits/ui/index.ts +2 -0
  744. package/src/delimited/core/delimiters.ts +64 -0
  745. package/src/delimited/core/index.ts +11 -0
  746. package/src/delimited/core/readDelimited.ts +132 -0
  747. package/src/delimited/core/rowsToDelimited.ts +135 -0
  748. package/src/delimited/core/toDelimited.ts +69 -0
  749. package/src/delimited/ui/DelimitedTextDialog.tsx +49 -0
  750. package/src/delimited/ui/DelimitedTextPanel.tsx +161 -0
  751. package/src/delimited/ui/index.ts +4 -0
  752. package/src/disclosure/ui/CollapsibleSection.tsx +150 -0
  753. package/src/disclosure/ui/index.ts +4 -0
  754. package/src/disclosure/ui/useDisclosure.ts +35 -0
  755. package/src/download/core/downloadBlob.ts +19 -0
  756. package/src/download/core/downloadText.ts +19 -0
  757. package/src/download/core/index.ts +3 -0
  758. package/src/download/core/sanitizeFileName.ts +33 -0
  759. package/src/ecosystem/core/index.ts +3 -0
  760. package/src/ecosystem/core/links.ts +29 -0
  761. package/src/ecosystem/core/lookup.ts +41 -0
  762. package/src/ecosystem/core/sites.ts +38 -1
  763. package/src/ecosystem/core/tokens.ts +47 -0
  764. package/src/ecosystem/ui/SiteTheme.tsx +23 -0
  765. package/src/ecosystem/ui/Wordmark.tsx +65 -0
  766. package/src/ecosystem/ui/glyphs.tsx +246 -0
  767. package/src/ecosystem/ui/index.ts +4 -0
  768. package/src/ecosystem/ui/marks.tsx +56 -214
  769. package/src/error/ui/ErrorBoundary.tsx +94 -0
  770. package/src/error/ui/ErrorFallback.tsx +64 -0
  771. package/src/error/ui/index.ts +4 -0
  772. package/src/error/ui/toError.ts +33 -0
  773. package/src/format/core/index.ts +9 -0
  774. package/src/format/core/missing.ts +6 -0
  775. package/src/format/core/numbers.ts +84 -0
  776. package/src/format/core/units.ts +60 -0
  777. package/src/format/core/words.ts +17 -0
  778. package/src/help/ui/HelpBody.tsx +130 -0
  779. package/src/help/ui/HelpIcon.tsx +53 -0
  780. package/src/help/ui/HelpToolbarButton.tsx +72 -0
  781. package/src/help/ui/HelpTooltip.tsx +72 -0
  782. package/src/help/ui/index.ts +8 -0
  783. package/src/hooks/ui/index.ts +6 -0
  784. package/src/hooks/ui/listNavigation.ts +116 -0
  785. package/src/hooks/ui/useContainerSize.ts +32 -0
  786. package/src/hooks/ui/useDebouncedValue.ts +29 -0
  787. package/src/hooks/ui/useListKeyboardNavigation.ts +37 -0
  788. package/src/hooks/ui/useResizeObserver.ts +50 -0
  789. package/src/orbital/core/atomicGrid.ts +167 -0
  790. package/src/orbital/core/atomicOrbitals.ts +212 -0
  791. package/src/orbital/core/constants.ts +36 -0
  792. package/src/orbital/core/electronConfiguration.ts +242 -0
  793. package/src/orbital/core/grid.ts +126 -0
  794. package/src/orbital/core/hydrogenic.ts +222 -0
  795. package/src/orbital/core/index.ts +63 -0
  796. package/src/orbital/core/isovalue.ts +146 -0
  797. package/src/orbital/core/numerics.ts +79 -0
  798. package/src/orbital/core/occupancy.ts +100 -0
  799. package/src/orbital/core/palette.ts +56 -0
  800. package/src/orbital/core/realHarmonics.ts +172 -0
  801. package/src/orbital/core/sample.ts +111 -0
  802. package/src/orbital/core/screening.ts +90 -0
  803. package/src/orbital/ui/AtomicOrbitalCanvas.tsx +197 -0
  804. package/src/orbital/ui/AtomicOrbitalViewer.tsx +154 -0
  805. package/src/orbital/ui/camera.ts +125 -0
  806. package/src/orbital/ui/capability.ts +102 -0
  807. package/src/orbital/ui/index.ts +17 -0
  808. package/src/orbital/ui/renderVolume.ts +203 -0
  809. package/src/orbital/ui/viewer.ts +191 -0
  810. package/src/orbital/ui/volumeField.ts +84 -0
  811. package/src/orbital.ts +11 -0
  812. package/src/pedagogy/core/glossary.ts +122 -0
  813. package/src/pedagogy/core/index.ts +28 -0
  814. package/src/pedagogy/core/jsonStorage.ts +51 -0
  815. package/src/pedagogy/core/progress.ts +205 -0
  816. package/src/pedagogy/core/types.ts +78 -0
  817. package/src/pedagogy/core/validation.ts +109 -0
  818. package/src/pedagogy/ui/ExerciseActions.tsx +129 -0
  819. package/src/pedagogy/ui/ExerciseProgressHeader.tsx +135 -0
  820. package/src/pedagogy/ui/ExerciseTags.tsx +85 -0
  821. package/src/pedagogy/ui/GlossaryProvider.tsx +31 -0
  822. package/src/pedagogy/ui/GlossaryText.tsx +164 -0
  823. package/src/pedagogy/ui/HintLadder.tsx +95 -0
  824. package/src/pedagogy/ui/ReferenceGrid.tsx +69 -0
  825. package/src/pedagogy/ui/ReferenceSectionBlock.tsx +175 -0
  826. package/src/pedagogy/ui/SyntaxTooltip.tsx +222 -0
  827. package/src/pedagogy/ui/TestCaseList.tsx +122 -0
  828. package/src/pedagogy/ui/TutorialStepStrip.tsx +230 -0
  829. package/src/pedagogy/ui/exerciseMeta.ts +45 -0
  830. package/src/pedagogy/ui/glossaryContext.ts +23 -0
  831. package/src/pedagogy/ui/index.ts +37 -0
  832. package/src/pedagogy/ui/tutorialLevels.ts +27 -0
  833. package/src/router/core/address.ts +74 -0
  834. package/src/router/core/basePath.ts +76 -0
  835. package/src/router/core/index.ts +26 -0
  836. package/src/router/core/legacyHash.ts +77 -0
  837. package/src/router/core/pageAddresses.ts +106 -0
  838. package/src/router/core/query.ts +87 -0
  839. package/src/router/core/tabRouter.ts +214 -0
  840. package/src/seo/core/documentMeta.ts +92 -0
  841. package/src/seo/core/index.ts +6 -0
  842. package/src/share/core/config.ts +165 -0
  843. package/src/share/core/escape.ts +22 -0
  844. package/src/share/core/index.ts +31 -0
  845. package/src/share/core/params.ts +176 -0
  846. package/src/share/core/query.ts +72 -0
  847. package/src/share/core/url.ts +105 -0
  848. package/src/share/core/vocabulary.ts +60 -0
  849. package/src/share/ui/HiddenPartsProvider.tsx +34 -0
  850. package/src/share/ui/PagePart.tsx +26 -0
  851. package/src/share/ui/ShareButton.tsx +84 -0
  852. package/src/share/ui/ShareDialog.tsx +114 -0
  853. package/src/share/ui/ShareDialogContent.tsx +189 -0
  854. package/src/share/ui/SharePartOptions.tsx +51 -0
  855. package/src/share/ui/draft.ts +19 -0
  856. package/src/share/ui/hiddenParts.ts +22 -0
  857. package/src/share/ui/index.ts +9 -0
  858. package/src/shared/ui/index.ts +2 -1
  859. package/src/state/ui/index.ts +6 -0
  860. package/src/state/ui/mergeStored.ts +87 -0
  861. package/src/state/ui/persistBucket.ts +147 -0
  862. package/src/structure/core/editorValue.ts +116 -0
  863. package/src/structure/core/fragmentQuery.ts +50 -0
  864. package/src/structure/core/index.ts +13 -0
  865. package/src/structure/core/molfile.ts +90 -0
  866. package/src/structure/core/readStructure.ts +73 -0
  867. package/src/structure/core/structureSource.ts +57 -0
  868. package/src/structure/core/toolbarFloor.ts +31 -0
  869. package/src/structure/ui/EditorCanvas.tsx +130 -0
  870. package/src/structure/ui/Structure.tsx +183 -0
  871. package/src/structure/ui/StructureEditor.tsx +196 -0
  872. package/src/structure/ui/StructurePlaceholder.tsx +48 -0
  873. package/src/structure/ui/StructureSvg.tsx +110 -0
  874. package/src/structure/ui/index.ts +22 -0
  875. package/src/structure/ui/useToolbarFloor.ts +93 -0
  876. package/src/structure.ts +2 -0
  877. package/src/ui.ts +13 -0
  878. package/src/worker/core/errors.ts +15 -0
  879. package/src/worker/core/index.ts +8 -0
  880. package/src/worker/core/messages.ts +47 -0
  881. package/src/worker/core/workerChannel.ts +218 -0
  882. package/styles/chrome.css +223 -0
@@ -1,63 +1,74 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { Menu, MenuDivider, MenuItem } from '@blueprintjs/core';
3
3
  import { SvgLogoDoi } from 'cheminfo-font';
4
- import { useEffect, useRef, useState } from 'react';
5
- import { copyCitation } from "../core/clipboard.js";
6
- import { CITATION_DOWNLOADS, CITATION_FORMATS } from "../core/formats.js";
4
+ import { CITATION_DOWNLOADS } from "../core/formats.js";
7
5
  import { doiUrl } from "../core/reference.js";
8
- import { CITATION_STYLES } from "../core/segments.js";
9
- import { CopyEntry, DownloadEntry } from "./entries.js";
10
- // How long the tick replaces the clipboard glyph of an entry after a copy.
11
- const FEEDBACK_MS = 1500;
6
+ import { citedReferences } from "../core/works.js";
7
+ import { CopyFormatEntries } from "./CopyFormatEntries.js";
8
+ import { WorkEntry } from "./WorkEntry.js";
9
+ import { DownloadEntry } from "./entries.js";
10
+ import { useCopyFeedback } from "./useCopyFeedback.js";
12
11
  const MENU_STYLE = { minWidth: 240 };
12
+ // A set names what each work covers, which needs the room a title does not.
13
+ const SET_MENU_STYLE = { minWidth: 300 };
13
14
  const DOI_ICON_STYLE = { width: 16, height: 16 };
14
15
  /**
15
16
  * What the Cite button opens: the article at its DOI, the reference copied in
16
- * the style a journal asks for, and the files a reference manager imports.
17
- * @param props - The work being cited.
17
+ * the style a journal asks for, and the files a reference manager imports. A
18
+ * site built on several works lists them all, each behind what citing it
19
+ * credits, and the copy and download entries then carry every reference at
20
+ * once.
21
+ * @param props - The work, or the works, being cited.
18
22
  * @returns The citation menu.
19
23
  */
20
24
  export function CitationMenu(props) {
21
- const { reference } = props;
22
- // Which entry showed feedback last, keyed `format` or `format:style`.
23
- const [copied, setCopied] = useState(null);
24
- const [hasFailed, setHasFailed] = useState(false);
25
- const timeout = useRef(null);
26
- useEffect(() => {
27
- return () => {
28
- if (timeout.current !== null)
29
- window.clearTimeout(timeout.current);
30
- };
31
- }, []);
32
- function announce(key, failed) {
33
- setCopied(key);
34
- setHasFailed(failed);
35
- if (timeout.current !== null)
36
- window.clearTimeout(timeout.current);
37
- timeout.current = window.setTimeout(() => {
38
- setCopied(null);
39
- setHasFailed(false);
40
- }, FEEDBACK_MS);
41
- }
42
- function copy(format, style) {
43
- const key = style === undefined ? format.id : `${format.id}:${style.id}`;
44
- copyCitation(reference, format.id, style?.id).then(() => {
45
- announce(key, false);
46
- }, () => {
47
- // A denied clipboard permission is the usual cause, and the menu is the
48
- // only place the user can be told about it.
49
- announce(key, true);
50
- });
51
- }
52
- function stateOf(key) {
53
- return copied === key ? feedback(hasFailed) : null;
25
+ if ('works' in props) {
26
+ if (props.works.length > 1) {
27
+ return _jsx(WorkSetMenu, { works: props.works, guidance: props.guidance });
28
+ }
29
+ const first = props.works[0];
30
+ if (first === undefined) {
31
+ throw new Error('a citation menu needs at least one work to cite');
32
+ }
33
+ return _jsx(OneWorkMenu, { reference: first.reference });
54
34
  }
55
- return (_jsxs(Menu, { className: "citation-menu", style: MENU_STYLE, children: [_jsx(MenuItem, { icon: _jsx(SvgLogoDoi, { style: DOI_ICON_STYLE }), text: `${reference.journalAbbreviation} ${reference.year}`, label: reference.doi, href: doiUrl(reference), target: "_blank", rel: "noreferrer" }), _jsx(MenuDivider, { title: "Copy the reference as" }), CITATION_FORMATS.map((format) => format.styled ? (_jsx(MenuItem, { icon: "clipboard", text: format.label, label: format.hint, children: CITATION_STYLES.map((style) => (_jsx(CopyEntry, { reference: reference, format: format, style: style, state: stateOf(`${format.id}:${style.id}`), onCopy: copy }, style.id))) }, format.id)) : (_jsx(CopyEntry, { reference: reference, format: format, state: stateOf(format.id), onCopy: copy }, format.id))), _jsx(MenuDivider, { title: "Import into a reference manager" }), CITATION_DOWNLOADS.map((download) => (_jsx(DownloadEntry, { reference: reference, download: download }, download.format)))] }));
35
+ return _jsx(OneWorkMenu, { reference: props.reference });
56
36
  }
57
- function feedback(failed) {
58
- if (failed) {
59
- return { icon: 'cross', intent: 'danger', label: 'copy failed' };
60
- }
61
- return { icon: 'tick', intent: 'success', label: 'copied' };
37
+ /**
38
+ * The menu of a site asking for a single work: the article, then everything a
39
+ * reader does with its reference.
40
+ * @param props - The work being cited.
41
+ * @returns The menu.
42
+ */
43
+ function OneWorkMenu(props) {
44
+ const { reference } = props;
45
+ const feedback = useCopyFeedback();
46
+ const references = [reference];
47
+ return (_jsxs(Menu, { className: "citation-menu", style: MENU_STYLE, children: [_jsx(MenuItem, { icon: _jsx(SvgLogoDoi, { style: DOI_ICON_STYLE }), text: `${reference.journalAbbreviation} ${reference.year}`, label: reference.doi, href: doiUrl(reference), target: "_blank", rel: "noreferrer" }), _jsx(MenuDivider, { title: "Copy the reference as" }), _jsx(CopyFormatEntries, { references: references, feedback: feedback }), _jsx(ImportSection, { references: references })] }));
48
+ }
49
+ /**
50
+ * The menu of a site asking for several works: what each one covers, then the
51
+ * whole set copied or saved at once.
52
+ * @param props - The works being cited, and the line heading them.
53
+ * @returns The menu.
54
+ */
55
+ function WorkSetMenu(props) {
56
+ const { works, guidance } = props;
57
+ const feedback = useCopyFeedback();
58
+ const references = citedReferences(works);
59
+ const both = works.length === 2;
60
+ return (_jsxs(Menu, { className: "citation-menu", style: SET_MENU_STYLE, children: [_jsx(MenuDivider, { title: guidance ??
61
+ (both ? 'Please cite both works' : 'Please cite every work') }), works.map((work) => (_jsx(WorkEntry, { work: work, feedback: feedback }, work.reference.doi))), _jsx(MenuDivider, { title: both ? 'Copy both references as' : 'Copy every reference as' }), _jsx(CopyFormatEntries, { references: references, feedback: feedback }), _jsx(ImportSection, { references: references })] }));
62
+ }
63
+ /**
64
+ * The files a reference manager imports, holding every reference the menu is
65
+ * about.
66
+ * @param props - The references saved by the entries.
67
+ * @param props.references - The works being saved.
68
+ * @returns The last section of the menu.
69
+ */
70
+ function ImportSection(props) {
71
+ const { references } = props;
72
+ return (_jsxs(_Fragment, { children: [_jsx(MenuDivider, { title: "Import into a reference manager" }), CITATION_DOWNLOADS.map((download) => (_jsx(DownloadEntry, { references: references, download: download }, download.format)))] }));
62
73
  }
63
74
  //# sourceMappingURL=CitationMenu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CitationMenu.js","sourceRoot":"","sources":["../../../src/citation/ui/CitationMenu.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CitationMenu.js","sourceRoot":"","sources":["../../../src/citation/ui/CitationMenu.tsx"],"names":[],"mappings":"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"}
@@ -3,14 +3,17 @@ import type { CitationFormatId } from '../core/formats.ts';
3
3
  import type { Reference } from '../core/reference.ts';
4
4
  import type { CitationStyleId } from '../core/segments.ts';
5
5
  export interface CitationPreviewProps {
6
- reference: Reference;
6
+ /** The work, or the works, whose citation is previewed. */
7
+ reference: Reference | readonly Reference[];
7
8
  format: CitationFormatId;
8
9
  /** Journal style, for the formats that have one. */
9
10
  style?: CitationStyleId;
10
11
  }
11
12
  /**
12
13
  * What a copy of the reference puts on the clipboard, as it will read once
13
- * pasted: the emphasis of the style for HTML, the source itself otherwise.
14
+ * pasted: the emphasis of the style for HTML, the source itself otherwise. A
15
+ * site asking for several works previews every one of them, in the order it
16
+ * names them.
14
17
  * @param props - Reference, format and style to preview.
15
18
  * @returns The body of the preview tooltip.
16
19
  */
@@ -1 +1 @@
1
- {"version":3,"file":"CitationPreview.d.ts","sourceRoot":"","sources":["../../../src/citation/ui/CitationPreview.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,OAAO,CAAC;AAEzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AA2B3D,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,gBAAgB,CAAC;IACzB,oDAAoD;IACpD,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,YAAY,CAoBzE"}
1
+ {"version":3,"file":"CitationPreview.d.ts","sourceRoot":"","sources":["../../../src/citation/ui/CitationPreview.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,OAAO,CAAC;AAEzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AA8B3D,MAAM,WAAW,oBAAoB;IACnC,2DAA2D;IAC3D,SAAS,EAAE,SAAS,GAAG,SAAS,SAAS,EAAE,CAAC;IAC5C,MAAM,EAAE,gBAAgB,CAAC;IACzB,oDAAoD;IACpD,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,YAAY,CAyBzE"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { formatCitation } from "../core/formats.js";
3
2
  import { citationSegments } from "../core/segments.js";
3
+ import { formatCitations } from "../core/works.js";
4
4
  // A BibTeX entry and a one-line citation share this box, so the text wraps and
5
5
  // the box never grows past what a tooltip can hold. The height is the last
6
6
  // resort, for a window too short to show an entry whole.
@@ -23,19 +23,24 @@ const RICH_STYLE = {
23
23
  fontSize: 12,
24
24
  lineHeight: 1.45,
25
25
  };
26
+ // Two references pasted as HTML read as two lines, and preview as two.
27
+ const RICH_LINE_STYLE = { marginTop: 6 };
26
28
  const LINK_STYLE = { color: '#8abbff' };
27
29
  /**
28
30
  * What a copy of the reference puts on the clipboard, as it will read once
29
- * pasted: the emphasis of the style for HTML, the source itself otherwise.
31
+ * pasted: the emphasis of the style for HTML, the source itself otherwise. A
32
+ * site asking for several works previews every one of them, in the order it
33
+ * names them.
30
34
  * @param props - Reference, format and style to preview.
31
35
  * @returns The body of the preview tooltip.
32
36
  */
33
37
  export function CitationPreview(props) {
34
38
  const { reference, format, style } = props;
39
+ const references = Array.isArray(reference) ? reference : [reference];
35
40
  if (format === 'html' && style !== undefined) {
36
- return (_jsx("div", { className: "citation-preview", style: RICH_STYLE, children: citationSegments(reference, style).map((segment, index) => (_jsx(Segment, { segment: segment }, index))) }));
41
+ return (_jsx("div", { className: "citation-preview", style: RICH_STYLE, children: references.map((one, line) => (_jsx("div", { style: line === 0 ? undefined : RICH_LINE_STYLE, children: citationSegments(one, style).map((segment, index) => (_jsx(Segment, { segment: segment }, index))) }, one.doi))) }));
37
42
  }
38
- return (_jsx("pre", { className: "citation-preview", style: PREVIEW_STYLE, children: formatCitation(reference, format, style) }));
43
+ return (_jsx("pre", { className: "citation-preview", style: PREVIEW_STYLE, children: formatCitations(references, format, style) }));
39
44
  }
40
45
  function Segment(props) {
41
46
  const { segment } = props;
@@ -1 +1 @@
1
- {"version":3,"file":"CitationPreview.js","sourceRoot":"","sources":["../../../src/citation/ui/CitationPreview.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,+EAA+E;AAC/E,2EAA2E;AAC3E,yDAAyD;AACzD,MAAM,aAAa,GAAkB;IACnC,QAAQ,EAAE,GAAG;IACb,SAAS,EAAE,MAAM;IACjB,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,SAAS;IAChB,UAAU,EAAE,gDAAgD;IAC5D,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,UAAU;IACtB,YAAY,EAAE,UAAU;CACzB,CAAC;AACF,2EAA2E;AAC3E,MAAM,UAAU,GAAkB;IAChC,QAAQ,EAAE,GAAG;IACb,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,IAAI;CACjB,CAAC;AACF,MAAM,UAAU,GAAkB,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AASvD;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,KAA2B;IACzD,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAE3C,IAAI,MAAM,KAAK,MAAM,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC7C,OAAO,CACL,cAAK,SAAS,EAAC,kBAAkB,EAAC,KAAK,EAAE,UAAU,YAChD,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAG1D,KAAC,OAAO,IAAa,OAAO,EAAE,OAAO,IAAvB,KAAK,CAAsB,CAC1C,CAAC,GACE,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,cAAK,SAAS,EAAC,kBAAkB,EAAC,KAAK,EAAE,aAAa,YACnD,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,GACrC,CACP,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,KAEhB;IACC,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC1B,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,QAAQ;YACX,OAAO,uBAAK,OAAO,CAAC,IAAI,GAAM,CAAC;QACjC,KAAK,MAAM;YACT,OAAO,2BAAS,OAAO,CAAC,IAAI,GAAU,CAAC;QACzC,KAAK,MAAM;YACT,OAAO,eAAM,KAAK,EAAE,UAAU,YAAG,OAAO,CAAC,IAAI,GAAQ,CAAC;QACxD,KAAK,MAAM;YACT,OAAO,yBAAO,OAAO,CAAC,IAAI,GAAQ,CAAC;QACrC;YACE,OAAO,gBAAQ,CAAC;IACpB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"CitationPreview.js","sourceRoot":"","sources":["../../../src/citation/ui/CitationPreview.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,+EAA+E;AAC/E,2EAA2E;AAC3E,yDAAyD;AACzD,MAAM,aAAa,GAAkB;IACnC,QAAQ,EAAE,GAAG;IACb,SAAS,EAAE,MAAM;IACjB,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,SAAS;IAChB,UAAU,EAAE,gDAAgD;IAC5D,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,UAAU;IACtB,YAAY,EAAE,UAAU;CACzB,CAAC;AACF,2EAA2E;AAC3E,MAAM,UAAU,GAAkB;IAChC,QAAQ,EAAE,GAAG;IACb,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,IAAI;CACjB,CAAC;AACF,uEAAuE;AACvE,MAAM,eAAe,GAAkB,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;AACxD,MAAM,UAAU,GAAkB,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAUvD;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,KAA2B;IACzD,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAEtE,IAAI,MAAM,KAAK,MAAM,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC7C,OAAO,CACL,cAAK,SAAS,EAAC,kBAAkB,EAAC,KAAK,EAAE,UAAU,YAChD,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAC7B,cAAmB,KAAK,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,YAC/D,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAGpD,KAAC,OAAO,IAAa,OAAO,EAAE,OAAO,IAAvB,KAAK,CAAsB,CAC1C,CAAC,IALM,GAAG,CAAC,GAAG,CAMX,CACP,CAAC,GACE,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,cAAK,SAAS,EAAC,kBAAkB,EAAC,KAAK,EAAE,aAAa,YACnD,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,GACvC,CACP,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,KAEhB;IACC,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC1B,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,QAAQ;YACX,OAAO,uBAAK,OAAO,CAAC,IAAI,GAAM,CAAC;QACjC,KAAK,MAAM;YACT,OAAO,2BAAS,OAAO,CAAC,IAAI,GAAU,CAAC;QACzC,KAAK,MAAM;YACT,OAAO,eAAM,KAAK,EAAE,UAAU,YAAG,OAAO,CAAC,IAAI,GAAQ,CAAC;QACxD,KAAK,MAAM;YACT,OAAO,yBAAO,OAAO,CAAC,IAAI,GAAQ,CAAC;QACrC;YACE,OAAO,gBAAQ,CAAC;IACpB,CAAC;AACH,CAAC"}
@@ -1,9 +1,7 @@
1
1
  import type { ReactElement } from 'react';
2
2
  import type { HeaderButtonProps } from '../../shared/ui/MenuButton.tsx';
3
- import type { Reference } from '../core/reference.ts';
4
- export interface CiteButtonProps extends HeaderButtonProps {
5
- /** The work the site asks to be cited. */
6
- reference: Reference;
3
+ import type { CitedReferenceProps, CitedWorksProps } from './CitationMenu.tsx';
4
+ interface CiteButtonBaseProps extends HeaderButtonProps {
7
5
  /**
8
6
  * Text of the button. In a compact bar it is not written, but it stays what
9
7
  * the pointer and a screen reader are told.
@@ -11,12 +9,21 @@ export interface CiteButtonProps extends HeaderButtonProps {
11
9
  */
12
10
  label?: string;
13
11
  }
12
+ /** The button of a site asking for one work. */
13
+ export interface CiteOneWorkProps extends CiteButtonBaseProps, CitedReferenceProps {
14
+ }
15
+ /** The button of a site asking for the several works it is built on. */
16
+ export interface CiteWorksProps extends CiteButtonBaseProps, CitedWorksProps {
17
+ }
18
+ export type CiteButtonProps = CiteOneWorkProps | CiteWorksProps;
14
19
  /**
15
20
  * The Cite entry of a site header: one button opening the article at its DOI,
16
21
  * the reference in the style a journal asks for, and the files a reference
17
- * manager imports.
18
- * @param props - The work being cited, and how the menu opens.
22
+ * manager imports. A site built on several works passes `works` rather than
23
+ * `reference`, and each is then listed behind what citing it credits.
24
+ * @param props - The work or works being cited, and how the menu opens.
19
25
  * @returns The button and its menu.
20
26
  */
21
27
  export declare function CiteButton(props: CiteButtonProps): ReactElement;
28
+ export {};
22
29
  //# sourceMappingURL=CiteButton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CiteButton.d.ts","sourceRoot":"","sources":["../../../src/citation/ui/CiteButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAExE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAItD,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IACxD,0CAA0C;IAC1C,SAAS,EAAE,SAAS,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,YAAY,CAY/D"}
1
+ {"version":3,"file":"CiteButton.d.ts","sourceRoot":"","sources":["../../../src/citation/ui/CiteButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAGxE,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG/E,UAAU,mBAAoB,SAAQ,iBAAiB;IACrD;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,gDAAgD;AAChD,MAAM,WAAW,gBACf,SAAQ,mBAAmB,EAAE,mBAAmB;CAAG;AAErD,wEAAwE;AACxE,MAAM,WAAW,cAAe,SAAQ,mBAAmB,EAAE,eAAe;CAAG;AAE/E,MAAM,MAAM,eAAe,GAAG,gBAAgB,GAAG,cAAc,CAAC;AAEhE;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,YAAY,CAmB/D"}
@@ -4,12 +4,13 @@ import { CitationMenu } from "./CitationMenu.js";
4
4
  /**
5
5
  * The Cite entry of a site header: one button opening the article at its DOI,
6
6
  * the reference in the style a journal asks for, and the files a reference
7
- * manager imports.
8
- * @param props - The work being cited, and how the menu opens.
7
+ * manager imports. A site built on several works passes `works` rather than
8
+ * `reference`, and each is then listed behind what citing it credits.
9
+ * @param props - The work or works being cited, and how the menu opens.
9
10
  * @returns The button and its menu.
10
11
  */
11
12
  export function CiteButton(props) {
12
- const { reference, label = 'Cite', ...rest } = props;
13
- return (_jsx(MenuButton, { ...rest, className: "citation-button", icon: "citation", label: label, menu: _jsx(CitationMenu, { reference: reference }) }));
13
+ const label = props.label ?? 'Cite';
14
+ return (_jsx(MenuButton, { compact: props.compact, placement: props.placement, className: "citation-button", icon: "citation", label: label, menu: 'works' in props ? (_jsx(CitationMenu, { works: props.works, guidance: props.guidance })) : (_jsx(CitationMenu, { reference: props.reference })) }));
14
15
  }
15
16
  //# sourceMappingURL=CiteButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CiteButton.js","sourceRoot":"","sources":["../../../src/citation/ui/CiteButton.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAAgC,CAAC;AAG5D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAoB,CAAC;AAalD;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,KAAsB;IAC/C,MAAM,EAAE,SAAS,EAAE,KAAK,GAAG,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAErD,OAAO,CACL,KAAC,UAAU,OACL,IAAI,EACR,SAAS,EAAC,iBAAiB,EAC3B,IAAI,EAAC,UAAU,EACf,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,KAAC,YAAY,IAAC,SAAS,EAAE,SAAS,GAAI,GAC5C,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"CiteButton.js","sourceRoot":"","sources":["../../../src/citation/ui/CiteButton.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAAgC,CAAC;AAG5D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAoB,CAAC;AAoBlD;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CAAC,KAAsB;IAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC;IAEpC,OAAO,CACL,KAAC,UAAU,IACT,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,SAAS,EAAC,iBAAiB,EAC3B,IAAI,EAAC,UAAU,EACf,KAAK,EAAE,KAAK,EACZ,IAAI,EACF,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CACjB,KAAC,YAAY,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAI,CAC/D,CAAC,CAAC,CAAC,CACF,KAAC,YAAY,IAAC,SAAS,EAAE,KAAK,CAAC,SAAS,GAAI,CAC7C,GAEH,CACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1,31 @@
1
+ import type { ReactElement } from 'react';
2
+ import type { Reference } from '../core/reference.ts';
3
+ import type { CopyFeedback } from './useCopyFeedback.ts';
4
+ export interface CopyFormatEntriesProps {
5
+ /** The works the entries copy, in reading order. */
6
+ references: readonly Reference[];
7
+ /** The copy action and the feedback of the menu these entries sit in. */
8
+ feedback: CopyFeedback;
9
+ /**
10
+ * What the feedback keys are prefixed with, so two lists of formats in one
11
+ * menu never light up together.
12
+ * @default ''
13
+ */
14
+ keyPrefix?: string;
15
+ /**
16
+ * Whether a format written differently by each journal opens its submenu of
17
+ * styles. A list nested in a work's own submenu does not: three levels of
18
+ * menu are more than a reader picking a reference should have to walk, so it
19
+ * copies in the default style instead.
20
+ * @default true
21
+ */
22
+ styled?: boolean;
23
+ }
24
+ /**
25
+ * One entry per format the references can be copied in, previewing on hover
26
+ * what each puts on the clipboard.
27
+ * @param props - The references, the feedback, and whether the styles nest.
28
+ * @returns The entries of the copy section.
29
+ */
30
+ export declare function CopyFormatEntries(props: CopyFormatEntriesProps): ReactElement[];
31
+ //# sourceMappingURL=CopyFormatEntries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CopyFormatEntries.d.ts","sourceRoot":"","sources":["../../../src/citation/ui/CopyFormatEntries.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAItD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,WAAW,sBAAsB;IACrC,oDAAoD;IACpD,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;IACjC,yEAAyE;IACzE,QAAQ,EAAE,YAAY,CAAC;IACvB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,sBAAsB,GAC5B,YAAY,EAAE,CA4ChB"}
@@ -0,0 +1,29 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { MenuItem } from '@blueprintjs/core';
3
+ import { CITATION_FORMATS } from "../core/formats.js";
4
+ import { CITATION_STYLES } from "../core/segments.js";
5
+ import { CopyEntry } from "./entries.js";
6
+ /**
7
+ * One entry per format the references can be copied in, previewing on hover
8
+ * what each puts on the clipboard.
9
+ * @param props - The references, the feedback, and whether the styles nest.
10
+ * @returns The entries of the copy section.
11
+ */
12
+ export function CopyFormatEntries(props) {
13
+ const { references, feedback, keyPrefix = '', styled = true } = props;
14
+ return CITATION_FORMATS.map((format) => {
15
+ if (!styled || !format.styled) {
16
+ const key = `${keyPrefix}${format.id}`;
17
+ return (_jsx(CopyEntry, { references: references, format: format, state: feedback.stateOf(key), onCopy: () => {
18
+ feedback.copy(key, references, format.id);
19
+ } }, format.id));
20
+ }
21
+ return (_jsx(MenuItem, { icon: "clipboard", text: format.label, label: format.hint, children: CITATION_STYLES.map((style) => {
22
+ const key = `${keyPrefix}${format.id}:${style.id}`;
23
+ return (_jsx(CopyEntry, { references: references, format: format, style: style, state: feedback.stateOf(key), onCopy: () => {
24
+ feedback.copy(key, references, format.id, style.id);
25
+ } }, style.id));
26
+ }) }, format.id));
27
+ });
28
+ }
29
+ //# sourceMappingURL=CopyFormatEntries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CopyFormatEntries.js","sourceRoot":"","sources":["../../../src/citation/ui/CopyFormatEntries.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAe,CAAC;AAwB1C;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAA6B;IAE7B,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,GAAG,EAAE,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAEtE,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACrC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAG,GAAG,SAAS,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC;YACvC,OAAO,CACL,KAAC,SAAS,IAER,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAC5B,MAAM,EAAE,GAAG,EAAE;oBACX,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC5C,CAAC,IANI,MAAM,CAAC,EAAE,CAOd,CACH,CAAC;QACJ,CAAC;QAED,OAAO,CACL,KAAC,QAAQ,IAEP,IAAI,EAAC,WAAW,EAChB,IAAI,EAAE,MAAM,CAAC,KAAK,EAClB,KAAK,EAAE,MAAM,CAAC,IAAI,YAEjB,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC7B,MAAM,GAAG,GAAG,GAAG,SAAS,GAAG,MAAM,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;gBACnD,OAAO,CACL,KAAC,SAAS,IAER,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAC5B,MAAM,EAAE,GAAG,EAAE;wBACX,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;oBACtD,CAAC,IAPI,KAAK,CAAC,EAAE,CAQb,CACH,CAAC;YACJ,CAAC,CAAC,IAnBG,MAAM,CAAC,EAAE,CAoBL,CACZ,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { ReactElement } from 'react';
2
+ import type { CitedWork } from '../core/works.ts';
3
+ import type { CopyFeedback } from './useCopyFeedback.ts';
4
+ export interface WorkEntryProps {
5
+ /** The work, and what a reader is citing it for. */
6
+ work: CitedWork;
7
+ /** The copy action and the feedback of the menu this entry sits in. */
8
+ feedback: CopyFeedback;
9
+ }
10
+ /**
11
+ * One work of a site that asks for several: what it is, what citing it credits,
12
+ * and a submenu holding the article at its DOI and that one reference on its
13
+ * own — in the default style, the styles being offered on the whole set.
14
+ * @param props - The work, and the feedback of its copy entries.
15
+ * @returns The menu entry of the work.
16
+ */
17
+ export declare function WorkEntry(props: WorkEntryProps): ReactElement;
18
+ //# sourceMappingURL=WorkEntry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkEntry.d.ts","sourceRoot":"","sources":["../../../src/citation/ui/WorkEntry.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,OAAO,CAAC;AAIzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAIlD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAczD,MAAM,WAAW,cAAc;IAC7B,oDAAoD;IACpD,IAAI,EAAE,SAAS,CAAC;IAChB,uEAAuE;IACvE,QAAQ,EAAE,YAAY,CAAC;CACxB;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,YAAY,CAyC7D"}
@@ -0,0 +1,32 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { MenuDivider, MenuItem } from '@blueprintjs/core';
3
+ import { SvgLogoDoi } from 'cheminfo-font';
4
+ import { CITATION_DOWNLOADS } from "../core/formats.js";
5
+ import { doiUrl } from "../core/reference.js";
6
+ import { CopyFormatEntries } from "./CopyFormatEntries.js";
7
+ import { DownloadEntry } from "./entries.js";
8
+ const DOI_ICON_STYLE = { width: 16, height: 16 };
9
+ const WHAT_STYLE = { fontWeight: 600 };
10
+ // The sentence saying what citing the work credits, read under its name: it is
11
+ // a sentence, so it wraps rather than stretching the menu.
12
+ const NOTE_STYLE = {
13
+ maxWidth: 260,
14
+ opacity: 0.7,
15
+ fontSize: 11.5,
16
+ lineHeight: 1.35,
17
+ whiteSpace: 'normal',
18
+ };
19
+ /**
20
+ * One work of a site that asks for several: what it is, what citing it credits,
21
+ * and a submenu holding the article at its DOI and that one reference on its
22
+ * own — in the default style, the styles being offered on the whole set.
23
+ * @param props - The work, and the feedback of its copy entries.
24
+ * @returns The menu entry of the work.
25
+ */
26
+ export function WorkEntry(props) {
27
+ const { work, feedback } = props;
28
+ const { reference, what, note } = work;
29
+ const references = [reference];
30
+ return (_jsxs(MenuItem, { icon: _jsx(SvgLogoDoi, { style: DOI_ICON_STYLE }), text: _jsxs("span", { children: [_jsx("span", { style: WHAT_STYLE, children: what }), note === undefined ? null : _jsx("div", { style: NOTE_STYLE, children: note })] }), label: `${reference.journalAbbreviation} ${reference.year}`, children: [_jsx(MenuItem, { icon: _jsx(SvgLogoDoi, { style: DOI_ICON_STYLE }), text: "Open the article", label: reference.doi, href: doiUrl(reference), target: "_blank", rel: "noreferrer" }), _jsx(MenuDivider, { title: "Copy this reference as" }), _jsx(CopyFormatEntries, { references: references, feedback: feedback, keyPrefix: `${reference.doi}:`, styled: false }), _jsx(MenuDivider, { title: "Import this reference" }), CITATION_DOWNLOADS.map((download) => (_jsx(DownloadEntry, { references: references, download: download }, download.format)))] }));
31
+ }
32
+ //# sourceMappingURL=WorkEntry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkEntry.js","sourceRoot":"","sources":["../../../src/citation/ui/WorkEntry.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAyB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAe,CAAC;AAG9C,MAAM,cAAc,GAAkB,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AAChE,MAAM,UAAU,GAAkB,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;AACtD,+EAA+E;AAC/E,2DAA2D;AAC3D,MAAM,UAAU,GAAkB;IAChC,QAAQ,EAAE,GAAG;IACb,OAAO,EAAE,GAAG;IACZ,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,QAAQ;CACrB,CAAC;AASF;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,KAAqB;IAC7C,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACjC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IACvC,MAAM,UAAU,GAAG,CAAC,SAAS,CAAC,CAAC;IAE/B,OAAO,CACL,MAAC,QAAQ,IACP,IAAI,EAAE,KAAC,UAAU,IAAC,KAAK,EAAE,cAAc,GAAI,EAC3C,IAAI,EACF,2BACE,eAAM,KAAK,EAAE,UAAU,YAAG,IAAI,GAAQ,EACrC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAK,KAAK,EAAE,UAAU,YAAG,IAAI,GAAO,IAC5D,EAET,KAAK,EAAE,GAAG,SAAS,CAAC,mBAAmB,IAAI,SAAS,CAAC,IAAI,EAAE,aAE3D,KAAC,QAAQ,IACP,IAAI,EAAE,KAAC,UAAU,IAAC,KAAK,EAAE,cAAc,GAAI,EAC3C,IAAI,EAAC,kBAAkB,EACvB,KAAK,EAAE,SAAS,CAAC,GAAG,EACpB,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,EACvB,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,YAAY,GAChB,EACF,KAAC,WAAW,IAAC,KAAK,EAAC,wBAAwB,GAAG,EAC9C,KAAC,iBAAiB,IAChB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,EAC9B,MAAM,EAAE,KAAK,GACb,EACF,KAAC,WAAW,IAAC,KAAK,EAAC,uBAAuB,GAAG,EAC5C,kBAAkB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACpC,KAAC,aAAa,IAEZ,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,IAFb,QAAQ,CAAC,MAAM,CAGpB,CACH,CAAC,IACO,CACZ,CAAC;AACJ,CAAC"}
@@ -10,8 +10,8 @@ export interface CopyState {
10
10
  label: string;
11
11
  }
12
12
  export interface CopyEntryProps {
13
- /** The work being cited. */
14
- reference: Reference;
13
+ /** The works being cited, in reading order. */
14
+ references: readonly Reference[];
15
15
  /** The format the entry copies. */
16
16
  format: CitationFormat;
17
17
  /**
@@ -21,18 +21,18 @@ export interface CopyEntryProps {
21
21
  style?: CitationStyle;
22
22
  /** Feedback of the last copy, while it is showing. */
23
23
  state: CopyState | null;
24
- /** Called with what the entry copies. */
25
- onCopy: (format: CitationFormat, style?: CitationStyle) => void;
24
+ /** Called when the entry is clicked. */
25
+ onCopy: () => void;
26
26
  }
27
27
  /**
28
28
  * One entry that copies, previewing on hover what it puts on the clipboard.
29
- * @param props - The reference, the format, and the feedback showing.
29
+ * @param props - The references, the format, and the feedback showing.
30
30
  * @returns The menu entry.
31
31
  */
32
32
  export declare function CopyEntry(props: CopyEntryProps): ReactElement;
33
33
  export interface DownloadEntryProps {
34
- /** The work being saved. */
35
- reference: Reference;
34
+ /** The works being saved, in reading order. */
35
+ references: readonly Reference[];
36
36
  /** The file to write, from `CITATION_DOWNLOADS`. */
37
37
  download: CitationDownload;
38
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"entries.d.ts","sourceRoot":"","sources":["../../../src/citation/ui/entries.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,OAAO,CAAC;AAGzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAczD,4DAA4D;AAC5D,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,4BAA4B;IAC5B,SAAS,EAAE,SAAS,CAAC;IACrB,mCAAmC;IACnC,MAAM,EAAE,cAAc,CAAC;IACvB;;;OAGG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,sDAAsD;IACtD,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB,yCAAyC;IACzC,MAAM,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;CACjE;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,YAAY,CA6B7D;AAED,MAAM,WAAW,kBAAkB;IACjC,4BAA4B;IAC5B,SAAS,EAAE,SAAS,CAAC;IACrB,oDAAoD;IACpD,QAAQ,EAAE,gBAAgB,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,YAAY,CAkBrE"}
1
+ {"version":3,"file":"entries.d.ts","sourceRoot":"","sources":["../../../src/citation/ui/entries.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,OAAO,CAAC;AAGzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAczD,4DAA4D;AAC5D,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,+CAA+C;IAC/C,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;IACjC,mCAAmC;IACnC,MAAM,EAAE,cAAc,CAAC;IACvB;;;OAGG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,sDAAsD;IACtD,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB,wCAAwC;IACxC,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,YAAY,CA2B7D;AAED,MAAM,WAAW,kBAAkB;IACjC,+CAA+C;IAC/C,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;IACjC,oDAAoD;IACpD,QAAQ,EAAE,gBAAgB,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,YAAY,CAkBrE"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { MenuItem, Tooltip } from '@blueprintjs/core';
3
- import { downloadCitation } from "../core/download.js";
3
+ import { downloadCitations } from "../core/download.js";
4
4
  import { CitationPreview } from "./CitationPreview.js";
5
5
  // An entry carrying its preview tooltip is also a popover target, and
6
6
  // Blueprint's `.bp6-submenu .bp6-popover-target` then turns the row into a
@@ -13,17 +13,15 @@ const JOURNALS_STYLE = { fontStyle: 'italic' };
13
13
  const PREVIEW_OPEN_DELAY = 400;
14
14
  /**
15
15
  * One entry that copies, previewing on hover what it puts on the clipboard.
16
- * @param props - The reference, the format, and the feedback showing.
16
+ * @param props - The references, the format, and the feedback showing.
17
17
  * @returns The menu entry.
18
18
  */
19
19
  export function CopyEntry(props) {
20
- const { reference, format, style, state, onCopy } = props;
20
+ const { references, format, style, state, onCopy } = props;
21
21
  const entry = style ?? format;
22
- return (_jsx(PreviewTooltip, { reference: reference, format: format.id, style: style, children: (targetProps) => (_jsx(MenuItem, { ...targetProps, style: ENTRY_STYLE, icon: state?.icon ?? 'clipboard', intent: state?.intent, text: entry.label, labelElement:
22
+ return (_jsx(PreviewTooltip, { references: references, format: format.id, style: style, children: (targetProps) => (_jsx(MenuItem, { ...targetProps, style: ENTRY_STYLE, icon: state?.icon ?? 'clipboard', intent: state?.intent, text: entry.label, labelElement:
23
23
  // The hint of a style entry is a list of journals, in italic.
24
- style !== undefined && state === null ? (_jsx("span", { style: JOURNALS_STYLE, children: entry.hint })) : ((state?.label ?? entry.hint)), shouldDismissPopover: false, onClick: () => {
25
- onCopy(format, style);
26
- } })) }));
24
+ style !== undefined && state === null ? (_jsx("span", { style: JOURNALS_STYLE, children: entry.hint })) : ((state?.label ?? entry.hint)), shouldDismissPopover: false, onClick: onCopy })) }));
27
25
  }
28
26
  /**
29
27
  * One entry saving the file a reference manager imports.
@@ -31,22 +29,22 @@ export function CopyEntry(props) {
31
29
  * @returns The menu entry.
32
30
  */
33
31
  export function DownloadEntry(props) {
34
- const { reference, download } = props;
35
- return (_jsx(PreviewTooltip, { reference: reference, format: download.format, children: (targetProps) => (_jsx(MenuItem, { ...targetProps, style: ENTRY_STYLE, icon: "download", text: download.label, labelElement: download.hint, onClick: () => {
36
- downloadCitation(reference, download);
32
+ const { references, download } = props;
33
+ return (_jsx(PreviewTooltip, { references: references, format: download.format, children: (targetProps) => (_jsx(MenuItem, { ...targetProps, style: ENTRY_STYLE, icon: "download", text: download.label, labelElement: download.hint, onClick: () => {
34
+ downloadCitations(references, download);
37
35
  } })) }));
38
36
  }
39
37
  /**
40
38
  * The hover preview of what an entry copies or saves.
41
39
  * @param props - The preview options.
42
- * @param props.reference - The work being written.
40
+ * @param props.references - The works being written.
43
41
  * @param props.format - The format the entry produces.
44
42
  * @param props.style - The journal style, for a format that has one.
45
43
  * @param props.children - The entry the preview is anchored on.
46
44
  * @returns The entry, wrapped in its preview tooltip.
47
45
  */
48
46
  function PreviewTooltip(props) {
49
- const { reference, format, style, children } = props;
50
- return (_jsx(Tooltip, { placement: "left", popoverClassName: "citation-tooltip", hoverOpenDelay: PREVIEW_OPEN_DELAY, content: _jsx(CitationPreview, { reference: reference, format: format, style: style?.id }), renderTarget: ({ isOpen, ...targetProps }) => children(targetProps) }));
47
+ const { references, format, style, children } = props;
48
+ return (_jsx(Tooltip, { placement: "left", popoverClassName: "citation-tooltip", hoverOpenDelay: PREVIEW_OPEN_DELAY, content: _jsx(CitationPreview, { reference: references, format: format, style: style?.id }), renderTarget: ({ isOpen, ...targetProps }) => children(targetProps) }));
51
49
  }
52
50
  //# sourceMappingURL=entries.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"entries.js","sourceRoot":"","sources":["../../../src/citation/ui/entries.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entries.js","sourceRoot":"","sources":["../../../src/citation/ui/entries.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAKxD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAuB,CAAC;AAExD,sEAAsE;AACtE,2EAA2E;AAC3E,+EAA+E;AAC/E,gEAAgE;AAChE,MAAM,WAAW,GAAkB,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AACvD,0EAA0E;AAC1E,MAAM,cAAc,GAAkB,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;AAC9D,uEAAuE;AACvE,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAyB/B;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,KAAqB;IAC7C,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAC3D,MAAM,KAAK,GAAG,KAAK,IAAI,MAAM,CAAC;IAE9B,OAAO,CACL,KAAC,cAAc,IAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,YACpE,CAAC,WAAW,EAAE,EAAE,CAAC,CAChB,KAAC,QAAQ,OACH,WAAW,EACf,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,WAAW,EAChC,MAAM,EAAE,KAAK,EAAE,MAAM,EACrB,IAAI,EAAE,KAAK,CAAC,KAAK,EACjB,YAAY;YACV,8DAA8D;YAC9D,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CACtC,eAAM,KAAK,EAAE,cAAc,YAAG,KAAK,CAAC,IAAI,GAAQ,CACjD,CAAC,CAAC,CAAC,CACF,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,CAC7B,EAEH,oBAAoB,EAAE,KAAK,EAC3B,OAAO,EAAE,MAAM,GACf,CACH,GACc,CAClB,CAAC;AACJ,CAAC;AASD;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,KAAyB;IACrD,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACvC,OAAO,CACL,KAAC,cAAc,IAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,YAC5D,CAAC,WAAW,EAAE,EAAE,CAAC,CAChB,KAAC,QAAQ,OACH,WAAW,EACf,KAAK,EAAE,WAAW,EAClB,IAAI,EAAC,UAAU,EACf,IAAI,EAAE,QAAQ,CAAC,KAAK,EACpB,YAAY,EAAE,QAAQ,CAAC,IAAI,EAC3B,OAAO,EAAE,GAAG,EAAE;gBACZ,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAC1C,CAAC,GACD,CACH,GACc,CAClB,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,cAAc,CAAC,KAKvB;IACC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACtD,OAAO,CACL,KAAC,OAAO,IACN,SAAS,EAAC,MAAM,EAChB,gBAAgB,EAAC,kBAAkB,EACnC,cAAc,EAAE,kBAAkB,EAClC,OAAO,EACL,KAAC,eAAe,IACd,SAAS,EAAE,UAAU,EACrB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EAAE,EAAE,GAChB,EAEJ,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,GACnE,CACH,CAAC;AACJ,CAAC"}
@@ -1,7 +1,7 @@
1
- export type { CitationMenuProps } from './CitationMenu.tsx';
1
+ export type { CitationMenuProps, CitedReferenceProps, CitedWorksProps, } from './CitationMenu.tsx';
2
2
  export { CitationMenu } from './CitationMenu.tsx';
3
3
  export type { CitationPreviewProps } from './CitationPreview.tsx';
4
4
  export { CitationPreview } from './CitationPreview.tsx';
5
- export type { CiteButtonProps } from './CiteButton.tsx';
5
+ export type { CiteButtonProps, CiteOneWorkProps, CiteWorksProps, } from './CiteButton.tsx';
6
6
  export { CiteButton } from './CiteButton.tsx';
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/citation/ui/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/citation/ui/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/citation/ui/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAoB,CAAC;AAElD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAuB,CAAC;AAExD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/citation/ui/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAoB,CAAC;AAElD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAuB,CAAC;AAMxD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAkB,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { CitationFormatId } from '../core/formats.ts';
2
+ import type { Reference } from '../core/reference.ts';
3
+ import type { CitationStyleId } from '../core/segments.ts';
4
+ import type { CopyState } from './entries.tsx';
5
+ /** Copying, with the feedback the entry that was clicked then shows. */
6
+ export interface CopyFeedback {
7
+ /** The feedback showing on the entry known as `key`, if any. */
8
+ stateOf: (key: string) => CopyState | null;
9
+ /**
10
+ * Copy the references, and announce the outcome on the entry known as `key`.
11
+ */
12
+ copy: (key: string, references: readonly Reference[], format: CitationFormatId, style?: CitationStyleId) => void;
13
+ }
14
+ /**
15
+ * Hold which entry of a citation menu was clicked last and how it went, so the
16
+ * tick — or the cross a denied clipboard leaves — shows on that entry alone.
17
+ * @returns The copy action, and the feedback of the entry that used it.
18
+ */
19
+ export declare function useCopyFeedback(): CopyFeedback;
20
+ //# sourceMappingURL=useCopyFeedback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCopyFeedback.d.ts","sourceRoot":"","sources":["../../../src/citation/ui/useCopyFeedback.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAK/C,wEAAwE;AACxE,MAAM,WAAW,YAAY;IAC3B,gEAAgE;IAChE,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,GAAG,IAAI,CAAC;IAC3C;;OAEG;IACH,IAAI,EAAE,CACJ,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,SAAS,SAAS,EAAE,EAChC,MAAM,EAAE,gBAAgB,EACxB,KAAK,CAAC,EAAE,eAAe,KACpB,IAAI,CAAC;CACX;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,YAAY,CAoC9C"}