react-cheminfo 0.3.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.
- package/README.md +111 -23
- package/lib/capsule/ui/CapsuleFilter.d.ts +61 -0
- package/lib/capsule/ui/CapsuleFilter.d.ts.map +1 -0
- package/lib/capsule/ui/CapsuleFilter.js +33 -0
- package/lib/capsule/ui/CapsuleFilter.js.map +1 -0
- package/lib/capsule/ui/index.d.ts +3 -0
- package/lib/capsule/ui/index.d.ts.map +1 -0
- package/lib/capsule/ui/index.js +2 -0
- package/lib/capsule/ui/index.js.map +1 -0
- package/lib/chrome/ui/NavLink.d.ts +27 -0
- package/lib/chrome/ui/NavLink.d.ts.map +1 -0
- package/lib/chrome/ui/NavLink.js +36 -0
- package/lib/chrome/ui/NavLink.js.map +1 -0
- package/lib/chrome/ui/NavMenuButton.d.ts +40 -0
- package/lib/chrome/ui/NavMenuButton.d.ts.map +1 -0
- package/lib/chrome/ui/NavMenuButton.js +26 -0
- package/lib/chrome/ui/NavMenuButton.js.map +1 -0
- package/lib/chrome/ui/SiteFooter.d.ts +39 -0
- package/lib/chrome/ui/SiteFooter.d.ts.map +1 -0
- package/lib/chrome/ui/SiteFooter.js +17 -0
- package/lib/chrome/ui/SiteFooter.js.map +1 -0
- package/lib/chrome/ui/SiteHeader.d.ts +59 -0
- package/lib/chrome/ui/SiteHeader.d.ts.map +1 -0
- package/lib/chrome/ui/SiteHeader.js +28 -0
- package/lib/chrome/ui/SiteHeader.js.map +1 -0
- package/lib/chrome/ui/index.d.ts +12 -0
- package/lib/chrome/ui/index.d.ts.map +1 -0
- package/lib/chrome/ui/index.js +6 -0
- package/lib/chrome/ui/index.js.map +1 -0
- package/lib/chrome/ui/navItem.d.ts +57 -0
- package/lib/chrome/ui/navItem.d.ts.map +1 -0
- package/lib/chrome/ui/navItem.js +10 -0
- package/lib/chrome/ui/navItem.js.map +1 -0
- package/lib/chrome/ui/useCompactHeader.d.ts +31 -0
- package/lib/chrome/ui/useCompactHeader.d.ts.map +1 -0
- package/lib/chrome/ui/useCompactHeader.js +50 -0
- package/lib/chrome/ui/useCompactHeader.js.map +1 -0
- package/lib/citation/core/clipboard.d.ts +12 -3
- package/lib/citation/core/clipboard.d.ts.map +1 -1
- package/lib/citation/core/clipboard.js +21 -10
- package/lib/citation/core/clipboard.js.map +1 -1
- package/lib/citation/core/download.d.ts +11 -3
- package/lib/citation/core/download.d.ts.map +1 -1
- package/lib/citation/core/download.js +17 -13
- package/lib/citation/core/download.js.map +1 -1
- package/lib/citation/core/index.d.ts +4 -3
- package/lib/citation/core/index.d.ts.map +1 -1
- package/lib/citation/core/index.js +3 -3
- package/lib/citation/core/index.js.map +1 -1
- package/lib/citation/core/works.d.ts +44 -0
- package/lib/citation/core/works.d.ts.map +1 -0
- package/lib/citation/core/works.js +51 -0
- package/lib/citation/core/works.js.map +1 -0
- package/lib/citation/ui/CitationMenu.d.ts +20 -3
- package/lib/citation/ui/CitationMenu.d.ts.map +1 -1
- package/lib/citation/ui/CitationMenu.js +60 -49
- package/lib/citation/ui/CitationMenu.js.map +1 -1
- package/lib/citation/ui/CitationPreview.d.ts +5 -2
- package/lib/citation/ui/CitationPreview.d.ts.map +1 -1
- package/lib/citation/ui/CitationPreview.js +9 -4
- package/lib/citation/ui/CitationPreview.js.map +1 -1
- package/lib/citation/ui/CiteButton.d.ts +13 -6
- package/lib/citation/ui/CiteButton.d.ts.map +1 -1
- package/lib/citation/ui/CiteButton.js +5 -4
- package/lib/citation/ui/CiteButton.js.map +1 -1
- package/lib/citation/ui/CopyFormatEntries.d.ts +31 -0
- package/lib/citation/ui/CopyFormatEntries.d.ts.map +1 -0
- package/lib/citation/ui/CopyFormatEntries.js +29 -0
- package/lib/citation/ui/CopyFormatEntries.js.map +1 -0
- package/lib/citation/ui/WorkEntry.d.ts +18 -0
- package/lib/citation/ui/WorkEntry.d.ts.map +1 -0
- package/lib/citation/ui/WorkEntry.js +32 -0
- package/lib/citation/ui/WorkEntry.js.map +1 -0
- package/lib/citation/ui/entries.d.ts +7 -7
- package/lib/citation/ui/entries.d.ts.map +1 -1
- package/lib/citation/ui/entries.js +11 -13
- package/lib/citation/ui/entries.js.map +1 -1
- package/lib/citation/ui/index.d.ts +2 -2
- package/lib/citation/ui/index.d.ts.map +1 -1
- package/lib/citation/ui/index.js.map +1 -1
- package/lib/citation/ui/useCopyFeedback.d.ts +20 -0
- package/lib/citation/ui/useCopyFeedback.d.ts.map +1 -0
- package/lib/citation/ui/useCopyFeedback.js +49 -0
- package/lib/citation/ui/useCopyFeedback.js.map +1 -0
- package/lib/clipboard/core/index.d.ts +2 -0
- package/lib/clipboard/core/index.d.ts.map +1 -0
- package/lib/clipboard/core/index.js +2 -0
- package/lib/clipboard/core/index.js.map +1 -0
- package/lib/clipboard/core/writeToClipboard.d.ts +12 -0
- package/lib/clipboard/core/writeToClipboard.d.ts.map +1 -0
- package/lib/clipboard/core/writeToClipboard.js +49 -0
- package/lib/clipboard/core/writeToClipboard.js.map +1 -0
- package/lib/clipboard/ui/CodeBlock.d.ts +43 -0
- package/lib/clipboard/ui/CodeBlock.d.ts.map +1 -0
- package/lib/clipboard/ui/CodeBlock.js +49 -0
- package/lib/clipboard/ui/CodeBlock.js.map +1 -0
- package/lib/clipboard/ui/CopyButton.d.ts +64 -0
- package/lib/clipboard/ui/CopyButton.d.ts.map +1 -0
- package/lib/clipboard/ui/CopyButton.js +21 -0
- package/lib/clipboard/ui/CopyButton.js.map +1 -0
- package/lib/clipboard/ui/index.d.ts +7 -0
- package/lib/clipboard/ui/index.d.ts.map +1 -0
- package/lib/clipboard/ui/index.js +4 -0
- package/lib/clipboard/ui/index.js.map +1 -0
- package/lib/clipboard/ui/useCopyToClipboard.d.ts +24 -0
- package/lib/clipboard/ui/useCopyToClipboard.d.ts.map +1 -0
- package/lib/clipboard/ui/useCopyToClipboard.js +36 -0
- package/lib/clipboard/ui/useCopyToClipboard.js.map +1 -0
- package/lib/color/core/contrast.d.ts +43 -0
- package/lib/color/core/contrast.d.ts.map +1 -0
- package/lib/color/core/contrast.js +61 -0
- package/lib/color/core/contrast.js.map +1 -0
- package/lib/color/core/hex.d.ts +26 -0
- package/lib/color/core/hex.d.ts.map +1 -0
- package/lib/color/core/hex.js +44 -0
- package/lib/color/core/hex.js.map +1 -0
- package/lib/color/core/index.d.ts +5 -0
- package/lib/color/core/index.d.ts.map +1 -0
- package/lib/color/core/index.js +3 -0
- package/lib/color/core/index.js.map +1 -0
- package/lib/color/core/scale.d.ts +52 -0
- package/lib/color/core/scale.d.ts.map +1 -0
- package/lib/color/core/scale.js +96 -0
- package/lib/color/core/scale.js.map +1 -0
- package/lib/color/ui/ColorScaleLegend.d.ts +38 -0
- package/lib/color/ui/ColorScaleLegend.d.ts.map +1 -0
- package/lib/color/ui/ColorScaleLegend.js +68 -0
- package/lib/color/ui/ColorScaleLegend.js.map +1 -0
- package/lib/color/ui/index.d.ts +3 -0
- package/lib/color/ui/index.d.ts.map +1 -0
- package/lib/color/ui/index.js +2 -0
- package/lib/color/ui/index.js.map +1 -0
- package/lib/core.d.ts +11 -0
- package/lib/core.d.ts.map +1 -1
- package/lib/core.js +11 -0
- package/lib/core.js.map +1 -1
- package/lib/credits/core/credits.d.ts +144 -0
- package/lib/credits/core/credits.d.ts.map +1 -0
- package/lib/credits/core/credits.js +156 -0
- package/lib/credits/core/credits.js.map +1 -0
- package/lib/credits/core/index.d.ts +3 -0
- package/lib/credits/core/index.d.ts.map +1 -0
- package/lib/credits/core/index.js +2 -0
- package/lib/credits/core/index.js.map +1 -0
- package/lib/credits/ui/CreditsList.d.ts +29 -0
- package/lib/credits/ui/CreditsList.d.ts.map +1 -0
- package/lib/credits/ui/CreditsList.js +33 -0
- package/lib/credits/ui/CreditsList.js.map +1 -0
- package/lib/credits/ui/index.d.ts +3 -0
- package/lib/credits/ui/index.d.ts.map +1 -0
- package/lib/credits/ui/index.js +2 -0
- package/lib/credits/ui/index.js.map +1 -0
- package/lib/delimited/core/delimiters.d.ts +31 -0
- package/lib/delimited/core/delimiters.d.ts.map +1 -0
- package/lib/delimited/core/delimiters.js +46 -0
- package/lib/delimited/core/delimiters.js.map +1 -0
- package/lib/delimited/core/index.d.ts +9 -0
- package/lib/delimited/core/index.d.ts.map +1 -0
- package/lib/delimited/core/index.js +5 -0
- package/lib/delimited/core/index.js.map +1 -0
- package/lib/delimited/core/readDelimited.d.ts +32 -0
- package/lib/delimited/core/readDelimited.d.ts.map +1 -0
- package/lib/delimited/core/readDelimited.js +122 -0
- package/lib/delimited/core/readDelimited.js.map +1 -0
- package/lib/delimited/core/rowsToDelimited.d.ts +59 -0
- package/lib/delimited/core/rowsToDelimited.d.ts.map +1 -0
- package/lib/delimited/core/rowsToDelimited.js +87 -0
- package/lib/delimited/core/rowsToDelimited.js.map +1 -0
- package/lib/delimited/core/toDelimited.d.ts +38 -0
- package/lib/delimited/core/toDelimited.d.ts.map +1 -0
- package/lib/delimited/core/toDelimited.js +45 -0
- package/lib/delimited/core/toDelimited.js.map +1 -0
- package/lib/delimited/ui/DelimitedTextDialog.d.ts +22 -0
- package/lib/delimited/ui/DelimitedTextDialog.d.ts.map +1 -0
- package/lib/delimited/ui/DelimitedTextDialog.js +17 -0
- package/lib/delimited/ui/DelimitedTextDialog.js.map +1 -0
- package/lib/delimited/ui/DelimitedTextPanel.d.ts +56 -0
- package/lib/delimited/ui/DelimitedTextPanel.d.ts.map +1 -0
- package/lib/delimited/ui/DelimitedTextPanel.js +55 -0
- package/lib/delimited/ui/DelimitedTextPanel.js.map +1 -0
- package/lib/delimited/ui/index.d.ts +5 -0
- package/lib/delimited/ui/index.d.ts.map +1 -0
- package/lib/delimited/ui/index.js +3 -0
- package/lib/delimited/ui/index.js.map +1 -0
- package/lib/disclosure/ui/CollapsibleSection.d.ts +57 -0
- package/lib/disclosure/ui/CollapsibleSection.d.ts.map +1 -0
- package/lib/disclosure/ui/CollapsibleSection.js +60 -0
- package/lib/disclosure/ui/CollapsibleSection.js.map +1 -0
- package/lib/disclosure/ui/index.d.ts +5 -0
- package/lib/disclosure/ui/index.d.ts.map +1 -0
- package/lib/disclosure/ui/index.js +3 -0
- package/lib/disclosure/ui/index.js.map +1 -0
- package/lib/disclosure/ui/useDisclosure.d.ts +22 -0
- package/lib/disclosure/ui/useDisclosure.d.ts.map +1 -0
- package/lib/disclosure/ui/useDisclosure.js +18 -0
- package/lib/disclosure/ui/useDisclosure.js.map +1 -0
- package/lib/download/core/downloadBlob.d.ts +10 -0
- package/lib/download/core/downloadBlob.d.ts.map +1 -0
- package/lib/download/core/downloadBlob.js +20 -0
- package/lib/download/core/downloadBlob.js.map +1 -0
- package/lib/download/core/downloadText.d.ts +9 -0
- package/lib/download/core/downloadText.d.ts.map +1 -0
- package/lib/download/core/downloadText.js +14 -0
- package/lib/download/core/downloadText.js.map +1 -0
- package/lib/download/core/index.d.ts +4 -0
- package/lib/download/core/index.d.ts.map +1 -0
- package/lib/download/core/index.js +4 -0
- package/lib/download/core/index.js.map +1 -0
- package/lib/download/core/sanitizeFileName.d.ts +15 -0
- package/lib/download/core/sanitizeFileName.d.ts.map +1 -0
- package/lib/download/core/sanitizeFileName.js +33 -0
- package/lib/download/core/sanitizeFileName.js.map +1 -0
- package/lib/ecosystem/core/index.d.ts +3 -0
- package/lib/ecosystem/core/index.d.ts.map +1 -1
- package/lib/ecosystem/core/index.js +3 -0
- package/lib/ecosystem/core/index.js.map +1 -1
- package/lib/ecosystem/core/links.d.ts +11 -0
- package/lib/ecosystem/core/links.d.ts.map +1 -0
- package/lib/ecosystem/core/links.js +28 -0
- package/lib/ecosystem/core/links.js.map +1 -0
- package/lib/ecosystem/core/lookup.d.ts +21 -0
- package/lib/ecosystem/core/lookup.d.ts.map +1 -0
- package/lib/ecosystem/core/lookup.js +40 -0
- package/lib/ecosystem/core/lookup.js.map +1 -0
- package/lib/ecosystem/core/sites.d.ts +2 -0
- package/lib/ecosystem/core/sites.d.ts.map +1 -1
- package/lib/ecosystem/core/sites.js +15 -0
- package/lib/ecosystem/core/sites.js.map +1 -1
- package/lib/ecosystem/core/tokens.d.ts +21 -0
- package/lib/ecosystem/core/tokens.d.ts.map +1 -0
- package/lib/ecosystem/core/tokens.js +42 -0
- package/lib/ecosystem/core/tokens.js.map +1 -0
- package/lib/ecosystem/ui/SiteTheme.d.ts +18 -0
- package/lib/ecosystem/ui/SiteTheme.d.ts.map +1 -0
- package/lib/ecosystem/ui/SiteTheme.js +16 -0
- package/lib/ecosystem/ui/SiteTheme.js.map +1 -0
- package/lib/ecosystem/ui/Wordmark.d.ts +30 -0
- package/lib/ecosystem/ui/Wordmark.d.ts.map +1 -0
- package/lib/ecosystem/ui/Wordmark.js +26 -0
- package/lib/ecosystem/ui/Wordmark.js.map +1 -0
- package/lib/ecosystem/ui/index.d.ts +4 -0
- package/lib/ecosystem/ui/index.d.ts.map +1 -1
- package/lib/ecosystem/ui/index.js +2 -0
- package/lib/ecosystem/ui/index.js.map +1 -1
- package/lib/ecosystem/ui/marks.d.ts +30 -4
- package/lib/ecosystem/ui/marks.d.ts.map +1 -1
- package/lib/ecosystem/ui/marks.js +13 -3
- package/lib/ecosystem/ui/marks.js.map +1 -1
- package/lib/error/ui/ErrorBoundary.d.ts +60 -0
- package/lib/error/ui/ErrorBoundary.d.ts.map +1 -0
- package/lib/error/ui/ErrorBoundary.js +59 -0
- package/lib/error/ui/ErrorBoundary.js.map +1 -0
- package/lib/error/ui/ErrorFallback.d.ts +38 -0
- package/lib/error/ui/ErrorFallback.d.ts.map +1 -0
- package/lib/error/ui/ErrorFallback.js +16 -0
- package/lib/error/ui/ErrorFallback.js.map +1 -0
- package/lib/error/ui/index.d.ts +5 -0
- package/lib/error/ui/index.d.ts.map +1 -0
- package/lib/error/ui/index.js +3 -0
- package/lib/error/ui/index.js.map +1 -0
- package/lib/error/ui/toError.d.ts +11 -0
- package/lib/error/ui/toError.d.ts.map +1 -0
- package/lib/error/ui/toError.js +35 -0
- package/lib/error/ui/toError.js.map +1 -0
- package/lib/format/core/index.d.ts +5 -0
- package/lib/format/core/index.d.ts.map +1 -0
- package/lib/format/core/index.js +5 -0
- package/lib/format/core/index.js.map +1 -0
- package/lib/format/core/missing.d.ts +7 -0
- package/lib/format/core/missing.d.ts.map +1 -0
- package/lib/format/core/missing.js +7 -0
- package/lib/format/core/missing.js.map +1 -0
- package/lib/format/core/numbers.d.ts +40 -0
- package/lib/format/core/numbers.d.ts.map +1 -0
- package/lib/format/core/numbers.js +81 -0
- package/lib/format/core/numbers.js.map +1 -0
- package/lib/format/core/units.d.ts +17 -0
- package/lib/format/core/units.d.ts.map +1 -0
- package/lib/format/core/units.js +54 -0
- package/lib/format/core/units.js.map +1 -0
- package/lib/format/core/words.d.ts +12 -0
- package/lib/format/core/words.d.ts.map +1 -0
- package/lib/format/core/words.js +14 -0
- package/lib/format/core/words.js.map +1 -0
- package/lib/help/ui/HelpBody.d.ts +57 -0
- package/lib/help/ui/HelpBody.d.ts.map +1 -0
- package/lib/help/ui/HelpBody.js +44 -0
- package/lib/help/ui/HelpBody.js.map +1 -0
- package/lib/help/ui/HelpIcon.d.ts +33 -0
- package/lib/help/ui/HelpIcon.d.ts.map +1 -0
- package/lib/help/ui/HelpIcon.js +16 -0
- package/lib/help/ui/HelpIcon.js.map +1 -0
- package/lib/help/ui/HelpToolbarButton.d.ts +45 -0
- package/lib/help/ui/HelpToolbarButton.d.ts.map +1 -0
- package/lib/help/ui/HelpToolbarButton.js +17 -0
- package/lib/help/ui/HelpToolbarButton.js.map +1 -0
- package/lib/help/ui/HelpTooltip.d.ts +36 -0
- package/lib/help/ui/HelpTooltip.d.ts.map +1 -0
- package/lib/help/ui/HelpTooltip.js +24 -0
- package/lib/help/ui/HelpTooltip.js.map +1 -0
- package/lib/help/ui/index.d.ts +9 -0
- package/lib/help/ui/index.d.ts.map +1 -0
- package/lib/help/ui/index.js +5 -0
- package/lib/help/ui/index.js.map +1 -0
- package/lib/hooks/ui/index.d.ts +7 -0
- package/lib/hooks/ui/index.d.ts.map +1 -0
- package/lib/hooks/ui/index.js +5 -0
- package/lib/hooks/ui/index.js.map +1 -0
- package/lib/hooks/ui/listNavigation.d.ts +54 -0
- package/lib/hooks/ui/listNavigation.d.ts.map +1 -0
- package/lib/hooks/ui/listNavigation.js +77 -0
- package/lib/hooks/ui/listNavigation.js.map +1 -0
- package/lib/hooks/ui/useContainerSize.d.ts +15 -0
- package/lib/hooks/ui/useContainerSize.d.ts.map +1 -0
- package/lib/hooks/ui/useContainerSize.js +24 -0
- package/lib/hooks/ui/useContainerSize.js.map +1 -0
- package/lib/hooks/ui/useDebouncedValue.d.ts +12 -0
- package/lib/hooks/ui/useDebouncedValue.d.ts.map +1 -0
- package/lib/hooks/ui/useDebouncedValue.js +24 -0
- package/lib/hooks/ui/useDebouncedValue.js.map +1 -0
- package/lib/hooks/ui/useListKeyboardNavigation.d.ts +17 -0
- package/lib/hooks/ui/useListKeyboardNavigation.d.ts.map +1 -0
- package/lib/hooks/ui/useListKeyboardNavigation.js +25 -0
- package/lib/hooks/ui/useListKeyboardNavigation.js.map +1 -0
- package/lib/hooks/ui/useResizeObserver.d.ts +20 -0
- package/lib/hooks/ui/useResizeObserver.d.ts.map +1 -0
- package/lib/hooks/ui/useResizeObserver.js +37 -0
- package/lib/hooks/ui/useResizeObserver.js.map +1 -0
- package/lib/orbital/core/atomicGrid.d.ts +27 -0
- package/lib/orbital/core/atomicGrid.d.ts.map +1 -1
- package/lib/orbital/core/atomicGrid.js +37 -1
- package/lib/orbital/core/atomicGrid.js.map +1 -1
- package/lib/orbital/core/index.d.ts +9 -7
- package/lib/orbital/core/index.d.ts.map +1 -1
- package/lib/orbital/core/index.js +7 -6
- package/lib/orbital/core/index.js.map +1 -1
- package/lib/orbital/core/isovalue.d.ts +60 -0
- package/lib/orbital/core/isovalue.d.ts.map +1 -0
- package/lib/orbital/core/isovalue.js +128 -0
- package/lib/orbital/core/isovalue.js.map +1 -0
- package/lib/orbital/core/sample.d.ts +15 -1
- package/lib/orbital/core/sample.d.ts.map +1 -1
- package/lib/orbital/core/sample.js +10 -3
- package/lib/orbital/core/sample.js.map +1 -1
- package/lib/orbital/ui/AtomicOrbitalCanvas.d.ts +6 -1
- package/lib/orbital/ui/AtomicOrbitalCanvas.d.ts.map +1 -1
- package/lib/orbital/ui/AtomicOrbitalCanvas.js +12 -2
- package/lib/orbital/ui/AtomicOrbitalCanvas.js.map +1 -1
- package/lib/orbital/ui/AtomicOrbitalViewer.d.ts +5 -1
- package/lib/orbital/ui/AtomicOrbitalViewer.d.ts.map +1 -1
- package/lib/orbital/ui/AtomicOrbitalViewer.js.map +1 -1
- package/lib/orbital/ui/renderVolume.d.ts +6 -3
- package/lib/orbital/ui/renderVolume.d.ts.map +1 -1
- package/lib/orbital/ui/renderVolume.js +14 -15
- package/lib/orbital/ui/renderVolume.js.map +1 -1
- package/lib/orbital/ui/viewer.d.ts +3 -1
- package/lib/orbital/ui/viewer.d.ts.map +1 -1
- package/lib/orbital/ui/viewer.js +3 -2
- package/lib/orbital/ui/viewer.js.map +1 -1
- package/lib/orbital/ui/volumeField.d.ts +5 -21
- package/lib/orbital/ui/volumeField.d.ts.map +1 -1
- package/lib/orbital/ui/volumeField.js +5 -45
- package/lib/orbital/ui/volumeField.js.map +1 -1
- package/lib/pedagogy/core/glossary.d.ts +79 -0
- package/lib/pedagogy/core/glossary.d.ts.map +1 -0
- package/lib/pedagogy/core/glossary.js +71 -0
- package/lib/pedagogy/core/glossary.js.map +1 -0
- package/lib/pedagogy/core/index.d.ts +8 -0
- package/lib/pedagogy/core/index.d.ts.map +1 -0
- package/lib/pedagogy/core/index.js +4 -0
- package/lib/pedagogy/core/index.js.map +1 -0
- package/lib/pedagogy/core/jsonStorage.d.ts +21 -0
- package/lib/pedagogy/core/jsonStorage.d.ts.map +1 -0
- package/lib/pedagogy/core/jsonStorage.js +55 -0
- package/lib/pedagogy/core/jsonStorage.js.map +1 -0
- package/lib/pedagogy/core/progress.d.ts +116 -0
- package/lib/pedagogy/core/progress.d.ts.map +1 -0
- package/lib/pedagogy/core/progress.js +122 -0
- package/lib/pedagogy/core/progress.js.map +1 -0
- package/lib/pedagogy/core/types.d.ts +74 -0
- package/lib/pedagogy/core/types.d.ts.map +1 -0
- package/lib/pedagogy/core/types.js +8 -0
- package/lib/pedagogy/core/types.js.map +1 -0
- package/lib/pedagogy/core/validation.d.ts +79 -0
- package/lib/pedagogy/core/validation.d.ts.map +1 -0
- package/lib/pedagogy/core/validation.js +47 -0
- package/lib/pedagogy/core/validation.js.map +1 -0
- package/lib/pedagogy/ui/ExerciseActions.d.ts +74 -0
- package/lib/pedagogy/ui/ExerciseActions.d.ts.map +1 -0
- package/lib/pedagogy/ui/ExerciseActions.js +22 -0
- package/lib/pedagogy/ui/ExerciseActions.js.map +1 -0
- package/lib/pedagogy/ui/ExerciseProgressHeader.d.ts +43 -0
- package/lib/pedagogy/ui/ExerciseProgressHeader.d.ts.map +1 -0
- package/lib/pedagogy/ui/ExerciseProgressHeader.js +43 -0
- package/lib/pedagogy/ui/ExerciseProgressHeader.js.map +1 -0
- package/lib/pedagogy/ui/ExerciseTags.d.ts +49 -0
- package/lib/pedagogy/ui/ExerciseTags.d.ts.map +1 -0
- package/lib/pedagogy/ui/ExerciseTags.js +22 -0
- package/lib/pedagogy/ui/ExerciseTags.js.map +1 -0
- package/lib/pedagogy/ui/GlossaryProvider.d.ts +19 -0
- package/lib/pedagogy/ui/GlossaryProvider.d.ts.map +1 -0
- package/lib/pedagogy/ui/GlossaryProvider.js +16 -0
- package/lib/pedagogy/ui/GlossaryProvider.js.map +1 -0
- package/lib/pedagogy/ui/GlossaryText.d.ts +50 -0
- package/lib/pedagogy/ui/GlossaryText.d.ts.map +1 -0
- package/lib/pedagogy/ui/GlossaryText.js +79 -0
- package/lib/pedagogy/ui/GlossaryText.js.map +1 -0
- package/lib/pedagogy/ui/HintLadder.d.ts +38 -0
- package/lib/pedagogy/ui/HintLadder.d.ts.map +1 -0
- package/lib/pedagogy/ui/HintLadder.js +33 -0
- package/lib/pedagogy/ui/HintLadder.js.map +1 -0
- package/lib/pedagogy/ui/ReferenceGrid.d.ts +31 -0
- package/lib/pedagogy/ui/ReferenceGrid.d.ts.map +1 -0
- package/lib/pedagogy/ui/ReferenceGrid.js +25 -0
- package/lib/pedagogy/ui/ReferenceGrid.js.map +1 -0
- package/lib/pedagogy/ui/ReferenceSectionBlock.d.ts +64 -0
- package/lib/pedagogy/ui/ReferenceSectionBlock.d.ts.map +1 -0
- package/lib/pedagogy/ui/ReferenceSectionBlock.js +78 -0
- package/lib/pedagogy/ui/ReferenceSectionBlock.js.map +1 -0
- package/lib/pedagogy/ui/SyntaxTooltip.d.ts +94 -0
- package/lib/pedagogy/ui/SyntaxTooltip.d.ts.map +1 -0
- package/lib/pedagogy/ui/SyntaxTooltip.js +79 -0
- package/lib/pedagogy/ui/SyntaxTooltip.js.map +1 -0
- package/lib/pedagogy/ui/TestCaseList.d.ts +35 -0
- package/lib/pedagogy/ui/TestCaseList.d.ts.map +1 -0
- package/lib/pedagogy/ui/TestCaseList.js +63 -0
- package/lib/pedagogy/ui/TestCaseList.js.map +1 -0
- package/lib/pedagogy/ui/TutorialStepStrip.d.ts +42 -0
- package/lib/pedagogy/ui/TutorialStepStrip.d.ts.map +1 -0
- package/lib/pedagogy/ui/TutorialStepStrip.js +98 -0
- package/lib/pedagogy/ui/TutorialStepStrip.js.map +1 -0
- package/lib/pedagogy/ui/exerciseMeta.d.ts +24 -0
- package/lib/pedagogy/ui/exerciseMeta.d.ts.map +1 -0
- package/lib/pedagogy/ui/exerciseMeta.js +38 -0
- package/lib/pedagogy/ui/exerciseMeta.js.map +1 -0
- package/lib/pedagogy/ui/glossaryContext.d.ts +17 -0
- package/lib/pedagogy/ui/glossaryContext.d.ts.map +1 -0
- package/lib/pedagogy/ui/glossaryContext.js +19 -0
- package/lib/pedagogy/ui/glossaryContext.js.map +1 -0
- package/lib/pedagogy/ui/index.d.ts +27 -0
- package/lib/pedagogy/ui/index.d.ts.map +1 -0
- package/lib/pedagogy/ui/index.js +15 -0
- package/lib/pedagogy/ui/index.js.map +1 -0
- package/lib/pedagogy/ui/tutorialLevels.d.ts +18 -0
- package/lib/pedagogy/ui/tutorialLevels.d.ts.map +1 -0
- package/lib/pedagogy/ui/tutorialLevels.js +14 -0
- package/lib/pedagogy/ui/tutorialLevels.js.map +1 -0
- package/lib/router/core/address.d.ts +42 -0
- package/lib/router/core/address.d.ts.map +1 -0
- package/lib/router/core/address.js +64 -0
- package/lib/router/core/address.js.map +1 -0
- package/lib/router/core/basePath.d.ts +49 -0
- package/lib/router/core/basePath.d.ts.map +1 -0
- package/lib/router/core/basePath.js +78 -0
- package/lib/router/core/basePath.js.map +1 -0
- package/lib/router/core/index.d.ts +8 -0
- package/lib/router/core/index.d.ts.map +1 -0
- package/lib/router/core/index.js +5 -0
- package/lib/router/core/index.js.map +1 -0
- package/lib/router/core/legacyHash.d.ts +45 -0
- package/lib/router/core/legacyHash.d.ts.map +1 -0
- package/lib/router/core/legacyHash.js +50 -0
- package/lib/router/core/legacyHash.js.map +1 -0
- package/lib/router/core/pageAddresses.d.ts +50 -0
- package/lib/router/core/pageAddresses.d.ts.map +1 -0
- package/lib/router/core/pageAddresses.js +56 -0
- package/lib/router/core/pageAddresses.js.map +1 -0
- package/lib/router/core/query.d.ts +41 -0
- package/lib/router/core/query.d.ts.map +1 -0
- package/lib/router/core/query.js +64 -0
- package/lib/router/core/query.js.map +1 -0
- package/lib/router/core/tabRouter.d.ts +111 -0
- package/lib/router/core/tabRouter.d.ts.map +1 -0
- package/lib/router/core/tabRouter.js +87 -0
- package/lib/router/core/tabRouter.js.map +1 -0
- package/lib/seo/core/documentMeta.d.ts +45 -0
- package/lib/seo/core/documentMeta.d.ts.map +1 -0
- package/lib/seo/core/documentMeta.js +69 -0
- package/lib/seo/core/documentMeta.js.map +1 -0
- package/lib/seo/core/index.d.ts +3 -0
- package/lib/seo/core/index.d.ts.map +1 -0
- package/lib/seo/core/index.js +2 -0
- package/lib/seo/core/index.js.map +1 -0
- package/lib/share/core/config.d.ts +63 -0
- package/lib/share/core/config.d.ts.map +1 -0
- package/lib/share/core/config.js +125 -0
- package/lib/share/core/config.js.map +1 -0
- package/lib/share/core/escape.d.ts +15 -0
- package/lib/share/core/escape.d.ts.map +1 -0
- package/lib/share/core/escape.js +22 -0
- package/lib/share/core/escape.js.map +1 -0
- package/lib/share/core/index.d.ts +9 -0
- package/lib/share/core/index.d.ts.map +1 -0
- package/lib/share/core/index.js +5 -0
- package/lib/share/core/index.js.map +1 -0
- package/lib/share/core/params.d.ts +93 -0
- package/lib/share/core/params.d.ts.map +1 -0
- package/lib/share/core/params.js +111 -0
- package/lib/share/core/params.js.map +1 -0
- package/lib/share/core/query.d.ts +30 -0
- package/lib/share/core/query.d.ts.map +1 -0
- package/lib/share/core/query.js +68 -0
- package/lib/share/core/query.js.map +1 -0
- package/lib/share/core/url.d.ts +57 -0
- package/lib/share/core/url.d.ts.map +1 -0
- package/lib/share/core/url.js +49 -0
- package/lib/share/core/url.js.map +1 -0
- package/lib/share/core/vocabulary.d.ts +51 -0
- package/lib/share/core/vocabulary.d.ts.map +1 -0
- package/lib/share/core/vocabulary.js +2 -0
- package/lib/share/core/vocabulary.js.map +1 -0
- package/lib/share/ui/HiddenPartsProvider.d.ts +19 -0
- package/lib/share/ui/HiddenPartsProvider.d.ts.map +1 -0
- package/lib/share/ui/HiddenPartsProvider.js +15 -0
- package/lib/share/ui/HiddenPartsProvider.js.map +1 -0
- package/lib/share/ui/PagePart.d.ts +18 -0
- package/lib/share/ui/PagePart.d.ts.map +1 -0
- package/lib/share/ui/PagePart.js +16 -0
- package/lib/share/ui/PagePart.js.map +1 -0
- package/lib/share/ui/ShareButton.d.ts +42 -0
- package/lib/share/ui/ShareButton.d.ts.map +1 -0
- package/lib/share/ui/ShareButton.js +18 -0
- package/lib/share/ui/ShareButton.js.map +1 -0
- package/lib/share/ui/ShareDialog.d.ts +73 -0
- package/lib/share/ui/ShareDialog.d.ts.map +1 -0
- package/lib/share/ui/ShareDialog.js +19 -0
- package/lib/share/ui/ShareDialog.js.map +1 -0
- package/lib/share/ui/ShareDialogContent.d.ts +13 -0
- package/lib/share/ui/ShareDialogContent.d.ts.map +1 -0
- package/lib/share/ui/ShareDialogContent.js +71 -0
- package/lib/share/ui/ShareDialogContent.js.map +1 -0
- package/lib/share/ui/SharePartOptions.d.ts +18 -0
- package/lib/share/ui/SharePartOptions.d.ts.map +1 -0
- package/lib/share/ui/SharePartOptions.js +22 -0
- package/lib/share/ui/SharePartOptions.js.map +1 -0
- package/lib/share/ui/draft.d.ts +13 -0
- package/lib/share/ui/draft.d.ts.map +1 -0
- package/lib/share/ui/draft.js +16 -0
- package/lib/share/ui/draft.js.map +1 -0
- package/lib/share/ui/hiddenParts.d.ts +17 -0
- package/lib/share/ui/hiddenParts.d.ts.map +1 -0
- package/lib/share/ui/hiddenParts.js +21 -0
- package/lib/share/ui/hiddenParts.js.map +1 -0
- package/lib/share/ui/index.d.ts +10 -0
- package/lib/share/ui/index.d.ts.map +1 -0
- package/lib/share/ui/index.js +6 -0
- package/lib/share/ui/index.js.map +1 -0
- package/lib/shared/ui/index.d.ts +2 -1
- package/lib/shared/ui/index.d.ts.map +1 -1
- package/lib/shared/ui/index.js +1 -1
- package/lib/shared/ui/index.js.map +1 -1
- package/lib/state/ui/index.d.ts +3 -0
- package/lib/state/ui/index.d.ts.map +1 -0
- package/lib/state/ui/index.js +2 -0
- package/lib/state/ui/index.js.map +1 -0
- package/lib/state/ui/mergeStored.d.ts +27 -0
- package/lib/state/ui/mergeStored.d.ts.map +1 -0
- package/lib/state/ui/mergeStored.js +82 -0
- package/lib/state/ui/mergeStored.js.map +1 -0
- package/lib/state/ui/persistBucket.d.ts +65 -0
- package/lib/state/ui/persistBucket.d.ts.map +1 -0
- package/lib/state/ui/persistBucket.js +90 -0
- package/lib/state/ui/persistBucket.js.map +1 -0
- package/lib/structure/core/editorValue.d.ts +69 -0
- package/lib/structure/core/editorValue.d.ts.map +1 -0
- package/lib/structure/core/editorValue.js +72 -0
- package/lib/structure/core/editorValue.js.map +1 -0
- package/lib/structure/core/fragmentQuery.d.ts +33 -0
- package/lib/structure/core/fragmentQuery.d.ts.map +1 -0
- package/lib/structure/core/fragmentQuery.js +37 -0
- package/lib/structure/core/fragmentQuery.js.map +1 -0
- package/lib/structure/core/index.d.ts +11 -0
- package/lib/structure/core/index.d.ts.map +1 -0
- package/lib/structure/core/index.js +6 -0
- package/lib/structure/core/index.js.map +1 -0
- package/lib/structure/core/molfile.d.ts +42 -0
- package/lib/structure/core/molfile.d.ts.map +1 -0
- package/lib/structure/core/molfile.js +74 -0
- package/lib/structure/core/molfile.js.map +1 -0
- package/lib/structure/core/readStructure.d.ts +37 -0
- package/lib/structure/core/readStructure.d.ts.map +1 -0
- package/lib/structure/core/readStructure.js +59 -0
- package/lib/structure/core/readStructure.js.map +1 -0
- package/lib/structure/core/structureSource.d.ts +34 -0
- package/lib/structure/core/structureSource.d.ts.map +1 -0
- package/lib/structure/core/structureSource.js +32 -0
- package/lib/structure/core/structureSource.js.map +1 -0
- package/lib/structure/core/toolbarFloor.d.ts +16 -0
- package/lib/structure/core/toolbarFloor.d.ts.map +1 -0
- package/lib/structure/core/toolbarFloor.js +27 -0
- package/lib/structure/core/toolbarFloor.js.map +1 -0
- package/lib/structure/ui/EditorCanvas.d.ts +55 -0
- package/lib/structure/ui/EditorCanvas.d.ts.map +1 -0
- package/lib/structure/ui/EditorCanvas.js +41 -0
- package/lib/structure/ui/EditorCanvas.js.map +1 -0
- package/lib/structure/ui/Structure.d.ts +122 -0
- package/lib/structure/ui/Structure.d.ts.map +1 -0
- package/lib/structure/ui/Structure.js +28 -0
- package/lib/structure/ui/Structure.js.map +1 -0
- package/lib/structure/ui/StructureEditor.d.ts +75 -0
- package/lib/structure/ui/StructureEditor.d.ts.map +1 -0
- package/lib/structure/ui/StructureEditor.js +83 -0
- package/lib/structure/ui/StructureEditor.js.map +1 -0
- package/lib/structure/ui/StructurePlaceholder.d.ts +29 -0
- package/lib/structure/ui/StructurePlaceholder.d.ts.map +1 -0
- package/lib/structure/ui/StructurePlaceholder.js +19 -0
- package/lib/structure/ui/StructurePlaceholder.js.map +1 -0
- package/lib/structure/ui/StructureSvg.d.ts +58 -0
- package/lib/structure/ui/StructureSvg.d.ts.map +1 -0
- package/lib/structure/ui/StructureSvg.js +33 -0
- package/lib/structure/ui/StructureSvg.js.map +1 -0
- package/lib/structure/ui/index.d.ts +19 -0
- package/lib/structure/ui/index.d.ts.map +1 -0
- package/lib/structure/ui/index.js +15 -0
- package/lib/structure/ui/index.js.map +1 -0
- package/lib/structure/ui/useToolbarFloor.d.ts +26 -0
- package/lib/structure/ui/useToolbarFloor.d.ts.map +1 -0
- package/lib/structure/ui/useToolbarFloor.js +70 -0
- package/lib/structure/ui/useToolbarFloor.js.map +1 -0
- package/lib/structure.d.ts +3 -0
- package/lib/structure.d.ts.map +1 -0
- package/lib/structure.js +3 -0
- package/lib/structure.js.map +1 -0
- package/lib/ui.d.ts +13 -0
- package/lib/ui.d.ts.map +1 -1
- package/lib/ui.js +13 -0
- package/lib/ui.js.map +1 -1
- package/lib/worker/core/errors.d.ts +15 -0
- package/lib/worker/core/errors.d.ts.map +1 -0
- package/lib/worker/core/errors.js +15 -0
- package/lib/worker/core/errors.js.map +1 -0
- package/lib/worker/core/index.d.ts +5 -0
- package/lib/worker/core/index.d.ts.map +1 -0
- package/lib/worker/core/index.js +3 -0
- package/lib/worker/core/index.js.map +1 -0
- package/lib/worker/core/messages.d.ts +48 -0
- package/lib/worker/core/messages.d.ts.map +1 -0
- package/lib/worker/core/messages.js +2 -0
- package/lib/worker/core/messages.js.map +1 -0
- package/lib/worker/core/workerChannel.d.ts +69 -0
- package/lib/worker/core/workerChannel.d.ts.map +1 -0
- package/lib/worker/core/workerChannel.js +121 -0
- package/lib/worker/core/workerChannel.js.map +1 -0
- package/package.json +18 -5
- package/src/capsule/ui/CapsuleFilter.tsx +119 -0
- package/src/capsule/ui/index.ts +2 -0
- package/src/chrome/ui/NavLink.tsx +88 -0
- package/src/chrome/ui/NavMenuButton.tsx +95 -0
- package/src/chrome/ui/SiteFooter.tsx +65 -0
- package/src/chrome/ui/SiteHeader.tsx +119 -0
- package/src/chrome/ui/index.ts +11 -0
- package/src/chrome/ui/navItem.ts +60 -0
- package/src/chrome/ui/useCompactHeader.ts +81 -0
- package/src/citation/core/clipboard.ts +27 -11
- package/src/citation/core/download.ts +25 -15
- package/src/citation/core/index.ts +8 -3
- package/src/citation/core/works.ts +81 -0
- package/src/citation/ui/CitationMenu.tsx +104 -89
- package/src/citation/ui/CitationPreview.tsx +18 -8
- package/src/citation/ui/CiteButton.tsx +24 -9
- package/src/citation/ui/CopyFormatEntries.tsx +84 -0
- package/src/citation/ui/WorkEntry.tsx +80 -0
- package/src/citation/ui/entries.tsx +18 -20
- package/src/citation/ui/index.ts +10 -2
- package/src/citation/ui/useCopyFeedback.ts +76 -0
- package/src/clipboard/core/index.ts +1 -0
- package/src/clipboard/core/writeToClipboard.ts +47 -0
- package/src/clipboard/ui/CodeBlock.tsx +110 -0
- package/src/clipboard/ui/CopyButton.tsx +111 -0
- package/src/clipboard/ui/index.ts +9 -0
- package/src/clipboard/ui/useCopyToClipboard.ts +57 -0
- package/src/color/core/contrast.ts +85 -0
- package/src/color/core/hex.ts +57 -0
- package/src/color/core/index.ts +4 -0
- package/src/color/core/scale.ts +132 -0
- package/src/color/ui/ColorScaleLegend.tsx +144 -0
- package/src/color/ui/index.ts +2 -0
- package/src/core.ts +11 -0
- package/src/credits/core/credits.ts +183 -0
- package/src/credits/core/index.ts +2 -0
- package/src/credits/ui/CreditsList.tsx +82 -0
- package/src/credits/ui/index.ts +2 -0
- package/src/delimited/core/delimiters.ts +64 -0
- package/src/delimited/core/index.ts +11 -0
- package/src/delimited/core/readDelimited.ts +132 -0
- package/src/delimited/core/rowsToDelimited.ts +135 -0
- package/src/delimited/core/toDelimited.ts +69 -0
- package/src/delimited/ui/DelimitedTextDialog.tsx +49 -0
- package/src/delimited/ui/DelimitedTextPanel.tsx +161 -0
- package/src/delimited/ui/index.ts +4 -0
- package/src/disclosure/ui/CollapsibleSection.tsx +150 -0
- package/src/disclosure/ui/index.ts +4 -0
- package/src/disclosure/ui/useDisclosure.ts +35 -0
- package/src/download/core/downloadBlob.ts +19 -0
- package/src/download/core/downloadText.ts +19 -0
- package/src/download/core/index.ts +3 -0
- package/src/download/core/sanitizeFileName.ts +33 -0
- package/src/ecosystem/core/index.ts +3 -0
- package/src/ecosystem/core/links.ts +29 -0
- package/src/ecosystem/core/lookup.ts +41 -0
- package/src/ecosystem/core/sites.ts +17 -0
- package/src/ecosystem/core/tokens.ts +47 -0
- package/src/ecosystem/ui/SiteTheme.tsx +23 -0
- package/src/ecosystem/ui/Wordmark.tsx +65 -0
- package/src/ecosystem/ui/index.ts +4 -0
- package/src/ecosystem/ui/marks.tsx +54 -15
- package/src/error/ui/ErrorBoundary.tsx +94 -0
- package/src/error/ui/ErrorFallback.tsx +64 -0
- package/src/error/ui/index.ts +4 -0
- package/src/error/ui/toError.ts +33 -0
- package/src/format/core/index.ts +9 -0
- package/src/format/core/missing.ts +6 -0
- package/src/format/core/numbers.ts +84 -0
- package/src/format/core/units.ts +60 -0
- package/src/format/core/words.ts +17 -0
- package/src/help/ui/HelpBody.tsx +130 -0
- package/src/help/ui/HelpIcon.tsx +53 -0
- package/src/help/ui/HelpToolbarButton.tsx +72 -0
- package/src/help/ui/HelpTooltip.tsx +72 -0
- package/src/help/ui/index.ts +8 -0
- package/src/hooks/ui/index.ts +6 -0
- package/src/hooks/ui/listNavigation.ts +116 -0
- package/src/hooks/ui/useContainerSize.ts +32 -0
- package/src/hooks/ui/useDebouncedValue.ts +29 -0
- package/src/hooks/ui/useListKeyboardNavigation.ts +37 -0
- package/src/hooks/ui/useResizeObserver.ts +50 -0
- package/src/orbital/core/atomicGrid.ts +53 -1
- package/src/orbital/core/index.ts +7 -16
- package/src/orbital/core/isovalue.ts +146 -0
- package/src/orbital/core/sample.ts +25 -5
- package/src/orbital/ui/AtomicOrbitalCanvas.tsx +19 -3
- package/src/orbital/ui/AtomicOrbitalViewer.tsx +5 -1
- package/src/orbital/ui/renderVolume.ts +29 -16
- package/src/orbital/ui/viewer.ts +6 -1
- package/src/orbital/ui/volumeField.ts +5 -49
- package/src/pedagogy/core/glossary.ts +122 -0
- package/src/pedagogy/core/index.ts +28 -0
- package/src/pedagogy/core/jsonStorage.ts +51 -0
- package/src/pedagogy/core/progress.ts +205 -0
- package/src/pedagogy/core/types.ts +78 -0
- package/src/pedagogy/core/validation.ts +109 -0
- package/src/pedagogy/ui/ExerciseActions.tsx +129 -0
- package/src/pedagogy/ui/ExerciseProgressHeader.tsx +135 -0
- package/src/pedagogy/ui/ExerciseTags.tsx +85 -0
- package/src/pedagogy/ui/GlossaryProvider.tsx +31 -0
- package/src/pedagogy/ui/GlossaryText.tsx +164 -0
- package/src/pedagogy/ui/HintLadder.tsx +95 -0
- package/src/pedagogy/ui/ReferenceGrid.tsx +69 -0
- package/src/pedagogy/ui/ReferenceSectionBlock.tsx +175 -0
- package/src/pedagogy/ui/SyntaxTooltip.tsx +222 -0
- package/src/pedagogy/ui/TestCaseList.tsx +122 -0
- package/src/pedagogy/ui/TutorialStepStrip.tsx +230 -0
- package/src/pedagogy/ui/exerciseMeta.ts +45 -0
- package/src/pedagogy/ui/glossaryContext.ts +23 -0
- package/src/pedagogy/ui/index.ts +37 -0
- package/src/pedagogy/ui/tutorialLevels.ts +27 -0
- package/src/router/core/address.ts +74 -0
- package/src/router/core/basePath.ts +76 -0
- package/src/router/core/index.ts +26 -0
- package/src/router/core/legacyHash.ts +77 -0
- package/src/router/core/pageAddresses.ts +106 -0
- package/src/router/core/query.ts +87 -0
- package/src/router/core/tabRouter.ts +214 -0
- package/src/seo/core/documentMeta.ts +92 -0
- package/src/seo/core/index.ts +6 -0
- package/src/share/core/config.ts +165 -0
- package/src/share/core/escape.ts +22 -0
- package/src/share/core/index.ts +31 -0
- package/src/share/core/params.ts +176 -0
- package/src/share/core/query.ts +72 -0
- package/src/share/core/url.ts +105 -0
- package/src/share/core/vocabulary.ts +60 -0
- package/src/share/ui/HiddenPartsProvider.tsx +34 -0
- package/src/share/ui/PagePart.tsx +26 -0
- package/src/share/ui/ShareButton.tsx +84 -0
- package/src/share/ui/ShareDialog.tsx +114 -0
- package/src/share/ui/ShareDialogContent.tsx +189 -0
- package/src/share/ui/SharePartOptions.tsx +51 -0
- package/src/share/ui/draft.ts +19 -0
- package/src/share/ui/hiddenParts.ts +22 -0
- package/src/share/ui/index.ts +9 -0
- package/src/shared/ui/index.ts +2 -1
- package/src/state/ui/index.ts +6 -0
- package/src/state/ui/mergeStored.ts +87 -0
- package/src/state/ui/persistBucket.ts +147 -0
- package/src/structure/core/editorValue.ts +116 -0
- package/src/structure/core/fragmentQuery.ts +50 -0
- package/src/structure/core/index.ts +13 -0
- package/src/structure/core/molfile.ts +90 -0
- package/src/structure/core/readStructure.ts +73 -0
- package/src/structure/core/structureSource.ts +57 -0
- package/src/structure/core/toolbarFloor.ts +31 -0
- package/src/structure/ui/EditorCanvas.tsx +130 -0
- package/src/structure/ui/Structure.tsx +183 -0
- package/src/structure/ui/StructureEditor.tsx +196 -0
- package/src/structure/ui/StructurePlaceholder.tsx +48 -0
- package/src/structure/ui/StructureSvg.tsx +110 -0
- package/src/structure/ui/index.ts +22 -0
- package/src/structure/ui/useToolbarFloor.ts +93 -0
- package/src/structure.ts +2 -0
- package/src/ui.ts +13 -0
- package/src/worker/core/errors.ts +15 -0
- package/src/worker/core/index.ts +8 -0
- package/src/worker/core/messages.ts +47 -0
- package/src/worker/core/workerChannel.ts +218 -0
- 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 {
|
|
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 {
|
|
9
|
-
import {
|
|
10
|
-
|
|
11
|
-
|
|
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
|
-
*
|
|
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
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
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
|
|
35
|
+
return _jsx(OneWorkMenu, { reference: props.reference });
|
|
56
36
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
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":";AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"CitationMenu.js","sourceRoot":"","sources":["../../../src/citation/ui/CitationMenu.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAyB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAe,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,UAAU,GAAkB,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;AACpD,4EAA4E;AAC5E,MAAM,cAAc,GAAkB,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;AACxD,MAAM,cAAc,GAAkB,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AAsBhE;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,KAAwB;IACnD,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;QACrB,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,KAAC,WAAW,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAI,CAAC;QACvE,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,KAAC,WAAW,IAAC,SAAS,EAAE,KAAK,CAAC,SAAS,GAAI,CAAC;IACrD,CAAC;IACD,OAAO,KAAC,WAAW,IAAC,SAAS,EAAE,KAAK,CAAC,SAAS,GAAI,CAAC;AACrD,CAAC;AAED;;;;;GAKG;AACH,SAAS,WAAW,CAAC,KAA0B;IAC7C,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAC5B,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;IACnC,MAAM,UAAU,GAAG,CAAC,SAAS,CAAC,CAAC;IAE/B,OAAO,CACL,MAAC,IAAI,IAAC,SAAS,EAAC,eAAe,EAAC,KAAK,EAAE,UAAU,aAC/C,KAAC,QAAQ,IACP,IAAI,EAAE,KAAC,UAAU,IAAC,KAAK,EAAE,cAAc,GAAI,EAC3C,IAAI,EAAE,GAAG,SAAS,CAAC,mBAAmB,IAAI,SAAS,CAAC,IAAI,EAAE,EAC1D,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,uBAAuB,GAAG,EAC7C,KAAC,iBAAiB,IAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,GAAI,EACjE,KAAC,aAAa,IAAC,UAAU,EAAE,UAAU,GAAI,IACpC,CACR,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,WAAW,CAAC,KAAsB;IACzC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAClC,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;IACnC,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;IAEhC,OAAO,CACL,MAAC,IAAI,IAAC,SAAS,EAAC,eAAe,EAAC,KAAK,EAAE,cAAc,aACnD,KAAC,WAAW,IACV,KAAK,EACH,QAAQ;oBACR,CAAC,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,wBAAwB,CAAC,GAE9D,EACD,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB,KAAC,SAAS,IAA0B,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,IAAlD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAoC,CACvE,CAAC,EACF,KAAC,WAAW,IACV,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,yBAAyB,GACnE,EACF,KAAC,iBAAiB,IAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,GAAI,EACjE,KAAC,aAAa,IAAC,UAAU,EAAE,UAAU,GAAI,IACpC,CACR,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,aAAa,CAAC,KAEtB;IACC,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAC7B,OAAO,CACL,8BACE,KAAC,WAAW,IAAC,KAAK,EAAC,iCAAiC,GAAG,EACtD,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,IACD,CACJ,CAAC;AACJ,CAAC"}
|
|
@@ -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
|
-
|
|
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;
|
|
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(
|
|
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:
|
|
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":";
|
|
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 {
|
|
4
|
-
|
|
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
|
-
*
|
|
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;
|
|
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
|
-
*
|
|
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
|
|
13
|
-
return (_jsx(MenuButton, {
|
|
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;
|
|
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
|
|
14
|
-
|
|
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
|
|
25
|
-
onCopy: (
|
|
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
|
|
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
|
|
35
|
-
|
|
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
|
|
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 {
|
|
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
|
|
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 {
|
|
20
|
+
const { references, format, style, state, onCopy } = props;
|
|
21
21
|
const entry = style ?? format;
|
|
22
|
-
return (_jsx(PreviewTooltip, {
|
|
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 {
|
|
35
|
-
return (_jsx(PreviewTooltip, {
|
|
36
|
-
|
|
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.
|
|
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 {
|
|
50
|
-
return (_jsx(Tooltip, { placement: "left", popoverClassName: "citation-tooltip", hoverOpenDelay: PREVIEW_OPEN_DELAY, content: _jsx(CitationPreview, { reference:
|
|
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":";AACA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,EAAE,
|
|
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,
|
|
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":"
|
|
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"}
|