react-cheminfo 0.25.0 → 0.26.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 +73 -2
- package/bin/check-messages.mjs +229 -0
- package/lib/about/ui/AboutBuild.d.ts.map +1 -1
- package/lib/about/ui/AboutBuild.js +15 -4
- package/lib/about/ui/AboutBuild.js.map +1 -1
- package/lib/about/ui/AboutCitations.d.ts.map +1 -1
- package/lib/about/ui/AboutCitations.js +3 -1
- package/lib/about/ui/AboutCitations.js.map +1 -1
- package/lib/about/ui/AboutPage.d.ts.map +1 -1
- package/lib/about/ui/AboutPage.js +9 -1
- package/lib/about/ui/AboutPage.js.map +1 -1
- package/lib/about/ui/AboutProvidedBy.d.ts.map +1 -1
- package/lib/about/ui/AboutProvidedBy.js +8 -3
- package/lib/about/ui/AboutProvidedBy.js.map +1 -1
- package/lib/capsule/ui/Capsule.d.ts +30 -0
- package/lib/capsule/ui/Capsule.d.ts.map +1 -0
- package/lib/capsule/ui/Capsule.js +12 -0
- package/lib/capsule/ui/Capsule.js.map +1 -0
- package/lib/capsule/ui/CapsuleFilter.d.ts +19 -3
- package/lib/capsule/ui/CapsuleFilter.d.ts.map +1 -1
- package/lib/capsule/ui/CapsuleFilter.js +14 -44
- package/lib/capsule/ui/CapsuleFilter.js.map +1 -1
- package/lib/capsule/ui/capsuleFilterCapsules.d.ts +15 -0
- package/lib/capsule/ui/capsuleFilterCapsules.d.ts.map +1 -0
- package/lib/capsule/ui/capsuleFilterCapsules.js +47 -0
- package/lib/capsule/ui/capsuleFilterCapsules.js.map +1 -0
- package/lib/chart/ui/ChartTrackingLayer.d.ts.map +1 -1
- package/lib/chart/ui/ChartTrackingLayer.js +4 -2
- package/lib/chart/ui/ChartTrackingLayer.js.map +1 -1
- package/lib/chrome/ui/SiteHeader.d.ts +1 -1
- package/lib/chrome/ui/SiteHeader.d.ts.map +1 -1
- package/lib/chrome/ui/SiteHeader.js +4 -2
- package/lib/chrome/ui/SiteHeader.js.map +1 -1
- package/lib/citation/ui/CitationMenu.d.ts +1 -1
- package/lib/citation/ui/CitationMenu.d.ts.map +1 -1
- package/lib/citation/ui/CitationMenu.js +7 -3
- package/lib/citation/ui/CitationMenu.js.map +1 -1
- package/lib/citation/ui/CiteButton.d.ts +1 -1
- package/lib/citation/ui/CiteButton.d.ts.map +1 -1
- package/lib/citation/ui/CiteButton.js +3 -1
- package/lib/citation/ui/CiteButton.js.map +1 -1
- package/lib/citation/ui/CopyFormatEntries.d.ts.map +1 -1
- package/lib/citation/ui/CopyFormatEntries.js +3 -1
- package/lib/citation/ui/CopyFormatEntries.js.map +1 -1
- package/lib/citation/ui/WorkEntry.d.ts.map +1 -1
- package/lib/citation/ui/WorkEntry.js +3 -1
- package/lib/citation/ui/WorkEntry.js.map +1 -1
- package/lib/citation/ui/entries.d.ts.map +1 -1
- package/lib/citation/ui/entries.js +8 -2
- package/lib/citation/ui/entries.js.map +1 -1
- package/lib/citation/ui/useCopyFeedback.d.ts.map +1 -1
- package/lib/citation/ui/useCopyFeedback.js +9 -4
- package/lib/citation/ui/useCopyFeedback.js.map +1 -1
- package/lib/clipboard/ui/ClickToCopy.d.ts.map +1 -1
- package/lib/clipboard/ui/ClickToCopy.js +12 -6
- package/lib/clipboard/ui/ClickToCopy.js.map +1 -1
- package/lib/clipboard/ui/CopyButton.d.ts +3 -3
- package/lib/clipboard/ui/CopyButton.d.ts.map +1 -1
- package/lib/clipboard/ui/CopyButton.js +7 -4
- package/lib/clipboard/ui/CopyButton.js.map +1 -1
- package/lib/color/ui/ColorScaleEditor.d.ts.map +1 -1
- package/lib/color/ui/ColorScaleEditor.js +15 -10
- package/lib/color/ui/ColorScaleEditor.js.map +1 -1
- package/lib/color/ui/ColorScaleEntry.d.ts.map +1 -1
- package/lib/color/ui/ColorScaleEntry.js +4 -2
- package/lib/color/ui/ColorScaleEntry.js.map +1 -1
- package/lib/color/ui/ColorScaleLegend.d.ts.map +1 -1
- package/lib/color/ui/ColorScaleLegend.js +7 -1
- package/lib/color/ui/ColorScaleLegend.js.map +1 -1
- package/lib/color/ui/ColorScaleSelect.d.ts.map +1 -1
- package/lib/color/ui/ColorScaleSelect.js +8 -4
- package/lib/color/ui/ColorScaleSelect.js.map +1 -1
- package/lib/confirm/ui/ConfirmButton.d.ts +2 -2
- package/lib/confirm/ui/ConfirmButton.d.ts.map +1 -1
- package/lib/confirm/ui/ConfirmButton.js +4 -2
- package/lib/confirm/ui/ConfirmButton.js.map +1 -1
- package/lib/core.d.ts +1 -0
- package/lib/core.d.ts.map +1 -1
- package/lib/core.js +1 -0
- package/lib/core.js.map +1 -1
- package/lib/credits/ui/CreditsList.d.ts.map +1 -1
- package/lib/credits/ui/CreditsList.js +3 -1
- package/lib/credits/ui/CreditsList.js.map +1 -1
- package/lib/delimited/ui/DelimitedTextDialog.d.ts.map +1 -1
- package/lib/delimited/ui/DelimitedTextDialog.js +5 -2
- package/lib/delimited/ui/DelimitedTextDialog.js.map +1 -1
- package/lib/delimited/ui/DelimitedTextPanel.d.ts.map +1 -1
- package/lib/delimited/ui/DelimitedTextPanel.js +8 -8
- package/lib/delimited/ui/DelimitedTextPanel.js.map +1 -1
- package/lib/download/ui/FigureDownload.d.ts +2 -2
- package/lib/download/ui/FigureDownload.d.ts.map +1 -1
- package/lib/download/ui/FigureDownload.js +4 -2
- package/lib/download/ui/FigureDownload.js.map +1 -1
- package/lib/download/ui/FigureDownloadPanel.d.ts.map +1 -1
- package/lib/download/ui/FigureDownloadPanel.js +24 -18
- package/lib/download/ui/FigureDownloadPanel.js.map +1 -1
- package/lib/ecosystem/ui/EcosystemButton.d.ts +1 -1
- package/lib/ecosystem/ui/EcosystemButton.d.ts.map +1 -1
- package/lib/ecosystem/ui/EcosystemButton.js +4 -2
- package/lib/ecosystem/ui/EcosystemButton.js.map +1 -1
- package/lib/ecosystem/ui/EcosystemLinks.d.ts +1 -1
- package/lib/ecosystem/ui/EcosystemLinks.d.ts.map +1 -1
- package/lib/ecosystem/ui/EcosystemLinks.js +5 -2
- package/lib/ecosystem/ui/EcosystemLinks.js.map +1 -1
- package/lib/ecosystem/ui/EcosystemMenu.d.ts.map +1 -1
- package/lib/ecosystem/ui/EcosystemMenu.js +3 -1
- package/lib/ecosystem/ui/EcosystemMenu.js.map +1 -1
- package/lib/ecosystem/ui/SiteGroupSection.d.ts.map +1 -1
- package/lib/ecosystem/ui/SiteGroupSection.js +3 -1
- package/lib/ecosystem/ui/SiteGroupSection.js.map +1 -1
- package/lib/ecosystem/ui/SiteTile.d.ts.map +1 -1
- package/lib/ecosystem/ui/SiteTile.js +3 -1
- package/lib/ecosystem/ui/SiteTile.js.map +1 -1
- package/lib/error/ui/ErrorFallback.d.ts +2 -2
- package/lib/error/ui/ErrorFallback.d.ts.map +1 -1
- package/lib/error/ui/ErrorFallback.js +4 -2
- package/lib/error/ui/ErrorFallback.js.map +1 -1
- package/lib/help/ui/HelpBody.d.ts.map +1 -1
- package/lib/help/ui/HelpBody.js +3 -1
- package/lib/help/ui/HelpBody.js.map +1 -1
- package/lib/help/ui/HelpIcon.d.ts +2 -1
- package/lib/help/ui/HelpIcon.d.ts.map +1 -1
- package/lib/help/ui/HelpIcon.js +4 -2
- package/lib/help/ui/HelpIcon.js.map +1 -1
- package/lib/help/ui/HelpToolbarButton.d.ts.map +1 -1
- package/lib/help/ui/HelpToolbarButton.js +3 -1
- package/lib/help/ui/HelpToolbarButton.js.map +1 -1
- package/lib/help/ui/helpName.d.ts +5 -1
- package/lib/help/ui/helpName.d.ts.map +1 -1
- package/lib/help/ui/helpName.js +4 -2
- package/lib/help/ui/helpName.js.map +1 -1
- package/lib/i18n/core/chromeCatalog.d.ts +21 -0
- package/lib/i18n/core/chromeCatalog.d.ts.map +1 -0
- package/lib/i18n/core/chromeCatalog.js +29 -0
- package/lib/i18n/core/chromeCatalog.js.map +1 -0
- package/lib/i18n/core/index.d.ts +12 -0
- package/lib/i18n/core/index.d.ts.map +1 -0
- package/lib/i18n/core/index.js +6 -0
- package/lib/i18n/core/index.js.map +1 -0
- package/lib/i18n/core/languages.d.ts +32 -0
- package/lib/i18n/core/languages.d.ts.map +1 -0
- package/lib/i18n/core/languages.js +41 -0
- package/lib/i18n/core/languages.js.map +1 -0
- package/lib/i18n/core/messageCatalog.d.ts +113 -0
- package/lib/i18n/core/messageCatalog.d.ts.map +1 -0
- package/lib/i18n/core/messageCatalog.js +135 -0
- package/lib/i18n/core/messageCatalog.js.map +1 -0
- package/lib/i18n/core/messageValues.d.ts +3 -0
- package/lib/i18n/core/messageValues.d.ts.map +1 -0
- package/lib/i18n/core/messageValues.js +2 -0
- package/lib/i18n/core/messageValues.js.map +1 -0
- package/lib/i18n/core/session.d.ts +51 -0
- package/lib/i18n/core/session.d.ts.map +1 -0
- package/lib/i18n/core/session.js +64 -0
- package/lib/i18n/core/session.js.map +1 -0
- package/lib/i18n/core/translateSetup.d.ts +28 -0
- package/lib/i18n/core/translateSetup.d.ts.map +1 -0
- package/lib/i18n/core/translateSetup.js +30 -0
- package/lib/i18n/core/translateSetup.js.map +1 -0
- package/lib/i18n/ui/LanguageSelect.d.ts +37 -0
- package/lib/i18n/ui/LanguageSelect.d.ts.map +1 -0
- package/lib/i18n/ui/LanguageSelect.js +27 -0
- package/lib/i18n/ui/LanguageSelect.js.map +1 -0
- package/lib/i18n/ui/index.d.ts +6 -0
- package/lib/i18n/ui/index.d.ts.map +1 -0
- package/lib/i18n/ui/index.js +4 -0
- package/lib/i18n/ui/index.js.map +1 -0
- package/lib/i18n/ui/useLanguage.d.ts +23 -0
- package/lib/i18n/ui/useLanguage.d.ts.map +1 -0
- package/lib/i18n/ui/useLanguage.js +36 -0
- package/lib/i18n/ui/useLanguage.js.map +1 -0
- package/lib/i18n/ui/useT.d.ts +47 -0
- package/lib/i18n/ui/useT.d.ts.map +1 -0
- package/lib/i18n/ui/useT.js +51 -0
- package/lib/i18n/ui/useT.js.map +1 -0
- package/lib/locales/de.json +442 -0
- package/lib/locales/en.json +442 -0
- package/lib/locales/es.json +442 -0
- package/lib/locales/fr.json +442 -0
- package/lib/molecule3d/core/gestures.d.ts +10 -0
- package/lib/molecule3d/core/gestures.d.ts.map +1 -1
- package/lib/molecule3d/core/gestures.js +39 -7
- package/lib/molecule3d/core/gestures.js.map +1 -1
- package/lib/molecule3d/ui/Molecule3DExport.d.ts.map +1 -1
- package/lib/molecule3d/ui/Molecule3DExport.js +3 -1
- package/lib/molecule3d/ui/Molecule3DExport.js.map +1 -1
- package/lib/molecule3d/ui/Molecule3DHelp.d.ts.map +1 -1
- package/lib/molecule3d/ui/Molecule3DHelp.js +7 -2
- package/lib/molecule3d/ui/Molecule3DHelp.js.map +1 -1
- package/lib/molecule3d/ui/Molecule3DOptions.d.ts.map +1 -1
- package/lib/molecule3d/ui/Molecule3DOptions.js +9 -9
- package/lib/molecule3d/ui/Molecule3DOptions.js.map +1 -1
- package/lib/molecule3d/ui/Molecule3DSurfaceColors.d.ts.map +1 -1
- package/lib/molecule3d/ui/Molecule3DSurfaceColors.js +8 -8
- package/lib/molecule3d/ui/Molecule3DSurfaceColors.js.map +1 -1
- package/lib/molecule3d/ui/Molecule3DToolbar.d.ts.map +1 -1
- package/lib/molecule3d/ui/Molecule3DToolbar.js +15 -10
- package/lib/molecule3d/ui/Molecule3DToolbar.js.map +1 -1
- package/lib/molecule3d/ui/MoleculeViewer3D.d.ts.map +1 -1
- package/lib/molecule3d/ui/MoleculeViewer3D.js +6 -3
- package/lib/molecule3d/ui/MoleculeViewer3D.js.map +1 -1
- package/lib/orbital/ui/AtomicOrbitalCanvas.d.ts.map +1 -1
- package/lib/orbital/ui/AtomicOrbitalCanvas.js +3 -1
- package/lib/orbital/ui/AtomicOrbitalCanvas.js.map +1 -1
- package/lib/orbital/ui/AtomicOrbitalControls.d.ts.map +1 -1
- package/lib/orbital/ui/AtomicOrbitalControls.js +12 -15
- package/lib/orbital/ui/AtomicOrbitalControls.js.map +1 -1
- package/lib/orbital/ui/AtomicOrbitalViewer.d.ts.map +1 -1
- package/lib/orbital/ui/AtomicOrbitalViewer.js +6 -3
- package/lib/orbital/ui/AtomicOrbitalViewer.js.map +1 -1
- package/lib/orbital/ui/capability.d.ts +4 -0
- package/lib/orbital/ui/capability.d.ts.map +1 -1
- package/lib/orbital/ui/capability.js +4 -0
- package/lib/orbital/ui/capability.js.map +1 -1
- package/lib/overlay/ui/OverlayBar.d.ts +1 -1
- package/lib/overlay/ui/OverlayBar.d.ts.map +1 -1
- package/lib/overlay/ui/OverlayBar.js +6 -3
- package/lib/overlay/ui/OverlayBar.js.map +1 -1
- package/lib/overlay/ui/OverlayInfo.d.ts +1 -1
- package/lib/overlay/ui/OverlayInfo.d.ts.map +1 -1
- package/lib/overlay/ui/OverlayInfo.js +5 -2
- package/lib/overlay/ui/OverlayInfo.js.map +1 -1
- package/lib/overlay/ui/OverlayPanel.d.ts +9 -2
- package/lib/overlay/ui/OverlayPanel.d.ts.map +1 -1
- package/lib/overlay/ui/OverlayPanel.js +5 -11
- package/lib/overlay/ui/OverlayPanel.js.map +1 -1
- package/lib/overlay/ui/OverlayReadout.d.ts.map +1 -1
- package/lib/overlay/ui/OverlayReadout.js +3 -1
- package/lib/overlay/ui/OverlayReadout.js.map +1 -1
- package/lib/pedagogy/ui/ExerciseActions.d.ts +1 -1
- package/lib/pedagogy/ui/ExerciseActions.d.ts.map +1 -1
- package/lib/pedagogy/ui/ExerciseActions.js +9 -2
- package/lib/pedagogy/ui/ExerciseActions.js.map +1 -1
- package/lib/pedagogy/ui/ExerciseProgressHeader.d.ts +1 -1
- package/lib/pedagogy/ui/ExerciseProgressHeader.d.ts.map +1 -1
- package/lib/pedagogy/ui/ExerciseProgressHeader.js +9 -5
- package/lib/pedagogy/ui/ExerciseProgressHeader.js.map +1 -1
- package/lib/pedagogy/ui/GlossaryIndex.d.ts +1 -1
- package/lib/pedagogy/ui/GlossaryIndex.d.ts.map +1 -1
- package/lib/pedagogy/ui/GlossaryIndex.js +6 -8
- package/lib/pedagogy/ui/GlossaryIndex.js.map +1 -1
- package/lib/pedagogy/ui/HintLadder.d.ts +2 -2
- package/lib/pedagogy/ui/HintLadder.d.ts.map +1 -1
- package/lib/pedagogy/ui/HintLadder.js +8 -2
- package/lib/pedagogy/ui/HintLadder.js.map +1 -1
- package/lib/pedagogy/ui/SyntaxTooltip.d.ts +4 -4
- package/lib/pedagogy/ui/SyntaxTooltip.d.ts.map +1 -1
- package/lib/pedagogy/ui/SyntaxTooltip.js +4 -2
- package/lib/pedagogy/ui/SyntaxTooltip.js.map +1 -1
- package/lib/pedagogy/ui/TutorialStepStrip.d.ts.map +1 -1
- package/lib/pedagogy/ui/TutorialStepStrip.js +7 -2
- package/lib/pedagogy/ui/TutorialStepStrip.js.map +1 -1
- package/lib/periodic/ui/CategoryLegend.d.ts.map +1 -1
- package/lib/periodic/ui/CategoryLegend.js +3 -1
- package/lib/periodic/ui/CategoryLegend.js.map +1 -1
- package/lib/periodic/ui/ElementCell.d.ts.map +1 -1
- package/lib/periodic/ui/ElementCell.js +7 -1
- package/lib/periodic/ui/ElementCell.js.map +1 -1
- package/lib/periodic/ui/PeriodicTable.d.ts.map +1 -1
- package/lib/periodic/ui/PeriodicTable.js +3 -1
- package/lib/periodic/ui/PeriodicTable.js.map +1 -1
- package/lib/periodic/ui/PeriodicTableChrome.d.ts.map +1 -1
- package/lib/periodic/ui/PeriodicTableChrome.js +4 -2
- package/lib/periodic/ui/PeriodicTableChrome.js.map +1 -1
- package/lib/share/ui/ShareButton.d.ts +2 -2
- package/lib/share/ui/ShareButton.d.ts.map +1 -1
- package/lib/share/ui/ShareButton.js +5 -2
- package/lib/share/ui/ShareButton.js.map +1 -1
- package/lib/share/ui/ShareConfigOptions.d.ts.map +1 -1
- package/lib/share/ui/ShareConfigOptions.js +4 -2
- package/lib/share/ui/ShareConfigOptions.js.map +1 -1
- package/lib/share/ui/ShareDialog.d.ts.map +1 -1
- package/lib/share/ui/ShareDialog.js +3 -1
- package/lib/share/ui/ShareDialog.js.map +1 -1
- package/lib/share/ui/ShareDialogContent.d.ts.map +1 -1
- package/lib/share/ui/ShareDialogContent.js +10 -1
- package/lib/share/ui/ShareDialogContent.js.map +1 -1
- package/lib/share/ui/SharePresetTabs.d.ts.map +1 -1
- package/lib/share/ui/SharePresetTabs.js +3 -1
- package/lib/share/ui/SharePresetTabs.js.map +1 -1
- package/lib/slides/ui/BackToSlides.d.ts.map +1 -1
- package/lib/slides/ui/BackToSlides.js +4 -2
- package/lib/slides/ui/BackToSlides.js.map +1 -1
- package/lib/slides/ui/EmbedSlide.d.ts.map +1 -1
- package/lib/slides/ui/EmbedSlide.js +3 -1
- package/lib/slides/ui/EmbedSlide.js.map +1 -1
- package/lib/slides/ui/Slide.d.ts.map +1 -1
- package/lib/slides/ui/Slide.js +3 -1
- package/lib/slides/ui/Slide.js.map +1 -1
- package/lib/slides/ui/SlideshowBar.d.ts.map +1 -1
- package/lib/slides/ui/SlideshowBar.js +5 -3
- package/lib/slides/ui/SlideshowBar.js.map +1 -1
- package/lib/slides/ui/TalkList.d.ts +1 -1
- package/lib/slides/ui/TalkList.d.ts.map +1 -1
- package/lib/slides/ui/TalkList.js +4 -2
- package/lib/slides/ui/TalkList.js.map +1 -1
- package/lib/structure/core/editorGuide.d.ts +14 -0
- package/lib/structure/core/editorGuide.d.ts.map +1 -1
- package/lib/structure/core/editorGuide.js +117 -19
- package/lib/structure/core/editorGuide.js.map +1 -1
- package/lib/structure/core/editorToolbar.d.ts +3 -1
- package/lib/structure/core/editorToolbar.d.ts.map +1 -1
- package/lib/structure/core/editorToolbar.js +44 -23
- package/lib/structure/core/editorToolbar.js.map +1 -1
- package/lib/structure/ui/EditorHelpButton.d.ts.map +1 -1
- package/lib/structure/ui/EditorHelpButton.js +3 -2
- package/lib/structure/ui/EditorHelpButton.js.map +1 -1
- package/lib/structure/ui/StructureEditor.d.ts.map +1 -1
- package/lib/structure/ui/StructureEditor.js +3 -1
- package/lib/structure/ui/StructureEditor.js.map +1 -1
- package/lib/structure/ui/StructureEditorHelp.d.ts.map +1 -1
- package/lib/structure/ui/StructureEditorHelp.js +12 -3
- package/lib/structure/ui/StructureEditorHelp.js.map +1 -1
- package/lib/structure/ui/ToolbarTooltip.d.ts.map +1 -1
- package/lib/structure/ui/ToolbarTooltip.js +5 -3
- package/lib/structure/ui/ToolbarTooltip.js.map +1 -1
- package/lib/ui.d.ts +1 -0
- package/lib/ui.d.ts.map +1 -1
- package/lib/ui.js +1 -0
- package/lib/ui.js.map +1 -1
- package/package.json +4 -2
- package/src/about/ui/AboutBuild.tsx +23 -16
- package/src/about/ui/AboutCitations.tsx +3 -1
- package/src/about/ui/AboutPage.tsx +38 -12
- package/src/about/ui/AboutProvidedBy.tsx +13 -3
- package/src/capsule/ui/Capsule.tsx +48 -0
- package/src/capsule/ui/CapsuleFilter.tsx +38 -114
- package/src/capsule/ui/capsuleFilterCapsules.tsx +110 -0
- package/src/chart/ui/ChartTrackingLayer.tsx +4 -2
- package/src/chrome/ui/SiteHeader.tsx +5 -3
- package/src/citation/ui/CitationMenu.tsx +9 -5
- package/src/citation/ui/CiteButton.tsx +4 -2
- package/src/citation/ui/CopyFormatEntries.tsx +3 -1
- package/src/citation/ui/WorkEntry.tsx +5 -3
- package/src/citation/ui/entries.tsx +9 -2
- package/src/citation/ui/useCopyFeedback.ts +11 -4
- package/src/clipboard/ui/ClickToCopy.tsx +15 -5
- package/src/clipboard/ui/CopyButton.tsx +14 -10
- package/src/color/ui/ColorScaleEditor.tsx +17 -15
- package/src/color/ui/ColorScaleEntry.tsx +7 -3
- package/src/color/ui/ColorScaleLegend.tsx +7 -1
- package/src/color/ui/ColorScaleSelect.tsx +12 -6
- package/src/confirm/ui/ConfirmButton.tsx +9 -11
- package/src/core.ts +1 -0
- package/src/credits/ui/CreditsList.tsx +5 -1
- package/src/delimited/ui/DelimitedTextDialog.tsx +10 -10
- package/src/delimited/ui/DelimitedTextPanel.tsx +19 -12
- package/src/download/ui/FigureDownload.tsx +7 -5
- package/src/download/ui/FigureDownloadPanel.tsx +31 -25
- package/src/ecosystem/ui/EcosystemButton.tsx +5 -3
- package/src/ecosystem/ui/EcosystemLinks.tsx +10 -10
- package/src/ecosystem/ui/EcosystemMenu.tsx +3 -1
- package/src/ecosystem/ui/SiteGroupSection.tsx +6 -2
- package/src/ecosystem/ui/SiteTile.tsx +6 -2
- package/src/error/ui/ErrorFallback.tsx +13 -12
- package/src/help/ui/HelpBody.tsx +4 -2
- package/src/help/ui/HelpIcon.tsx +6 -3
- package/src/help/ui/HelpToolbarButton.tsx +4 -1
- package/src/help/ui/helpName.ts +10 -2
- package/src/i18n/core/chromeCatalog.ts +35 -0
- package/src/i18n/core/index.ts +26 -0
- package/src/i18n/core/languages.ts +46 -0
- package/src/i18n/core/messageCatalog.ts +202 -0
- package/src/i18n/core/messageValues.ts +2 -0
- package/src/i18n/core/session.ts +82 -0
- package/src/i18n/core/translateSetup.ts +47 -0
- package/src/i18n/ui/LanguageSelect.tsx +72 -0
- package/src/i18n/ui/index.ts +9 -0
- package/src/i18n/ui/useLanguage.ts +48 -0
- package/src/i18n/ui/useT.ts +90 -0
- package/src/locales/de.json +442 -0
- package/src/locales/en.json +442 -0
- package/src/locales/es.json +442 -0
- package/src/locales/fr.json +442 -0
- package/src/molecule3d/core/gestures.ts +44 -7
- package/src/molecule3d/ui/Molecule3DExport.tsx +3 -1
- package/src/molecule3d/ui/Molecule3DHelp.tsx +17 -6
- package/src/molecule3d/ui/Molecule3DOptions.tsx +13 -13
- package/src/molecule3d/ui/Molecule3DSurfaceColors.tsx +16 -13
- package/src/molecule3d/ui/Molecule3DToolbar.tsx +29 -18
- package/src/molecule3d/ui/MoleculeViewer3D.tsx +13 -8
- package/src/orbital/ui/AtomicOrbitalCanvas.tsx +3 -1
- package/src/orbital/ui/AtomicOrbitalControls.tsx +15 -20
- package/src/orbital/ui/AtomicOrbitalViewer.tsx +13 -13
- package/src/orbital/ui/capability.ts +10 -0
- package/src/overlay/ui/OverlayBar.tsx +7 -4
- package/src/overlay/ui/OverlayInfo.tsx +6 -3
- package/src/overlay/ui/OverlayPanel.tsx +10 -7
- package/src/overlay/ui/OverlayReadout.tsx +3 -1
- package/src/pedagogy/ui/ExerciseActions.tsx +16 -6
- package/src/pedagogy/ui/ExerciseProgressHeader.tsx +13 -11
- package/src/pedagogy/ui/GlossaryIndex.tsx +11 -12
- package/src/pedagogy/ui/HintLadder.tsx +15 -12
- package/src/pedagogy/ui/SyntaxTooltip.tsx +9 -7
- package/src/pedagogy/ui/TutorialStepStrip.tsx +8 -3
- package/src/periodic/ui/CategoryLegend.tsx +6 -1
- package/src/periodic/ui/ElementCell.tsx +7 -1
- package/src/periodic/ui/PeriodicTable.tsx +3 -1
- package/src/periodic/ui/PeriodicTableChrome.tsx +4 -2
- package/src/share/ui/ShareButton.tsx +8 -5
- package/src/share/ui/ShareConfigOptions.tsx +6 -7
- package/src/share/ui/ShareDialog.tsx +3 -1
- package/src/share/ui/ShareDialogContent.tsx +20 -10
- package/src/share/ui/SharePresetTabs.tsx +3 -1
- package/src/slides/ui/BackToSlides.tsx +4 -2
- package/src/slides/ui/EmbedSlide.tsx +3 -3
- package/src/slides/ui/Slide.tsx +3 -1
- package/src/slides/ui/SlideshowBar.tsx +12 -4
- package/src/slides/ui/TalkList.tsx +8 -10
- package/src/structure/core/editorGuide.ts +126 -19
- package/src/structure/core/editorToolbar.ts +52 -24
- package/src/structure/ui/EditorHelpButton.tsx +9 -4
- package/src/structure/ui/StructureEditor.tsx +7 -1
- package/src/structure/ui/StructureEditorHelp.tsx +34 -11
- package/src/structure/ui/ToolbarTooltip.tsx +8 -4
- package/src/ui.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Slide.js","sourceRoot":"","sources":["../../../src/slides/ui/Slide.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Slide.js","sourceRoot":"","sources":["../../../src/slides/ui/Slide.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlideshowBar.d.ts","sourceRoot":"","sources":["../../../src/slides/ui/SlideshowBar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"SlideshowBar.d.ts","sourceRoot":"","sources":["../../../src/slides/ui/SlideshowBar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAI1C,qEAAqE;AACrE,MAAM,WAAW,iBAAiB;IAChC,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,YAAY,EAAE,OAAO,CAAC;IACtB,qCAAqC;IACrC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,2CAA2C;IAC3C,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,YAAY,CAsDnE"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Button } from '@blueprintjs/core';
|
|
3
|
+
import { useChromeT } from "../../i18n/ui/useT.js";
|
|
3
4
|
/**
|
|
4
5
|
* The bar under the stage: the way out, the talk's name, and where in it the
|
|
5
6
|
* presenter stands.
|
|
@@ -11,10 +12,11 @@ import { Button } from '@blueprintjs/core';
|
|
|
11
12
|
*/
|
|
12
13
|
export function SlideshowBar(props) {
|
|
13
14
|
const { title, index, total, isFullscreen, onIndexChange, onToggleFullscreen, onExit, } = props;
|
|
14
|
-
|
|
15
|
+
const t = useChromeT();
|
|
16
|
+
return (_jsxs("div", { className: "slideshow-bar no-print", children: [onExit === undefined ? null : (_jsx(Button, { variant: "minimal", icon: "cross", text: t('slides.exit'), onClick: onExit })), _jsx("div", { className: "slideshow-title", children: title }), _jsxs("div", { className: "slideshow-controls", children: [_jsx(Button, { variant: "minimal", icon: "chevron-left", "aria-label": t('slides.previousSlide'), disabled: index === 0, onClick: () => {
|
|
15
17
|
onIndexChange(index - 1);
|
|
16
|
-
} }), _jsx("span", { className: "slideshow-counter", children: `${total === 0 ? 0 : index + 1} / ${total}` }), _jsx(Button, { variant: "minimal", icon: "chevron-right", "aria-label":
|
|
18
|
+
} }), _jsx("span", { className: "slideshow-counter", children: `${total === 0 ? 0 : index + 1} / ${total}` }), _jsx(Button, { variant: "minimal", icon: "chevron-right", "aria-label": t('slides.nextSlide'), disabled: index >= total - 1, onClick: () => {
|
|
17
19
|
onIndexChange(index + 1);
|
|
18
|
-
} }), _jsx(Button, { variant: "minimal", icon: isFullscreen ? 'minimize' : 'fullscreen', "aria-label":
|
|
20
|
+
} }), _jsx(Button, { variant: "minimal", icon: isFullscreen ? 'minimize' : 'fullscreen', "aria-label": t('slides.toggleFullscreen'), onClick: onToggleFullscreen })] })] }));
|
|
19
21
|
}
|
|
20
22
|
//# sourceMappingURL=SlideshowBar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlideshowBar.js","sourceRoot":"","sources":["../../../src/slides/ui/SlideshowBar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"SlideshowBar.js","sourceRoot":"","sources":["../../../src/slides/ui/SlideshowBar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAwBnD;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,KAAwB;IACnD,MAAM,EACJ,KAAK,EACL,KAAK,EACL,KAAK,EACL,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,MAAM,GACP,GAAG,KAAK,CAAC;IACV,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;IAEvB,OAAO,CACL,eAAK,SAAS,EAAC,wBAAwB,aACpC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC7B,KAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,OAAO,EACZ,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,EACtB,OAAO,EAAE,MAAM,GACf,CACH,EACD,cAAK,SAAS,EAAC,iBAAiB,YAAE,KAAK,GAAO,EAC9C,eAAK,SAAS,EAAC,oBAAoB,aACjC,KAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,cAAc,gBACP,CAAC,CAAC,sBAAsB,CAAC,EACrC,QAAQ,EAAE,KAAK,KAAK,CAAC,EACrB,OAAO,EAAE,GAAG,EAAE;4BACZ,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;wBAC3B,CAAC,GACD,EACF,eAAM,SAAS,EAAC,mBAAmB,YAChC,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,MAAM,KAAK,EAAE,GACvC,EACP,KAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,eAAe,gBACR,CAAC,CAAC,kBAAkB,CAAC,EACjC,QAAQ,EAAE,KAAK,IAAI,KAAK,GAAG,CAAC,EAC5B,OAAO,EAAE,GAAG,EAAE;4BACZ,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;wBAC3B,CAAC,GACD,EACF,KAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,gBAClC,CAAC,CAAC,yBAAyB,CAAC,EACxC,OAAO,EAAE,kBAAkB,GAC3B,IACE,IACF,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -20,7 +20,7 @@ export interface TalkListProps {
|
|
|
20
20
|
/**
|
|
21
21
|
* What an empty list says. A list that draws nothing at all reads as a
|
|
22
22
|
* broken page rather than as a site that has published no deck yet.
|
|
23
|
-
* @default '
|
|
23
|
+
* @default the chrome's own line, in the language of the page
|
|
24
24
|
*/
|
|
25
25
|
emptyNote?: string;
|
|
26
26
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TalkList.d.ts","sourceRoot":"","sources":["../../../src/slides/ui/TalkList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"TalkList.d.ts","sourceRoot":"","sources":["../../../src/slides/ui/TalkList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAM1C,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAElE,qDAAqD;AACrD,MAAM,WAAW,aAAa;IAC5B,wCAAwC;IACxC,SAAS,EAAE,SAAS,YAAY,EAAE,CAAC;IACnC,oCAAoC;IACpC,MAAM,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IAC5D;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,KAAK,MAAM,CAAC;IACnE;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACpC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,YAAY,CAiD3D"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { isModifiedClick } from "../../chrome/ui/navItem.js";
|
|
3
3
|
import { pluralize } from "../../format/core/index.js";
|
|
4
|
+
import { useChromeT } from "../../i18n/ui/useT.js";
|
|
4
5
|
import { joinClassNames } from "../../shared/ui/joinClassNames.js";
|
|
5
6
|
/**
|
|
6
7
|
* The talks on offer: a site's own, or the whole family's.
|
|
@@ -12,11 +13,12 @@ import { joinClassNames } from "../../shared/ui/joinClassNames.js";
|
|
|
12
13
|
* @returns The listing.
|
|
13
14
|
*/
|
|
14
15
|
export function TalkList(props) {
|
|
15
|
-
const { className, manifests, onOpen, renderHref, siteName, emptyNote
|
|
16
|
+
const { className, manifests, onOpen, renderHref, siteName, emptyNote } = props;
|
|
17
|
+
const t = useChromeT();
|
|
16
18
|
const groups = groupBySite(manifests);
|
|
17
19
|
const showSite = groups.length > 1;
|
|
18
20
|
if (groups.length === 0) {
|
|
19
|
-
return _jsx("p", { className: "talk-list-empty", children: emptyNote });
|
|
21
|
+
return (_jsx("p", { className: "talk-list-empty", children: emptyNote ?? t('slides.noTalkYet') }));
|
|
20
22
|
}
|
|
21
23
|
return (_jsx("div", { className: joinClassNames('talk-list', className), children: groups.map((group) => (_jsxs("section", { className: "talk-list-group", children: [showSite ? (_jsx("h2", { className: "talk-list-site", children: siteName === undefined ? group.site : siteName(group.site) })) : null, _jsx("div", { className: "talk-grid", children: group.entries.map(({ manifest, talk }) => (_jsxs("a", { className: "talk-card", href: renderHref?.(manifest, talk), onClick: (event) => {
|
|
22
24
|
if (isModifiedClick(event))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TalkList.js","sourceRoot":"","sources":["../../../src/slides/ui/TalkList.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAiCnE;;;;;;;;GAQG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAoB;IAC3C,MAAM,
|
|
1
|
+
{"version":3,"file":"TalkList.js","sourceRoot":"","sources":["../../../src/slides/ui/TalkList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -11,8 +11,11 @@ export interface EditorGuideKey {
|
|
|
11
11
|
export type EditorGuideScope = 'fragment' | 'molecule' | 'reaction';
|
|
12
12
|
/** One gesture and what it does. */
|
|
13
13
|
export interface EditorGesture {
|
|
14
|
+
/** How the guide's catalog names it, unique within its section. */
|
|
15
|
+
id: string;
|
|
14
16
|
/** Keys, and plain text for the mouse part; unique within one gesture. */
|
|
15
17
|
input: ReadonlyArray<string | EditorGuideKey>;
|
|
18
|
+
/** What it does, in English; the catalog answers for the other languages. */
|
|
16
19
|
action: string;
|
|
17
20
|
/**
|
|
18
21
|
* The only editor the gesture works in.
|
|
@@ -22,6 +25,8 @@ export interface EditorGesture {
|
|
|
22
25
|
}
|
|
23
26
|
/** Gestures that share a context, such as the pointer resting on an atom. */
|
|
24
27
|
export interface EditorGuideSection {
|
|
28
|
+
/** How the guide's catalog names the section. */
|
|
29
|
+
id: string;
|
|
25
30
|
title: string;
|
|
26
31
|
gestures: readonly EditorGesture[];
|
|
27
32
|
/**
|
|
@@ -32,6 +37,8 @@ export interface EditorGuideSection {
|
|
|
32
37
|
}
|
|
33
38
|
/** A page of the full documentation. */
|
|
34
39
|
export interface EditorGuideLink {
|
|
40
|
+
/** How the guide's catalog names the page. */
|
|
41
|
+
id: string;
|
|
35
42
|
title: string;
|
|
36
43
|
url: string;
|
|
37
44
|
}
|
|
@@ -59,6 +66,13 @@ export interface EditorGuideOptions {
|
|
|
59
66
|
* @returns The sections to show.
|
|
60
67
|
*/
|
|
61
68
|
export declare function editorGuideSections(options?: EditorGuideOptions): EditorGuideSection[];
|
|
69
|
+
/**
|
|
70
|
+
* How the catalog names one of the words a gesture writes between its key
|
|
71
|
+
* caps.
|
|
72
|
+
* @param text - The word, in English.
|
|
73
|
+
* @returns Its id, or `undefined` for punctuation nobody translates.
|
|
74
|
+
*/
|
|
75
|
+
export declare function editorInputWordId(text: string): string | undefined;
|
|
62
76
|
/**
|
|
63
77
|
* The text of a key cap.
|
|
64
78
|
* @param key - The key, `Mod` standing for the platform's shortcut modifier.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editorGuide.d.ts","sourceRoot":"","sources":["../../../src/structure/core/editorGuide.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,yEAAyE;AACzE,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;CACb;AAED,0CAA0C;AAC1C,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;AAEpE,oCAAoC;AACpC,MAAM,WAAW,aAAa;IAC5B,0EAA0E;IAC1E,KAAK,EAAE,aAAa,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,IAAI,CAAC,EAAE,gBAAgB,CAAC;CACzB;AAED,6EAA6E;AAC7E,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IACnC;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wCAAwC;AACxC,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,uDAAuD;AACvD,eAAO,MAAM,sBAAsB,EAAE,SAAS,kBAAkB,
|
|
1
|
+
{"version":3,"file":"editorGuide.d.ts","sourceRoot":"","sources":["../../../src/structure/core/editorGuide.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,yEAAyE;AACzE,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;CACb;AAED,0CAA0C;AAC1C,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;AAEpE,oCAAoC;AACpC,MAAM,WAAW,aAAa;IAC5B,mEAAmE;IACnE,EAAE,EAAE,MAAM,CAAC;IACX,0EAA0E;IAC1E,KAAK,EAAE,aAAa,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC;IAC9C,6EAA6E;IAC7E,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,IAAI,CAAC,EAAE,gBAAgB,CAAC;CACzB;AAED,6EAA6E;AAC7E,MAAM,WAAW,kBAAkB;IACjC,iDAAiD;IACjD,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IACnC;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wCAAwC;AACxC,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,uDAAuD;AACvD,eAAO,MAAM,sBAAsB,EAAE,SAAS,kBAAkB,EAmL/D,CAAC;AAEF,+CAA+C;AAC/C,eAAO,MAAM,qBAAqB,EAAE,SAAS,eAAe,EAgB3D,CAAC;AAEF,yCAAyC;AACzC,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,GAAE,kBAAuB,GAC/B,kBAAkB,EAAE,CAWtB;AAwBD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAElE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAGlE"}
|
|
@@ -6,99 +6,170 @@
|
|
|
6
6
|
/** The sections, in the order the guide lists them. */
|
|
7
7
|
export const STRUCTURE_EDITOR_GUIDE = [
|
|
8
8
|
{
|
|
9
|
+
id: 'atom',
|
|
9
10
|
title: 'Pointer on an atom',
|
|
10
11
|
gestures: [
|
|
11
|
-
{ input: ['Type', { key: 'n' }, { key: 'a' }], action: 'Make it Na' },
|
|
12
12
|
{
|
|
13
|
+
id: 'element',
|
|
14
|
+
input: ['Type', { key: 'n' }, { key: 'a' }],
|
|
15
|
+
action: 'Make it Na',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
id: 'group',
|
|
13
19
|
input: ['Type', { key: 'p' }, { key: 'h' }],
|
|
14
20
|
action: 'Attach a phenyl; Me, Et, Boc, TMS… work too',
|
|
15
21
|
},
|
|
16
22
|
{
|
|
23
|
+
id: 'applyOrForget',
|
|
17
24
|
input: [{ key: 'Enter' }, 'or', { key: 'Esc' }],
|
|
18
25
|
action: 'Apply or forget what was typed',
|
|
19
26
|
},
|
|
20
27
|
{
|
|
28
|
+
id: 'chain',
|
|
21
29
|
input: [{ key: '1' }, '…', { key: '9' }],
|
|
22
30
|
action: 'Attach a chain of that many carbons',
|
|
23
31
|
},
|
|
24
32
|
{
|
|
33
|
+
id: 'charge',
|
|
25
34
|
input: [{ key: '+' }, 'or', { key: '-' }],
|
|
26
35
|
action: 'Raise or lower the charge',
|
|
27
36
|
},
|
|
28
|
-
{ input: [{ key: '.' }], action: 'Add or remove a radical' },
|
|
29
|
-
{ input: [{ key: ':' }], action: 'Make it a triplet, then a singlet' },
|
|
30
|
-
{ input: [{ key: '?' }], action: 'Make it a connection point' },
|
|
31
37
|
{
|
|
38
|
+
id: 'radical',
|
|
39
|
+
input: [{ key: '.' }],
|
|
40
|
+
action: 'Add or remove a radical',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
id: 'spin',
|
|
44
|
+
input: [{ key: ':' }],
|
|
45
|
+
action: 'Make it a triplet, then a singlet',
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
id: 'attachment',
|
|
49
|
+
input: [{ key: '?' }],
|
|
50
|
+
action: 'Make it a connection point',
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
id: 'query',
|
|
32
54
|
input: [{ key: 'q' }],
|
|
33
55
|
action: 'Edit its query features',
|
|
34
56
|
only: 'fragment',
|
|
35
57
|
},
|
|
36
|
-
{
|
|
37
|
-
|
|
58
|
+
{
|
|
59
|
+
id: 'halogen',
|
|
60
|
+
input: [{ key: 'x' }],
|
|
61
|
+
action: 'Accept any halogen',
|
|
62
|
+
only: 'fragment',
|
|
63
|
+
},
|
|
64
|
+
{ id: 'delete', input: [{ key: 'Delete' }], action: 'Delete it' },
|
|
38
65
|
],
|
|
39
66
|
note: 'What is typed shows black for an element, blue for a group, grey while incomplete and red when unknown.',
|
|
40
67
|
},
|
|
41
68
|
{
|
|
69
|
+
id: 'bond',
|
|
42
70
|
title: 'Pointer on a bond',
|
|
43
71
|
gestures: [
|
|
44
72
|
{
|
|
73
|
+
id: 'order',
|
|
45
74
|
input: [{ key: '1' }, { key: '2' }, { key: '3' }],
|
|
46
75
|
action: 'Single, double or triple',
|
|
47
76
|
},
|
|
48
|
-
{ input: [{ key: '0' }], action: 'Zero-order (metal–ligand) bond' },
|
|
49
77
|
{
|
|
78
|
+
id: 'zeroOrder',
|
|
79
|
+
input: [{ key: '0' }],
|
|
80
|
+
action: 'Zero-order (metal–ligand) bond',
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
id: 'stereo',
|
|
50
84
|
input: [{ key: 'u' }, 'or', { key: 'd' }],
|
|
51
85
|
action: 'Up or down stereo bond',
|
|
52
86
|
},
|
|
53
|
-
{ input: [{ key: 'c' }], action: 'Double bond of unknown geometry' },
|
|
54
|
-
{ input: [{ key: 'v' }], action: 'Fuse a 3-membered ring' },
|
|
55
87
|
{
|
|
88
|
+
id: 'unknownGeometry',
|
|
89
|
+
input: [{ key: 'c' }],
|
|
90
|
+
action: 'Double bond of unknown geometry',
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
id: 'threeRing',
|
|
94
|
+
input: [{ key: 'v' }],
|
|
95
|
+
action: 'Fuse a 3-membered ring',
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
id: 'ring',
|
|
56
99
|
input: [{ key: '4' }, '…', { key: '7' }],
|
|
57
100
|
action: 'Fuse a ring of that size',
|
|
58
101
|
},
|
|
59
102
|
{
|
|
103
|
+
id: 'benzene',
|
|
60
104
|
input: [{ key: 'a' }, 'or', { key: 'b' }],
|
|
61
105
|
action: 'Fuse a benzene ring',
|
|
62
106
|
},
|
|
63
107
|
{
|
|
108
|
+
id: 'query',
|
|
64
109
|
input: [{ key: 'q' }],
|
|
65
110
|
action: 'Edit its query features',
|
|
66
111
|
only: 'fragment',
|
|
67
112
|
},
|
|
68
|
-
{ input: [{ key: 'Delete' }], action: 'Delete it' },
|
|
113
|
+
{ id: 'delete', input: [{ key: 'Delete' }], action: 'Delete it' },
|
|
69
114
|
],
|
|
70
115
|
},
|
|
71
116
|
{
|
|
117
|
+
id: 'anywhere',
|
|
72
118
|
title: 'Anywhere',
|
|
73
119
|
gestures: [
|
|
74
|
-
{ input: [{ key: 'Mod' }, { key: 'Z' }], action: 'Undo' },
|
|
75
|
-
{
|
|
120
|
+
{ id: 'undo', input: [{ key: 'Mod' }, { key: 'Z' }], action: 'Undo' },
|
|
121
|
+
{
|
|
122
|
+
id: 'copy',
|
|
123
|
+
input: [{ key: 'Mod' }, { key: 'C' }],
|
|
124
|
+
action: 'Copy the structure',
|
|
125
|
+
},
|
|
76
126
|
{
|
|
127
|
+
id: 'paste',
|
|
77
128
|
input: [{ key: 'Mod' }, { key: 'V' }],
|
|
78
129
|
action: 'Paste a molfile, a SMILES or an idCode',
|
|
79
130
|
},
|
|
80
|
-
{ input: [{ key: 'Delete' }], action: 'Delete the selection' },
|
|
81
131
|
{
|
|
132
|
+
id: 'deleteSelection',
|
|
133
|
+
input: [{ key: 'Delete' }],
|
|
134
|
+
action: 'Delete the selection',
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
id: 'flip',
|
|
82
138
|
input: [{ key: 'h' }, 'or', { key: 'v' }],
|
|
83
139
|
action: 'Flip horizontally or vertically',
|
|
84
140
|
only: 'molecule',
|
|
85
141
|
},
|
|
86
|
-
{ input: [{ key: 'F1' }], action: 'Open this guide' },
|
|
142
|
+
{ id: 'help', input: [{ key: 'F1' }], action: 'Open this guide' },
|
|
87
143
|
],
|
|
88
144
|
note: 'Keys act once the drawing has been clicked. On empty canvas, a key picks the tool whose tooltip shows it.',
|
|
89
145
|
},
|
|
90
146
|
{
|
|
147
|
+
id: 'selecting',
|
|
91
148
|
title: 'Selecting',
|
|
92
149
|
gestures: [
|
|
93
|
-
{ input: ['Drag'], action: 'Select what the lasso encloses' },
|
|
94
|
-
{ input: [{ key: 'Alt' }, '+ drag'], action: 'Select a rectangle' },
|
|
95
|
-
{ input: [{ key: 'Shift' }, '+ drag'], action: 'Add to the selection' },
|
|
96
|
-
{ input: ['Drag the selection'], action: 'Move it' },
|
|
97
150
|
{
|
|
151
|
+
id: 'lasso',
|
|
152
|
+
input: ['Drag'],
|
|
153
|
+
action: 'Select what the lasso encloses',
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
id: 'rectangle',
|
|
157
|
+
input: [{ key: 'Alt' }, '+ drag'],
|
|
158
|
+
action: 'Select a rectangle',
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
id: 'add',
|
|
162
|
+
input: [{ key: 'Shift' }, '+ drag'],
|
|
163
|
+
action: 'Add to the selection',
|
|
164
|
+
},
|
|
165
|
+
{ id: 'move', input: ['Drag the selection'], action: 'Move it' },
|
|
166
|
+
{
|
|
167
|
+
id: 'duplicate',
|
|
98
168
|
input: [{ key: 'Shift' }, '+ drag the selection'],
|
|
99
169
|
action: 'Copy it',
|
|
100
170
|
},
|
|
101
171
|
{
|
|
172
|
+
id: 'queryFeatures',
|
|
102
173
|
input: ['Double-click'],
|
|
103
174
|
action: 'Edit the query features of an atom, a bond or the selection',
|
|
104
175
|
only: 'fragment',
|
|
@@ -107,6 +178,7 @@ export const STRUCTURE_EDITOR_GUIDE = [
|
|
|
107
178
|
note: 'These need the Select tool, which Space picks.',
|
|
108
179
|
},
|
|
109
180
|
{
|
|
181
|
+
id: 'stereochemistry',
|
|
110
182
|
title: 'Stereochemistry',
|
|
111
183
|
gestures: [],
|
|
112
184
|
note: 'Pink bonds flag a stereocentre with too little or too much information. Draw an up or down bond with its narrow end on the centre, then use the enhanced stereo tool to say whether the drawing is this enantiomer (abs), both of them (&) or one of the two (or).',
|
|
@@ -114,12 +186,18 @@ export const STRUCTURE_EDITOR_GUIDE = [
|
|
|
114
186
|
];
|
|
115
187
|
/** The documentation this guide summarises. */
|
|
116
188
|
export const STRUCTURE_EDITOR_DOCS = [
|
|
117
|
-
{ title: 'Tools and keys', url: 'https://docs.nmrium.org/help/ocl/' },
|
|
118
189
|
{
|
|
190
|
+
id: 'toolsAndKeys',
|
|
191
|
+
title: 'Tools and keys',
|
|
192
|
+
url: 'https://docs.nmrium.org/help/ocl/',
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
id: 'atomProperties',
|
|
119
196
|
title: 'Atom properties',
|
|
120
197
|
url: 'https://docs.nmrium.org/chemical_structure/ocl/atom-properties/',
|
|
121
198
|
},
|
|
122
199
|
{
|
|
200
|
+
id: 'stereochemistry',
|
|
123
201
|
title: 'Stereochemistry',
|
|
124
202
|
url: 'https://docs.nmrium.org/ocl/stereochemistry/',
|
|
125
203
|
},
|
|
@@ -148,6 +226,26 @@ function appliesTo(only, mode, fragment) {
|
|
|
148
226
|
return fragment;
|
|
149
227
|
return only === mode;
|
|
150
228
|
}
|
|
229
|
+
// The words a gesture writes between its key caps. They are keyed here rather
|
|
230
|
+
// than slugged from the text, because `Drag` and `+ drag` would slug alike.
|
|
231
|
+
const INPUT_WORD_IDS = {
|
|
232
|
+
Type: 'type',
|
|
233
|
+
or: 'or',
|
|
234
|
+
Drag: 'drag',
|
|
235
|
+
'+ drag': 'plusDrag',
|
|
236
|
+
'Drag the selection': 'dragSelection',
|
|
237
|
+
'+ drag the selection': 'plusDragSelection',
|
|
238
|
+
'Double-click': 'doubleClick',
|
|
239
|
+
};
|
|
240
|
+
/**
|
|
241
|
+
* How the catalog names one of the words a gesture writes between its key
|
|
242
|
+
* caps.
|
|
243
|
+
* @param text - The word, in English.
|
|
244
|
+
* @returns Its id, or `undefined` for punctuation nobody translates.
|
|
245
|
+
*/
|
|
246
|
+
export function editorInputWordId(text) {
|
|
247
|
+
return INPUT_WORD_IDS[text];
|
|
248
|
+
}
|
|
151
249
|
/**
|
|
152
250
|
* The text of a key cap.
|
|
153
251
|
* @param key - The key, `Mod` standing for the platform's shortcut modifier.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editorGuide.js","sourceRoot":"","sources":["../../../src/structure/core/editorGuide.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"editorGuide.js","sourceRoot":"","sources":["../../../src/structure/core/editorGuide.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,9 @@
|
|
|
14
14
|
export type EditorToolbarAvailability = 'always' | 'reaction' | 'never';
|
|
15
15
|
/** One button of the toolbar. */
|
|
16
16
|
export interface EditorToolbarButton {
|
|
17
|
-
/**
|
|
17
|
+
/** How the toolbar's catalog names the button. */
|
|
18
|
+
id: string;
|
|
19
|
+
/** What the button is called, in English. */
|
|
18
20
|
name: string;
|
|
19
21
|
/** What it does, in a sentence or two. */
|
|
20
22
|
description: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editorToolbar.d.ts","sourceRoot":"","sources":["../../../src/structure/core/editorToolbar.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;GAIG;AACH,MAAM,MAAM,yBAAyB,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;AAExE,iCAAiC;AACjC,MAAM,WAAW,mBAAmB;IAClC,
|
|
1
|
+
{"version":3,"file":"editorToolbar.d.ts","sourceRoot":"","sources":["../../../src/structure/core/editorToolbar.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;GAIG;AACH,MAAM,MAAM,yBAAyB,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;AAExE,iCAAiC;AACjC,MAAM,WAAW,mBAAmB;IAClC,kDAAkD;IAClD,EAAE,EAAE,MAAM,CAAC;IACX,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB;;;OAGG;IACH,YAAY,CAAC,EAAE,yBAAyB,CAAC;CAC1C;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAAS,mBAAmB,EA4HhE,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,mBAAmB,EAC3B,IAAI,EAAE,UAAU,GAAG,UAAU,GAC5B,OAAO,CAIT"}
|
|
@@ -11,94 +11,114 @@
|
|
|
11
11
|
* then down the second.
|
|
12
12
|
*/
|
|
13
13
|
export const EDITOR_TOOLBAR_BUTTONS = [
|
|
14
|
-
{ name: 'Clear', description: 'Erase the whole drawing.' },
|
|
14
|
+
{ id: 'clear', name: 'Clear', description: 'Erase the whole drawing.' },
|
|
15
15
|
{
|
|
16
|
+
id: 'cleanUp',
|
|
16
17
|
name: 'Clean up',
|
|
17
18
|
description: 'Redraw the structure with fresh 2D coordinates. With part of it selected, the rest keeps its layout.',
|
|
18
19
|
},
|
|
19
20
|
{
|
|
21
|
+
id: 'select',
|
|
20
22
|
name: 'Select',
|
|
21
23
|
description: 'Drag around atoms to select them: hold Alt for a rectangle, Shift to add to the selection. Drag a selection to move it, Shift-drag to copy it.',
|
|
22
24
|
keys: ['Space'],
|
|
23
25
|
},
|
|
24
26
|
{
|
|
27
|
+
id: 'unknownConfiguration',
|
|
25
28
|
name: 'Unknown configuration',
|
|
26
29
|
description: 'Click a stereocentre to mark its configuration as unknown; click again to undo it.',
|
|
27
30
|
},
|
|
28
31
|
{
|
|
32
|
+
id: 'delete',
|
|
29
33
|
name: 'Delete',
|
|
30
34
|
description: 'Click an atom or a bond to delete it.',
|
|
31
35
|
keys: ['0'],
|
|
32
36
|
},
|
|
33
37
|
{
|
|
38
|
+
id: 'singleBond',
|
|
34
39
|
name: 'Single bond',
|
|
35
40
|
description: 'Click empty space for a new bond, or drag from an atom. Clicking a bond again makes it double, then triple.',
|
|
36
41
|
keys: ['1'],
|
|
37
42
|
},
|
|
38
43
|
{
|
|
44
|
+
id: 'upBond',
|
|
39
45
|
name: 'Up bond',
|
|
40
46
|
description: 'Wedged stereo bond, pointing toward the viewer. Its narrow end goes on the stereocentre.',
|
|
41
47
|
keys: ['u'],
|
|
42
48
|
},
|
|
43
|
-
ring('3-membered ring', '3'),
|
|
44
|
-
ring('5-membered ring', '5'),
|
|
45
|
-
ring('7-membered ring', '7'),
|
|
49
|
+
ring('ring3', '3-membered ring', '3'),
|
|
50
|
+
ring('ring5', '5-membered ring', '5'),
|
|
51
|
+
ring('ring7', '7-membered ring', '7'),
|
|
46
52
|
{
|
|
53
|
+
id: 'positiveCharge',
|
|
47
54
|
name: 'Positive charge',
|
|
48
55
|
description: 'Click an atom to raise its charge by one.',
|
|
49
56
|
keys: ['+'],
|
|
50
57
|
},
|
|
51
|
-
atom('Carbon', 'C', 'c'),
|
|
52
|
-
atom('Nitrogen', 'N', 'n'),
|
|
53
|
-
atom('Oxygen', 'O', 'o'),
|
|
54
|
-
atom('Fluorine', 'F', 'f'),
|
|
55
|
-
atom('Bromine', 'Br', 'b'),
|
|
56
|
-
atom('Hydrogen', 'H'),
|
|
57
|
-
{ name: 'Undo', description: 'Revert the last change.', keys: ['Mod', 'Z'] },
|
|
58
|
+
atom('carbon', 'Carbon', 'C', 'c'),
|
|
59
|
+
atom('nitrogen', 'Nitrogen', 'N', 'n'),
|
|
60
|
+
atom('oxygen', 'Oxygen', 'O', 'o'),
|
|
61
|
+
atom('fluorine', 'Fluorine', 'F', 'f'),
|
|
62
|
+
atom('bromine', 'Bromine', 'Br', 'b'),
|
|
63
|
+
atom('hydrogen', 'Hydrogen', 'H'),
|
|
58
64
|
{
|
|
65
|
+
id: 'undo',
|
|
66
|
+
name: 'Undo',
|
|
67
|
+
description: 'Revert the last change.',
|
|
68
|
+
keys: ['Mod', 'Z'],
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
id: 'zoomAndRotate',
|
|
59
72
|
name: 'Zoom and rotate',
|
|
60
73
|
description: 'Press where the centre should be, then drag up or down to zoom and sideways to rotate. With a selection, only that part moves.',
|
|
61
74
|
keys: ['z'],
|
|
62
75
|
},
|
|
63
76
|
{
|
|
77
|
+
id: 'atomMapping',
|
|
64
78
|
name: 'Atom mapping',
|
|
65
79
|
description: 'Drag from a reactant atom to the same atom in a product: both get the same number. Click a mapped atom to unmap it.',
|
|
66
80
|
keys: ['m'],
|
|
67
81
|
availability: 'reaction',
|
|
68
82
|
},
|
|
69
83
|
{
|
|
84
|
+
id: 'enhancedStereo',
|
|
70
85
|
name: 'Enhanced stereo',
|
|
71
86
|
description: 'Click a stereo bond to say what its centre means: abs, this enantiomer; &, both (racemic); or, one of the two. Press the button again to switch between the three.',
|
|
72
87
|
},
|
|
73
88
|
{
|
|
89
|
+
id: 'text',
|
|
74
90
|
name: 'Text',
|
|
75
91
|
description: 'Place a text label in the drawing.',
|
|
76
92
|
availability: 'never',
|
|
77
93
|
},
|
|
78
94
|
{
|
|
95
|
+
id: 'chain',
|
|
79
96
|
name: 'Chain',
|
|
80
97
|
description: 'Drag from empty space or from an atom to draw a zigzag carbon chain.',
|
|
81
98
|
keys: ['2'],
|
|
82
99
|
},
|
|
83
100
|
{
|
|
101
|
+
id: 'downBond',
|
|
84
102
|
name: 'Down bond',
|
|
85
103
|
description: 'Hashed stereo bond, pointing away from the viewer. Its narrow end goes on the stereocentre.',
|
|
86
104
|
keys: ['d'],
|
|
87
105
|
},
|
|
88
|
-
ring('4-membered ring', '4'),
|
|
89
|
-
ring('6-membered ring', '6'),
|
|
90
|
-
ring('Benzene ring', 'a'),
|
|
106
|
+
ring('ring4', '4-membered ring', '4'),
|
|
107
|
+
ring('ring6', '6-membered ring', '6'),
|
|
108
|
+
ring('benzene', 'Benzene ring', 'a'),
|
|
91
109
|
{
|
|
110
|
+
id: 'negativeCharge',
|
|
92
111
|
name: 'Negative charge',
|
|
93
112
|
description: 'Click an atom to lower its charge by one.',
|
|
94
113
|
keys: ['-'],
|
|
95
114
|
},
|
|
96
|
-
atom('Silicon', 'Si'),
|
|
97
|
-
atom('Phosphorus', 'P', 'p'),
|
|
98
|
-
atom('Sulfur', 'S', 's'),
|
|
99
|
-
atom('Chlorine', 'Cl', 'l'),
|
|
100
|
-
atom('Iodine', 'I', 'i'),
|
|
115
|
+
atom('silicon', 'Silicon', 'Si'),
|
|
116
|
+
atom('phosphorus', 'Phosphorus', 'P', 'p'),
|
|
117
|
+
atom('sulfur', 'Sulfur', 'S', 's'),
|
|
118
|
+
atom('chlorine', 'Chlorine', 'Cl', 'l'),
|
|
119
|
+
atom('iodine', 'Iodine', 'I', 'i'),
|
|
101
120
|
{
|
|
121
|
+
id: 'anyAtom',
|
|
102
122
|
name: 'Any atom',
|
|
103
123
|
description: 'Pick any element, isotope, valence or radical in a dialog, then click to place it or to change an atom. Alt-click an atom to edit its own properties.',
|
|
104
124
|
keys: ['.'],
|
|
@@ -116,17 +136,18 @@ export function isEditorToolbarButtonAvailable(button, mode) {
|
|
|
116
136
|
return true;
|
|
117
137
|
return availability === 'reaction' && mode === 'reaction';
|
|
118
138
|
}
|
|
119
|
-
function ring(name, key) {
|
|
139
|
+
function ring(id, name, key) {
|
|
120
140
|
return {
|
|
141
|
+
id,
|
|
121
142
|
name,
|
|
122
143
|
description: 'Click empty space for a new ring, a bond to fuse one onto it, or an atom for a spiro ring.',
|
|
123
144
|
keys: [key],
|
|
124
145
|
};
|
|
125
146
|
}
|
|
126
|
-
function atom(name, symbol, key) {
|
|
147
|
+
function atom(id, name, symbol, key) {
|
|
127
148
|
const description = `Click empty space for a new ${symbol} atom, or an atom to turn it into ${symbol}.`;
|
|
128
149
|
return key === undefined
|
|
129
|
-
? { name, description }
|
|
130
|
-
: { name, description, keys: [key] };
|
|
150
|
+
? { id, name, description }
|
|
151
|
+
: { id, name, description, keys: [key] };
|
|
131
152
|
}
|
|
132
153
|
//# sourceMappingURL=editorToolbar.js.map
|