react-cheminfo 0.76.0 → 0.78.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 +141 -31
- package/lib/card/core/cardAddress.d.ts +19 -2
- package/lib/card/core/cardAddress.d.ts.map +1 -1
- package/lib/card/core/cardAddress.js +35 -2
- package/lib/card/core/cardAddress.js.map +1 -1
- package/lib/card/core/cardPageUrl.d.ts +7 -1
- package/lib/card/core/cardPageUrl.d.ts.map +1 -1
- package/lib/card/core/cardPageUrl.js +4 -2
- package/lib/card/core/cardPageUrl.js.map +1 -1
- package/lib/card/core/index.d.ts +1 -1
- package/lib/card/core/index.d.ts.map +1 -1
- package/lib/card/core/index.js +1 -1
- package/lib/card/core/index.js.map +1 -1
- package/lib/credits/core/credits.d.ts +30 -0
- package/lib/credits/core/credits.d.ts.map +1 -1
- package/lib/credits/core/credits.js +35 -0
- package/lib/credits/core/credits.js.map +1 -1
- package/lib/download/core/downloadFigure.d.ts +12 -1
- package/lib/download/core/downloadFigure.d.ts.map +1 -1
- package/lib/download/core/downloadFigure.js +21 -0
- package/lib/download/core/downloadFigure.js.map +1 -1
- package/lib/download/core/figureDpi.d.ts +59 -0
- package/lib/download/core/figureDpi.d.ts.map +1 -0
- package/lib/download/core/figureDpi.js +75 -0
- package/lib/download/core/figureDpi.js.map +1 -0
- package/lib/download/core/figurePng.d.ts +4 -1
- package/lib/download/core/figurePng.d.ts.map +1 -1
- package/lib/download/core/figurePng.js +11 -2
- package/lib/download/core/figurePng.js.map +1 -1
- package/lib/download/core/index.d.ts +4 -1
- package/lib/download/core/index.d.ts.map +1 -1
- package/lib/download/core/index.js +3 -1
- package/lib/download/core/index.js.map +1 -1
- package/lib/download/core/pngDpi.d.ts +22 -0
- package/lib/download/core/pngDpi.d.ts.map +1 -0
- package/lib/download/core/pngDpi.js +79 -0
- package/lib/download/core/pngDpi.js.map +1 -0
- package/lib/download/ui/FigureDownloadPanel.d.ts +13 -0
- package/lib/download/ui/FigureDownloadPanel.d.ts.map +1 -1
- package/lib/download/ui/FigureDownloadPanel.js +18 -34
- package/lib/download/ui/FigureDownloadPanel.js.map +1 -1
- package/lib/download/ui/figureDownloadHint.d.ts +5 -0
- package/lib/download/ui/figureDownloadHint.d.ts.map +1 -1
- package/lib/download/ui/figureDownloadHint.js +8 -0
- package/lib/download/ui/figureDownloadHint.js.map +1 -1
- package/lib/download/ui/figureDownloadOptions.d.ts +84 -0
- package/lib/download/ui/figureDownloadOptions.d.ts.map +1 -0
- package/lib/download/ui/figureDownloadOptions.js +2 -0
- package/lib/download/ui/figureDownloadOptions.js.map +1 -0
- package/lib/download/ui/resolutionChoices.d.ts +27 -0
- package/lib/download/ui/resolutionChoices.d.ts.map +1 -0
- package/lib/download/ui/resolutionChoices.js +48 -0
- package/lib/download/ui/resolutionChoices.js.map +1 -0
- package/lib/download/ui/useFigureActions.d.ts +4 -1
- package/lib/download/ui/useFigureActions.d.ts.map +1 -1
- package/lib/download/ui/useFigureActions.js +17 -8
- package/lib/download/ui/useFigureActions.js.map +1 -1
- package/lib/download/ui/useFigureDownload.d.ts +2 -55
- package/lib/download/ui/useFigureDownload.d.ts.map +1 -1
- package/lib/download/ui/useFigureDownload.js +45 -13
- package/lib/download/ui/useFigureDownload.js.map +1 -1
- package/lib/ecosystem/core/sites.d.ts.map +1 -1
- package/lib/ecosystem/core/sites.js +14 -0
- package/lib/ecosystem/core/sites.js.map +1 -1
- package/lib/ecosystem/core/types.d.ts +1 -1
- package/lib/ecosystem/core/types.d.ts.map +1 -1
- package/lib/ecosystem/ui/glyphs.d.ts.map +1 -1
- package/lib/ecosystem/ui/glyphs.js +3 -0
- package/lib/ecosystem/ui/glyphs.js.map +1 -1
- package/lib/host/core/connectHost.js +1 -1
- package/lib/host/core/connectHost.js.map +1 -1
- package/lib/host/core/connectTool.d.ts +103 -0
- package/lib/host/core/connectTool.d.ts.map +1 -0
- package/lib/host/core/connectTool.js +169 -0
- package/lib/host/core/connectTool.js.map +1 -0
- package/lib/host/core/hostOutputs.d.ts +16 -3
- package/lib/host/core/hostOutputs.d.ts.map +1 -1
- package/lib/host/core/hostOutputs.js +38 -4
- package/lib/host/core/hostOutputs.js.map +1 -1
- package/lib/host/core/index.d.ts +8 -2
- package/lib/host/core/index.d.ts.map +1 -1
- package/lib/host/core/index.js +4 -1
- package/lib/host/core/index.js.map +1 -1
- package/lib/host/core/kinds.d.ts +31 -3
- package/lib/host/core/kinds.d.ts.map +1 -1
- package/lib/host/core/kinds.js +35 -4
- package/lib/host/core/kinds.js.map +1 -1
- package/lib/host/core/messageValues.d.ts +29 -0
- package/lib/host/core/messageValues.d.ts.map +1 -0
- package/lib/host/core/messageValues.js +57 -0
- package/lib/host/core/messageValues.js.map +1 -0
- package/lib/host/core/protocol.d.ts +2 -5
- package/lib/host/core/protocol.d.ts.map +1 -1
- package/lib/host/core/protocol.js +3 -37
- package/lib/host/core/protocol.js.map +1 -1
- package/lib/host/core/resultKinds.d.ts +74 -0
- package/lib/host/core/resultKinds.d.ts.map +1 -0
- package/lib/host/core/resultKinds.js +40 -0
- package/lib/host/core/resultKinds.js.map +1 -0
- package/lib/host/core/toolMessages.d.ts +24 -0
- package/lib/host/core/toolMessages.d.ts.map +1 -0
- package/lib/host/core/toolMessages.js +136 -0
- package/lib/host/core/toolMessages.js.map +1 -0
- package/lib/host/ui/index.d.ts +2 -0
- package/lib/host/ui/index.d.ts.map +1 -1
- package/lib/host/ui/index.js +1 -0
- package/lib/host/ui/index.js.map +1 -1
- package/lib/host/ui/useFramedTool.d.ts +74 -0
- package/lib/host/ui/useFramedTool.d.ts.map +1 -0
- package/lib/host/ui/useFramedTool.js +125 -0
- package/lib/host/ui/useFramedTool.js.map +1 -0
- package/lib/i18n/core/chromeCatalog.d.ts +1 -1
- package/lib/i18n/core/chromeCatalog.d.ts.map +1 -1
- package/lib/locales/de.json +30 -1
- package/lib/locales/en.json +30 -1
- package/lib/locales/es.json +30 -1
- package/lib/locales/fr.json +30 -1
- package/lib/locales/it.json +30 -1
- package/lib/molecule3d/ui/Molecule3DStage.d.ts +4 -33
- package/lib/molecule3d/ui/Molecule3DStage.d.ts.map +1 -1
- package/lib/molecule3d/ui/Molecule3DStage.js +3 -37
- package/lib/molecule3d/ui/Molecule3DStage.js.map +1 -1
- package/lib/molecule3d/ui/MoleculeCanvas3D.d.ts.map +1 -1
- package/lib/molecule3d/ui/MoleculeCanvas3D.js +10 -2
- package/lib/molecule3d/ui/MoleculeCanvas3D.js.map +1 -1
- package/lib/molecule3d/ui/exportMoleculeImage.d.ts +10 -0
- package/lib/molecule3d/ui/exportMoleculeImage.d.ts.map +1 -1
- package/lib/molecule3d/ui/exportMoleculeImage.js +17 -0
- package/lib/molecule3d/ui/exportMoleculeImage.js.map +1 -1
- package/lib/molecule3d/ui/index.d.ts +1 -1
- package/lib/molecule3d/ui/index.d.ts.map +1 -1
- package/lib/molecule3d/ui/moleculeViewer3DProps.d.ts +23 -0
- package/lib/molecule3d/ui/moleculeViewer3DProps.d.ts.map +1 -1
- package/lib/molecule3d/ui/useImageExport.d.ts +3 -0
- package/lib/molecule3d/ui/useImageExport.d.ts.map +1 -1
- package/lib/molecule3d/ui/useImageExport.js +21 -3
- package/lib/molecule3d/ui/useImageExport.js.map +1 -1
- package/lib/osiris/core/barGeometry.d.ts +42 -0
- package/lib/osiris/core/barGeometry.d.ts.map +1 -0
- package/lib/osiris/core/barGeometry.js +46 -0
- package/lib/osiris/core/barGeometry.js.map +1 -0
- package/lib/osiris/core/computeProperties.d.ts +42 -0
- package/lib/osiris/core/computeProperties.d.ts.map +1 -0
- package/lib/osiris/core/computeProperties.js +115 -0
- package/lib/osiris/core/computeProperties.js.map +1 -0
- package/lib/osiris/core/constants.d.ts +70 -0
- package/lib/osiris/core/constants.d.ts.map +1 -0
- package/lib/osiris/core/constants.js +99 -0
- package/lib/osiris/core/constants.js.map +1 -0
- package/lib/osiris/core/fitness.d.ts +32 -0
- package/lib/osiris/core/fitness.d.ts.map +1 -0
- package/lib/osiris/core/fitness.js +48 -0
- package/lib/osiris/core/fitness.js.map +1 -0
- package/lib/osiris/core/index.d.ts +29 -0
- package/lib/osiris/core/index.d.ts.map +1 -0
- package/lib/osiris/core/index.js +19 -0
- package/lib/osiris/core/index.js.map +1 -0
- package/lib/osiris/core/poolSize.d.ts +17 -0
- package/lib/osiris/core/poolSize.d.ts.map +1 -0
- package/lib/osiris/core/poolSize.js +22 -0
- package/lib/osiris/core/poolSize.js.map +1 -0
- package/lib/osiris/core/poolTypes.d.ts +140 -0
- package/lib/osiris/core/poolTypes.d.ts.map +1 -0
- package/lib/osiris/core/poolTypes.js +12 -0
- package/lib/osiris/core/poolTypes.js.map +1 -0
- package/lib/osiris/core/predictIdCode.d.ts +39 -0
- package/lib/osiris/core/predictIdCode.d.ts.map +1 -0
- package/lib/osiris/core/predictIdCode.js +54 -0
- package/lib/osiris/core/predictIdCode.js.map +1 -0
- package/lib/osiris/core/predictProtocol.d.ts +67 -0
- package/lib/osiris/core/predictProtocol.d.ts.map +1 -0
- package/lib/osiris/core/predictProtocol.js +29 -0
- package/lib/osiris/core/predictProtocol.js.map +1 -0
- package/lib/osiris/core/predictionPool.d.ts +23 -0
- package/lib/osiris/core/predictionPool.d.ts.map +1 -0
- package/lib/osiris/core/predictionPool.js +186 -0
- package/lib/osiris/core/predictionPool.js.map +1 -0
- package/lib/osiris/core/predictionQueue.d.ts +46 -0
- package/lib/osiris/core/predictionQueue.d.ts.map +1 -0
- package/lib/osiris/core/predictionQueue.js +57 -0
- package/lib/osiris/core/predictionQueue.js.map +1 -0
- package/lib/osiris/core/predictors.d.ts +62 -0
- package/lib/osiris/core/predictors.d.ts.map +1 -0
- package/lib/osiris/core/predictors.js +100 -0
- package/lib/osiris/core/predictors.js.map +1 -0
- package/lib/osiris/core/propertyKeys.d.ts +32 -0
- package/lib/osiris/core/propertyKeys.d.ts.map +1 -0
- package/lib/osiris/core/propertyKeys.js +44 -0
- package/lib/osiris/core/propertyKeys.js.map +1 -0
- package/lib/osiris/core/riskAppearance.d.ts +60 -0
- package/lib/osiris/core/riskAppearance.d.ts.map +1 -0
- package/lib/osiris/core/riskAppearance.js +59 -0
- package/lib/osiris/core/riskAppearance.js.map +1 -0
- package/lib/osiris/core/riskDetail.d.ts +22 -0
- package/lib/osiris/core/riskDetail.d.ts.map +1 -0
- package/lib/osiris/core/riskDetail.js +86 -0
- package/lib/osiris/core/riskDetail.js.map +1 -0
- package/lib/osiris/core/riskDetailRequest.d.ts +31 -0
- package/lib/osiris/core/riskDetailRequest.d.ts.map +1 -0
- package/lib/osiris/core/riskDetailRequest.js +49 -0
- package/lib/osiris/core/riskDetailRequest.js.map +1 -0
- package/lib/osiris/core/riskFindings.d.ts +26 -0
- package/lib/osiris/core/riskFindings.d.ts.map +1 -0
- package/lib/osiris/core/riskFindings.js +79 -0
- package/lib/osiris/core/riskFindings.js.map +1 -0
- package/lib/osiris/core/runPredictionJob.d.ts +20 -0
- package/lib/osiris/core/runPredictionJob.d.ts.map +1 -0
- package/lib/osiris/core/runPredictionJob.js +43 -0
- package/lib/osiris/core/runPredictionJob.js.map +1 -0
- package/lib/osiris/core/scales.d.ts +70 -0
- package/lib/osiris/core/scales.d.ts.map +1 -0
- package/lib/osiris/core/scales.js +185 -0
- package/lib/osiris/core/scales.js.map +1 -0
- package/lib/osiris/core/types.d.ts +91 -0
- package/lib/osiris/core/types.d.ts.map +1 -0
- package/lib/osiris/core/types.js +19 -0
- package/lib/osiris/core/types.js.map +1 -0
- package/lib/osiris/core/valuation.d.ts +28 -0
- package/lib/osiris/core/valuation.d.ts.map +1 -0
- package/lib/osiris/core/valuation.js +39 -0
- package/lib/osiris/core/valuation.js.map +1 -0
- package/lib/osiris/ui/PropertyBar.d.ts +27 -0
- package/lib/osiris/ui/PropertyBar.d.ts.map +1 -0
- package/lib/osiris/ui/PropertyBar.js +27 -0
- package/lib/osiris/ui/PropertyBar.js.map +1 -0
- package/lib/osiris/ui/PropertyPanel.d.ts +91 -0
- package/lib/osiris/ui/PropertyPanel.d.ts.map +1 -0
- package/lib/osiris/ui/PropertyPanel.js +77 -0
- package/lib/osiris/ui/PropertyPanel.js.map +1 -0
- package/lib/osiris/ui/PropertyRows.d.ts +40 -0
- package/lib/osiris/ui/PropertyRows.d.ts.map +1 -0
- package/lib/osiris/ui/PropertyRows.js +23 -0
- package/lib/osiris/ui/PropertyRows.js.map +1 -0
- package/lib/osiris/ui/RiskFindings.d.ts +43 -0
- package/lib/osiris/ui/RiskFindings.d.ts.map +1 -0
- package/lib/osiris/ui/RiskFindings.js +51 -0
- package/lib/osiris/ui/RiskFindings.js.map +1 -0
- package/lib/osiris/ui/RiskPanel.d.ts +46 -0
- package/lib/osiris/ui/RiskPanel.d.ts.map +1 -0
- package/lib/osiris/ui/RiskPanel.js +32 -0
- package/lib/osiris/ui/RiskPanel.js.map +1 -0
- package/lib/osiris/ui/RiskSquare.d.ts +51 -0
- package/lib/osiris/ui/RiskSquare.d.ts.map +1 -0
- package/lib/osiris/ui/RiskSquare.js +23 -0
- package/lib/osiris/ui/RiskSquare.js.map +1 -0
- package/lib/osiris/ui/index.d.ts +15 -0
- package/lib/osiris/ui/index.d.ts.map +1 -0
- package/lib/osiris/ui/index.js +8 -0
- package/lib/osiris/ui/index.js.map +1 -0
- package/lib/osiris/ui/usePredictions.d.ts +81 -0
- package/lib/osiris/ui/usePredictions.d.ts.map +1 -0
- package/lib/osiris/ui/usePredictions.js +102 -0
- package/lib/osiris/ui/usePredictions.js.map +1 -0
- package/lib/osiris-ui.d.ts +11 -0
- package/lib/osiris-ui.d.ts.map +1 -0
- package/lib/osiris-ui.js +11 -0
- package/lib/osiris-ui.js.map +1 -0
- package/lib/osiris.d.ts +17 -0
- package/lib/osiris.d.ts.map +1 -0
- package/lib/osiris.js +17 -0
- package/lib/osiris.js.map +1 -0
- package/lib/panel/ui/FilterInput.d.ts.map +1 -1
- package/lib/panel/ui/FilterInput.js +3 -1
- package/lib/panel/ui/FilterInput.js.map +1 -1
- package/lib/panel/ui/SidePanelItem.d.ts +39 -0
- package/lib/panel/ui/SidePanelItem.d.ts.map +1 -0
- package/lib/panel/ui/SidePanelItem.js +63 -0
- package/lib/panel/ui/SidePanelItem.js.map +1 -0
- package/lib/panel/ui/SidePanelStack.d.ts +11 -10
- package/lib/panel/ui/SidePanelStack.d.ts.map +1 -1
- package/lib/panel/ui/SidePanelStack.js +22 -15
- package/lib/panel/ui/SidePanelStack.js.map +1 -1
- package/lib/panel/ui/SpectrumColorSwatch.d.ts.map +1 -1
- package/lib/panel/ui/SpectrumColorSwatch.js +4 -2
- package/lib/panel/ui/SpectrumColorSwatch.js.map +1 -1
- package/lib/panel/ui/usePanelFolds.d.ts +35 -0
- package/lib/panel/ui/usePanelFolds.d.ts.map +1 -0
- package/lib/panel/ui/usePanelFolds.js +73 -0
- package/lib/panel/ui/usePanelFolds.js.map +1 -0
- package/lib/shared/ui/FullscreenStage.d.ts +43 -0
- package/lib/shared/ui/FullscreenStage.d.ts.map +1 -0
- package/lib/shared/ui/FullscreenStage.js +38 -0
- package/lib/shared/ui/FullscreenStage.js.map +1 -0
- package/lib/shared/ui/canFillScreen.d.ts +7 -0
- package/lib/shared/ui/canFillScreen.d.ts.map +1 -0
- package/lib/shared/ui/canFillScreen.js +9 -0
- package/lib/shared/ui/canFillScreen.js.map +1 -0
- package/lib/shared/ui/index.d.ts +3 -0
- package/lib/shared/ui/index.d.ts.map +1 -1
- package/lib/shared/ui/index.js +2 -0
- package/lib/shared/ui/index.js.map +1 -1
- package/lib/split/ui/splitPanes.d.ts +3 -3
- package/lib/split/ui/splitPanes.js +1 -1
- package/lib/structure/core/structureNotations.d.ts +8 -1
- package/lib/structure/core/structureNotations.d.ts.map +1 -1
- package/lib/structure/core/structureNotations.js +14 -8
- package/lib/structure/core/structureNotations.js.map +1 -1
- package/lib/structure/ui/StructureExportPanel.d.ts +8 -0
- package/lib/structure/ui/StructureExportPanel.d.ts.map +1 -1
- package/lib/structure/ui/StructureExportPanel.js +9 -4
- package/lib/structure/ui/StructureExportPanel.js.map +1 -1
- package/lib/structure/ui/index.d.ts +1 -0
- package/lib/structure/ui/index.d.ts.map +1 -1
- package/lib/structure/ui/index.js.map +1 -1
- package/package.json +4 -1
- package/src/card/core/cardAddress.ts +39 -3
- package/src/card/core/cardPageUrl.ts +10 -3
- package/src/card/core/index.ts +7 -1
- package/src/credits/core/credits.ts +40 -0
- package/src/download/core/downloadFigure.ts +26 -1
- package/src/download/core/figureDpi.ts +94 -0
- package/src/download/core/figurePng.ts +11 -2
- package/src/download/core/index.ts +13 -1
- package/src/download/core/pngDpi.ts +84 -0
- package/src/download/ui/FigureDownloadPanel.tsx +41 -51
- package/src/download/ui/figureDownloadHint.ts +13 -0
- package/src/download/ui/figureDownloadOptions.ts +85 -0
- package/src/download/ui/resolutionChoices.ts +67 -0
- package/src/download/ui/useFigureActions.ts +24 -9
- package/src/download/ui/useFigureDownload.tsx +57 -71
- package/src/ecosystem/core/sites.ts +14 -0
- package/src/ecosystem/core/types.ts +2 -1
- package/src/ecosystem/ui/glyphs.tsx +20 -0
- package/src/host/core/connectHost.ts +1 -1
- package/src/host/core/connectTool.ts +285 -0
- package/src/host/core/hostOutputs.ts +47 -5
- package/src/host/core/index.ts +20 -1
- package/src/host/core/kinds.ts +53 -8
- package/src/host/core/messageValues.ts +58 -0
- package/src/host/core/protocol.ts +5 -37
- package/src/host/core/resultKinds.ts +65 -0
- package/src/host/core/toolMessages.ts +160 -0
- package/src/host/ui/index.ts +6 -0
- package/src/host/ui/useFramedTool.ts +213 -0
- package/src/locales/de.json +30 -1
- package/src/locales/en.json +30 -1
- package/src/locales/es.json +30 -1
- package/src/locales/fr.json +30 -1
- package/src/locales/it.json +30 -1
- package/src/molecule3d/ui/Molecule3DStage.tsx +4 -88
- package/src/molecule3d/ui/MoleculeCanvas3D.tsx +10 -1
- package/src/molecule3d/ui/exportMoleculeImage.ts +22 -0
- package/src/molecule3d/ui/index.ts +4 -1
- package/src/molecule3d/ui/moleculeViewer3DProps.ts +24 -0
- package/src/molecule3d/ui/useImageExport.ts +28 -2
- package/src/osiris/core/barGeometry.ts +74 -0
- package/src/osiris/core/computeProperties.ts +175 -0
- package/src/osiris/core/constants.ts +110 -0
- package/src/osiris/core/fitness.ts +59 -0
- package/src/osiris/core/index.ts +78 -0
- package/src/osiris/core/poolSize.ts +24 -0
- package/src/osiris/core/poolTypes.ts +140 -0
- package/src/osiris/core/predictIdCode.ts +69 -0
- package/src/osiris/core/predictProtocol.ts +78 -0
- package/src/osiris/core/predictionPool.ts +237 -0
- package/src/osiris/core/predictionQueue.ts +89 -0
- package/src/osiris/core/predictors.ts +142 -0
- package/src/osiris/core/propertyKeys.ts +54 -0
- package/src/osiris/core/riskAppearance.ts +86 -0
- package/src/osiris/core/riskDetail.ts +120 -0
- package/src/osiris/core/riskDetailRequest.ts +64 -0
- package/src/osiris/core/riskFindings.ts +92 -0
- package/src/osiris/core/runPredictionJob.ts +49 -0
- package/src/osiris/core/scales.ts +236 -0
- package/src/osiris/core/types.ts +103 -0
- package/src/osiris/core/valuation.ts +44 -0
- package/src/osiris/ui/PropertyBar.tsx +77 -0
- package/src/osiris/ui/PropertyPanel.tsx +227 -0
- package/src/osiris/ui/PropertyRows.tsx +92 -0
- package/src/osiris/ui/RiskFindings.tsx +137 -0
- package/src/osiris/ui/RiskPanel.tsx +81 -0
- package/src/osiris/ui/RiskSquare.tsx +108 -0
- package/src/osiris/ui/index.ts +17 -0
- package/src/osiris/ui/usePredictions.ts +194 -0
- package/src/osiris-ui.ts +11 -0
- package/src/osiris.ts +17 -0
- package/src/panel/ui/FilterInput.tsx +4 -1
- package/src/panel/ui/SidePanelItem.tsx +162 -0
- package/src/panel/ui/SidePanelStack.tsx +29 -36
- package/src/panel/ui/SpectrumColorSwatch.tsx +5 -3
- package/src/panel/ui/usePanelFolds.ts +103 -0
- package/src/shared/ui/FullscreenStage.tsx +96 -0
- package/src/shared/ui/canFillScreen.ts +8 -0
- package/src/shared/ui/index.ts +6 -0
- package/src/split/ui/splitPanes.tsx +4 -4
- package/src/structure/core/structureNotations.ts +25 -8
- package/src/structure/ui/StructureExportPanel.tsx +23 -4
- package/src/structure/ui/index.ts +4 -0
- package/styles/osiris.css +339 -0
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a framed tool sends its host, read as the untrusted input it is: the
|
|
3
|
+
* `hello` it posts to the window, and on the port the `result` of each request
|
|
4
|
+
* and the `output` it sends when a value the host takes back changes.
|
|
5
|
+
*
|
|
6
|
+
* Anything that is not well formed is `null` and is ignored, as a tool ignores
|
|
7
|
+
* a request it does not know: a newer tool talking, not an error.
|
|
8
|
+
*/
|
|
9
|
+
import { MAX_LABEL_LENGTH, isRecord, readItems, readStrings, } from "./messageValues.js";
|
|
10
|
+
import { HELLO_TYPE, PROTOCOL_VERSION } from "./protocol.js";
|
|
11
|
+
/** How long the sentence of an error may be, in characters; the rest is cut. */
|
|
12
|
+
const MAX_MESSAGE_LENGTH = 500;
|
|
13
|
+
const ERROR_CODES = [
|
|
14
|
+
'invalid',
|
|
15
|
+
'unreadable',
|
|
16
|
+
'no-input',
|
|
17
|
+
'no-output',
|
|
18
|
+
];
|
|
19
|
+
/**
|
|
20
|
+
* Read a tool's `hello`, in this version of the protocol.
|
|
21
|
+
* @param data - What the window delivered.
|
|
22
|
+
* @returns What the tool takes and gives, or `null` for anything else.
|
|
23
|
+
*/
|
|
24
|
+
export function readHello(data) {
|
|
25
|
+
if (!isRecord(data) ||
|
|
26
|
+
data.type !== HELLO_TYPE ||
|
|
27
|
+
data.version !== PROTOCOL_VERSION) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
const { tool } = data;
|
|
31
|
+
if (!isRecord(tool) ||
|
|
32
|
+
typeof tool.name !== 'string' ||
|
|
33
|
+
typeof tool.origin !== 'string') {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
return {
|
|
37
|
+
name: tool.name.slice(0, MAX_LABEL_LENGTH),
|
|
38
|
+
origin: tool.origin,
|
|
39
|
+
build: tool.build ?? null,
|
|
40
|
+
inputs: readInputs(tool.inputs),
|
|
41
|
+
outputs: readOutputs(tool.outputs),
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Read a message a tool sent through the port.
|
|
46
|
+
* @param data - What the port delivered.
|
|
47
|
+
* @returns The `result` or the `output`, or `null` for anything else.
|
|
48
|
+
*/
|
|
49
|
+
export function readToolMessage(data) {
|
|
50
|
+
if (!isRecord(data))
|
|
51
|
+
return null;
|
|
52
|
+
if (data.type === 'output') {
|
|
53
|
+
if (typeof data.document !== 'string' || !Array.isArray(data.items)) {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
return {
|
|
57
|
+
type: 'output',
|
|
58
|
+
document: data.document,
|
|
59
|
+
items: readItems(data.items),
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
if (data.type !== 'result')
|
|
63
|
+
return null;
|
|
64
|
+
const { id, ok, items, used, error } = data;
|
|
65
|
+
if (typeof id !== 'string')
|
|
66
|
+
return null;
|
|
67
|
+
if (ok === true) {
|
|
68
|
+
return Array.isArray(items)
|
|
69
|
+
? { type: 'result', id, ok: true, items: readItems(items) }
|
|
70
|
+
: { type: 'result', id, ok: true, used: readUsed(used) };
|
|
71
|
+
}
|
|
72
|
+
return { type: 'result', id, ok: false, error: readError(error) };
|
|
73
|
+
}
|
|
74
|
+
function readInputs(value) {
|
|
75
|
+
const inputs = [];
|
|
76
|
+
if (!Array.isArray(value))
|
|
77
|
+
return inputs;
|
|
78
|
+
for (const entry of value) {
|
|
79
|
+
if (!isRecord(entry) || typeof entry.key !== 'string')
|
|
80
|
+
continue;
|
|
81
|
+
const input = {
|
|
82
|
+
key: entry.key,
|
|
83
|
+
kinds: readStrings(entry.kinds),
|
|
84
|
+
};
|
|
85
|
+
if (entry.many === true)
|
|
86
|
+
input.many = true;
|
|
87
|
+
if (entry.optional === true)
|
|
88
|
+
input.optional = true;
|
|
89
|
+
inputs.push(input);
|
|
90
|
+
}
|
|
91
|
+
return inputs;
|
|
92
|
+
}
|
|
93
|
+
function readOutputs(value) {
|
|
94
|
+
const outputs = [];
|
|
95
|
+
if (!Array.isArray(value))
|
|
96
|
+
return outputs;
|
|
97
|
+
for (const entry of value) {
|
|
98
|
+
if (isRecord(entry) &&
|
|
99
|
+
typeof entry.key === 'string' &&
|
|
100
|
+
typeof entry.kind === 'string') {
|
|
101
|
+
outputs.push({ key: entry.key, kind: entry.kind });
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return outputs;
|
|
105
|
+
}
|
|
106
|
+
function readUsed(value) {
|
|
107
|
+
const used = [];
|
|
108
|
+
if (!Array.isArray(value))
|
|
109
|
+
return used;
|
|
110
|
+
for (const entry of value) {
|
|
111
|
+
if (isRecord(entry) &&
|
|
112
|
+
typeof entry.key === 'string' &&
|
|
113
|
+
typeof entry.kind === 'string') {
|
|
114
|
+
used.push({ key: entry.key, kind: entry.kind });
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return used;
|
|
118
|
+
}
|
|
119
|
+
function readError(value) {
|
|
120
|
+
const error = {
|
|
121
|
+
code: 'invalid',
|
|
122
|
+
message: 'The tool refused the request and gave no reason.',
|
|
123
|
+
};
|
|
124
|
+
if (!isRecord(value))
|
|
125
|
+
return error;
|
|
126
|
+
const code = ERROR_CODES.find((known) => known === value.code);
|
|
127
|
+
if (code !== undefined)
|
|
128
|
+
error.code = code;
|
|
129
|
+
if (typeof value.message === 'string' && value.message.trim() !== '') {
|
|
130
|
+
error.message = value.message.slice(0, MAX_MESSAGE_LENGTH);
|
|
131
|
+
}
|
|
132
|
+
if (Array.isArray(value.errors))
|
|
133
|
+
error.errors = readStrings(value.errors);
|
|
134
|
+
return error;
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=toolMessages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolMessages.js","sourceRoot":"","sources":["../../../src/host/core/toolMessages.ts"],"names":[],"mappings":"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"}
|
package/lib/host/ui/index.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
export type { FramedTool, FramedToolOptions, FramedToolStatus, } from './useFramedTool.ts';
|
|
2
|
+
export { HELLO_TIMEOUT, useFramedTool } from './useFramedTool.ts';
|
|
1
3
|
export type { HostHandlers } from './useHostConnection.ts';
|
|
2
4
|
export { useHostConnection } from './useHostConnection.ts';
|
|
3
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/host/ui/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/host/ui/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,UAAU,EACV,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAClE,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
|
package/lib/host/ui/index.js
CHANGED
package/lib/host/ui/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/host/ui/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/host/ui/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAElE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Frame a tool of the family and talk to it: hand it the document to show,
|
|
3
|
+
* keep what it sends back, and ask it for other values.
|
|
4
|
+
*/
|
|
5
|
+
import type { LoadOutcome, ToolDocument } from '../core/connectTool.ts';
|
|
6
|
+
import type { HostItem } from '../core/protocol.ts';
|
|
7
|
+
import type { ToolHello } from '../core/toolMessages.ts';
|
|
8
|
+
/** What {@link useFramedTool} frames, and what it hands over. */
|
|
9
|
+
export interface FramedToolOptions {
|
|
10
|
+
/**
|
|
11
|
+
* The address the frame opens, `?embed=1` included. Its origin is the only
|
|
12
|
+
* one talked to.
|
|
13
|
+
*/
|
|
14
|
+
url: string;
|
|
15
|
+
/** How the host introduces itself to the tool. */
|
|
16
|
+
host: string;
|
|
17
|
+
/**
|
|
18
|
+
* The document to show, or `null` while there is none. It is handed over
|
|
19
|
+
* whenever its `document` changes, and never twice in a row.
|
|
20
|
+
*/
|
|
21
|
+
document: ToolDocument | null;
|
|
22
|
+
/**
|
|
23
|
+
* How long the tool has to say `hello` before it counts as unavailable, in
|
|
24
|
+
* milliseconds.
|
|
25
|
+
* @default HELLO_TIMEOUT
|
|
26
|
+
*/
|
|
27
|
+
helloTimeout?: number;
|
|
28
|
+
}
|
|
29
|
+
/** Whether the tool answered: still loading, talking, or silent past the wait. */
|
|
30
|
+
export type FramedToolStatus = 'connecting' | 'connected' | 'unavailable';
|
|
31
|
+
/** A framed tool, as the host page sees it. */
|
|
32
|
+
export interface FramedTool {
|
|
33
|
+
/**
|
|
34
|
+
* The callback ref of the `<iframe>`, rendered with the hook and given no
|
|
35
|
+
* `src` of its own: the address is set once this page listens, so the
|
|
36
|
+
* tool's `hello` cannot be missed.
|
|
37
|
+
*/
|
|
38
|
+
attachFrame: (element: HTMLIFrameElement | null) => void;
|
|
39
|
+
/**
|
|
40
|
+
* Show the frame on the whole screen, from a click; Esc brings it back.
|
|
41
|
+
* Rejects where the browser will not.
|
|
42
|
+
*/
|
|
43
|
+
fullscreen: () => Promise<void>;
|
|
44
|
+
/** Whether the tool answered. */
|
|
45
|
+
status: FramedToolStatus;
|
|
46
|
+
/** What the tool said it takes and gives, once it has. */
|
|
47
|
+
tool: ToolHello | null;
|
|
48
|
+
/** What became of the document on screen, once the tool answered. */
|
|
49
|
+
outcome: LoadOutcome | null;
|
|
50
|
+
/**
|
|
51
|
+
* The values the document's `accept` names, by output key: those the tool
|
|
52
|
+
* held once it showed the document, then every change it sent.
|
|
53
|
+
*/
|
|
54
|
+
outputs: ReadonlyMap<string, HostItem>;
|
|
55
|
+
/** Ask for the current value of some outputs; rejects with the tool's reason. */
|
|
56
|
+
get: (keys: readonly string[]) => Promise<HostItem[]>;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* How long a tool has to say `hello`, in milliseconds: a cold start fetches the
|
|
60
|
+
* tool's page, its scripts and its fonts, on a slow line as well.
|
|
61
|
+
*/
|
|
62
|
+
export declare const HELLO_TIMEOUT = 20000;
|
|
63
|
+
/**
|
|
64
|
+
* Frame a tool, and keep it showing a document.
|
|
65
|
+
*
|
|
66
|
+
* The frame is opened once and stays: a new document goes to the tool through
|
|
67
|
+
* the protocol, the way a host hands over data, rather than as a new address
|
|
68
|
+
* that would reload the tool and lose what its visitor did in it. A tool that
|
|
69
|
+
* reloads all the same is handed the document again.
|
|
70
|
+
* @param options - See {@link FramedToolOptions}.
|
|
71
|
+
* @returns See {@link FramedTool}.
|
|
72
|
+
*/
|
|
73
|
+
export declare function useFramedTool(options: FramedToolOptions): FramedTool;
|
|
74
|
+
//# sourceMappingURL=useFramedTool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFramedTool.d.ts","sourceRoot":"","sources":["../../../src/host/ui/useFramedTool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EACV,WAAW,EAEX,YAAY,EACb,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,iEAAiE;AACjE,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IAC9B;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,kFAAkF;AAClF,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,WAAW,GAAG,aAAa,CAAC;AAE1E,+CAA+C;AAC/C,MAAM,WAAW,UAAU;IACzB;;;;OAIG;IACH,WAAW,EAAE,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,KAAK,IAAI,CAAC;IACzD;;;OAGG;IACH,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,iCAAiC;IACjC,MAAM,EAAE,gBAAgB,CAAC;IACzB,0DAA0D;IAC1D,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;IACvB,qEAAqE;IACrE,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B;;;OAGG;IACH,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvC,iFAAiF;IACjF,GAAG,EAAE,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;CACvD;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,QAAS,CAAC;AAIpC;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,UAAU,CA+FpE"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Frame a tool of the family and talk to it: hand it the document to show,
|
|
3
|
+
* keep what it sends back, and ask it for other values.
|
|
4
|
+
*/
|
|
5
|
+
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
6
|
+
import { connectTool } from "../core/connectTool.js";
|
|
7
|
+
/**
|
|
8
|
+
* How long a tool has to say `hello`, in milliseconds: a cold start fetches the
|
|
9
|
+
* tool's page, its scripts and its fonts, on a slow line as well.
|
|
10
|
+
*/
|
|
11
|
+
export const HELLO_TIMEOUT = 20_000;
|
|
12
|
+
const NO_OUTPUTS = new Map();
|
|
13
|
+
/**
|
|
14
|
+
* Frame a tool, and keep it showing a document.
|
|
15
|
+
*
|
|
16
|
+
* The frame is opened once and stays: a new document goes to the tool through
|
|
17
|
+
* the protocol, the way a host hands over data, rather than as a new address
|
|
18
|
+
* that would reload the tool and lose what its visitor did in it. A tool that
|
|
19
|
+
* reloads all the same is handed the document again.
|
|
20
|
+
* @param options - See {@link FramedToolOptions}.
|
|
21
|
+
* @returns See {@link FramedTool}.
|
|
22
|
+
*/
|
|
23
|
+
export function useFramedTool(options) {
|
|
24
|
+
const { url, host, document, helloTimeout = HELLO_TIMEOUT } = options;
|
|
25
|
+
const frame = useRef(null);
|
|
26
|
+
const attachFrame = useCallback((element) => {
|
|
27
|
+
frame.current = element;
|
|
28
|
+
}, []);
|
|
29
|
+
const connection = useRef(null);
|
|
30
|
+
const latest = useRef(document);
|
|
31
|
+
const [link, setLink] = useState(null);
|
|
32
|
+
const [answer, setAnswer] = useState(null);
|
|
33
|
+
const [held, setHeld] = useState(null);
|
|
34
|
+
useEffect(() => {
|
|
35
|
+
latest.current = document;
|
|
36
|
+
});
|
|
37
|
+
useEffect(() => {
|
|
38
|
+
const element = frame.current;
|
|
39
|
+
if (element === null)
|
|
40
|
+
return;
|
|
41
|
+
let greeted = false;
|
|
42
|
+
const opened = connectTool({
|
|
43
|
+
frame: () => element.contentWindow,
|
|
44
|
+
origin: new URL(url, globalThis.location.href).origin,
|
|
45
|
+
host: { name: host },
|
|
46
|
+
listen: (listener) => {
|
|
47
|
+
globalThis.addEventListener('message', listener);
|
|
48
|
+
return () => {
|
|
49
|
+
globalThis.removeEventListener('message', listener);
|
|
50
|
+
};
|
|
51
|
+
},
|
|
52
|
+
onHello: (tool) => {
|
|
53
|
+
greeted = true;
|
|
54
|
+
setLink({ url, status: 'connected', tool });
|
|
55
|
+
},
|
|
56
|
+
onOutput: (message) => {
|
|
57
|
+
setHeld((previous) => hold(previous, `${url}\n${message.document}`, message.items));
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
connection.current = opened;
|
|
61
|
+
const timer = setTimeout(() => {
|
|
62
|
+
if (!greeted)
|
|
63
|
+
setLink({ url, status: 'unavailable', tool: null });
|
|
64
|
+
}, helloTimeout);
|
|
65
|
+
// Set once the listener exists, and again when the effect runs anew, so
|
|
66
|
+
// the tool greets this listener rather than one already closed.
|
|
67
|
+
element.src = url;
|
|
68
|
+
return () => {
|
|
69
|
+
clearTimeout(timer);
|
|
70
|
+
opened.close();
|
|
71
|
+
if (connection.current === opened)
|
|
72
|
+
connection.current = null;
|
|
73
|
+
};
|
|
74
|
+
}, [url, host, helloTimeout]);
|
|
75
|
+
const name = document?.document ?? null;
|
|
76
|
+
useEffect(() => {
|
|
77
|
+
const opened = connection.current;
|
|
78
|
+
const shown = latest.current;
|
|
79
|
+
if (opened === null || shown === null)
|
|
80
|
+
return;
|
|
81
|
+
const key = `${url}\n${shown.document}`;
|
|
82
|
+
void opened.load(shown).then(async (outcome) => {
|
|
83
|
+
setAnswer({ key, outcome });
|
|
84
|
+
const accept = shown.accept ?? [];
|
|
85
|
+
if (outcome.status !== 'loaded' || accept.length === 0)
|
|
86
|
+
return;
|
|
87
|
+
// What the tool held once it showed the document is never sent unasked.
|
|
88
|
+
const items = await opened.get(accept).catch(() => []);
|
|
89
|
+
setHeld((previous) => hold(previous, key, items));
|
|
90
|
+
});
|
|
91
|
+
}, [name, url, host]);
|
|
92
|
+
const fullscreen = useCallback(async () => {
|
|
93
|
+
const element = frame.current;
|
|
94
|
+
if (element === null)
|
|
95
|
+
throw new Error('The tool is not open.');
|
|
96
|
+
await element.requestFullscreen();
|
|
97
|
+
}, []);
|
|
98
|
+
const get = useCallback(async (keys) => {
|
|
99
|
+
const opened = connection.current;
|
|
100
|
+
if (opened === null) {
|
|
101
|
+
throw new Error('The tool is not open, so it has nothing to give.');
|
|
102
|
+
}
|
|
103
|
+
return opened.get(keys);
|
|
104
|
+
}, []);
|
|
105
|
+
const key = name === null ? null : `${url}\n${name}`;
|
|
106
|
+
const current = link?.url === url ? link : null;
|
|
107
|
+
return {
|
|
108
|
+
attachFrame,
|
|
109
|
+
fullscreen,
|
|
110
|
+
status: current?.status ?? 'connecting',
|
|
111
|
+
tool: current?.tool ?? null,
|
|
112
|
+
outcome: answer !== null && answer.key === key ? answer.outcome : null,
|
|
113
|
+
outputs: held !== null && held.key === key ? held.outputs : NO_OUTPUTS,
|
|
114
|
+
get,
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
function hold(previous, key, items) {
|
|
118
|
+
const outputs = new Map(previous?.key === key ? previous.outputs : NO_OUTPUTS);
|
|
119
|
+
for (const item of items) {
|
|
120
|
+
if (item.key !== undefined)
|
|
121
|
+
outputs.set(item.key, item);
|
|
122
|
+
}
|
|
123
|
+
return { key, outputs };
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=useFramedTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFramedTool.js","sourceRoot":"","sources":["../../../src/host/ui/useFramedTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,5 +17,5 @@ export type ChromeKey = keyof typeof en;
|
|
|
17
17
|
* missing message falls back to; every other language arrives as a chunk of its
|
|
18
18
|
* own, so a site read only in English downloads none of them.
|
|
19
19
|
*/
|
|
20
|
-
export declare const CHROME_CATALOG: MessageCatalog<"language.label" | "chrome.pages" | "chrome.about" | "chrome.aboutTitle" | "chrome.contact" | "chrome.contactTitle" | "account.signIn" | "account.signOut" | "account.signedInAs" | "account.username" | "account.password" | "account.role" | "account.role.read" | "account.role.write" | "account.role.admin" | "account.you" | "account.envManaged" | "account.envManagedTitle" | "account.accounts" | "account.accountsNote" | "account.column.added" | "account.column.lastSignIn" | "account.column.passwordChanged" | "account.column.actions" | "account.never" | "account.add" | "account.addSubmit" | "account.added" | "account.usernameHelp" | "account.setPassword" | "account.setPasswordTitle" | "account.setPasswordNote" | "account.setPasswordSubmit" | "account.roleOf" | "account.changePassword" | "account.currentPassword" | "account.newPassword" | "account.repeatPassword" | "account.passwordsDiffer" | "account.passwordChanged" | "account.ownEnvManaged" | "account.remove" | "account.removeQuestion" | "account.needsWrite" | "account.needsAdmin" | "account.switchAccount" | "account.unreachable" | "account.refusal.wrongCredentials" | "account.refusal.tooManyAttempts" | "account.refusal.signInElsewhere" | "account.refusal.signOutElsewhere" | "account.refusal.changeElsewhere" | "account.refusal.signInRequired" | "account.refusal.sessionEnded" | "account.refusal.wrongToken" | "account.refusal.noAdminToken" | "account.refusal.roleTooLow" | "account.refusal.usernameLength" | "account.refusal.usernameCharacters" | "account.refusal.usernameTaken" | "account.refusal.passwordEmpty" | "account.refusal.passwordTooLong" | "account.refusal.noSuchAccount" | "account.refusal.nothingToChange" | "account.refusal.useChangePassword" | "account.refusal.ownRole" | "account.refusal.removeYourself" | "account.refusal.lastAdmin" | "account.refusal.envManaged" | "account.refusal.tokenCannotChangePassword" | "account.refusal.wrongCurrentPassword" | "account.refusal.accountRemoved" | "ecosystem.tools" | "ecosystem.menuHeading" | "ecosystem.otherTools" | "ecosystem.youAreHere" | "ecosystem.group.basics.label" | "ecosystem.group.basics.blurb" | "ecosystem.group.practice.label" | "ecosystem.group.practice.blurb" | "ecosystem.group.structures.label" | "ecosystem.group.structures.blurb" | "ecosystem.group.spectra.label" | "ecosystem.group.spectra.blurb" | "ecosystem.group.research.label" | "ecosystem.group.research.blurb" | "ecosystem.group.computing.label" | "ecosystem.group.computing.blurb" | "site.learn.tagline" | "site.inchi.tagline" | "site.vcl.tagline" | "site.smiles.tagline" | "site.openbabel.tagline" | "site.chemcalc.tagline" | "site.dbe.tagline" | "site.nmrium.tagline" | "site.metabo.tagline" | "site.derepflow.tagline" | "site.isomers.tagline" | "site.tex.tagline" | "site.lcao.tagline" | "site.regexp.tagline" | "site.pdb.tagline" | "site.elucidation.tagline" | "site.spectroscopy.tagline" | "site.equilibrium.tagline" | "site.polycarp.tagline" | "site.3d.tagline" | "site.periodic-table.tagline" | "site.database.tagline" | "site.symmetry.tagline" | "site.osiris.tagline" | "site.atoms.tagline" | "site.moles.tagline" | "site.inorganic.tagline" | "share.button" | "share.buttonTitle" | "share.dialogTitleFor" | "share.frameTitle" | "share.layout" | "share.embed" | "share.embedHint" | "share.protect" | "share.protectHint" | "share.on" | "share.off" | "share.showOnPage" | "share.custom" | "share.options" | "share.preview" | "share.device.window" | "share.device.mobile" | "share.device.laptop" | "share.device.hd" | "share.deviceSize" | "share.previewWhat" | "share.previewLive" | "share.copyLink" | "share.copyLinkHelpTitle" | "share.copyLinkHelp" | "share.openInNewTab" | "share.openInNewTabHelpTitle" | "share.openInNewTabHelp" | "share.copyIframe" | "share.copyIframeHelpTitle" | "share.copyIframeHelp" | "seal.refusedTitle" | "seal.refusedBody" | "seal.openWithout" | "cite.button" | "cite.copyReferenceAs" | "cite.pleaseCiteBoth" | "cite.pleaseCiteEvery" | "cite.copyBothAs" | "cite.copyEveryAs" | "cite.importIntoManager" | "cite.openArticle" | "cite.openDataset" | "cite.copyThisAs" | "cite.importThis" | "cite.copied" | "cite.copyFailed" | "cite.format.doi" | "cite.download.ris" | "cite.download.bibtex" | "clipboard.copied" | "clipboard.failed" | "clipboard.copy" | "clipboard.copyThe" | "clipboard.copyValue" | "clipboard.copyToClipboard" | "card.details" | "card.detailsTitle" | "card.detailsLabel" | "card.copyTable" | "card.copyTableTitle" | "card.copyPicture" | "about.providedBy" | "about.whatYouCanDo" | "about.builtOn" | "about.buildVersion" | "about.buildBuilt" | "about.buildCommit" | "about.howToCite" | "about.citeWork" | "about.nameList" | "credits.openbabel.description" | "credits.openchemlib.description" | "credits.openchemlib-utils.description" | "credits.osiris-property-explorer.description" | "credits.react-ocl.description" | "credits.react-mf.description" | "credits.mass-tools.description" | "credits.chem-equilibrium.description" | "credits.ml-matrix.description" | "credits.ml-xsadd.description" | "credits.cif-to-json.description" | "credits.ml-spectra-processing.description" | "credits.occ.description" | "credits.xtb-wasm.description" | "credits.molstar.description" | "credits.blueprint.description" | "credits.react-science.description" | "credits.react-cheminfo.description" | "credits.cheminfo-font.description" | "credits.nivo.description" | "credits.mathjax.description" | "credits.lexical.description" | "credits.katex.description" | "credits.dnd-kit.description" | "credits.react-roi.description" | "credits.file-collection.description" | "credits.zip-js.description" | "credits.preact-signals.description" | "credits.fastify.description" | "credits.sqlite.description" | "credits.sqlite-wasm.description" | "credits.pouchdb.description" | "credits.chemexper.description" | "credits.react.description" | "credits.vite.description" | "help.label" | "help.learnMore" | "help.on" | "confirm.delete" | "confirm.cancel" | "error.title" | "error.tryAgain" | "error.noMessage" | "capsule.filter" | "color.scales" | "color.done" | "color.custom" | "color.customEllipsis" | "color.inUse" | "color.uniform" | "color.uniformDescription" | "color.uniformColour" | "color.colourScale" | "color.legendLabel" | "color.scaleBeingEdited" | "color.anchorColour" | "color.anchorPosition" | "color.removeAnchor" | "color.editorHint" | "color.saturation" | "color.brightness" | "color.toneHelp" | "color.path" | "color.interpolation.rgb" | "color.interpolation.hsv" | "color.interpolation.hsv-long" | "color.kind.sequential" | "color.kind.diverging" | "color.kind.cyclic" | "color.scale.viridis.label" | "color.scale.viridis.description" | "color.scale.plasma.label" | "color.scale.plasma.description" | "color.scale.magma.label" | "color.scale.magma.description" | "color.scale.inferno.label" | "color.scale.inferno.description" | "color.scale.cividis.label" | "color.scale.cividis.description" | "color.scale.turbo.label" | "color.scale.turbo.description" | "color.scale.greys.label" | "color.scale.greys.description" | "color.scale.cool-warm.label" | "color.scale.cool-warm.description" | "color.scale.blue-red.label" | "color.scale.blue-red.description" | "color.scale.rainbow.label" | "color.scale.rainbow.description" | "download.save" | "download.saveFigure" | "download.saveThisFigure" | "download.format" | "download.formatHelp" | "download.resolution" | "download.resolutionHelp" | "download.resolutionExample" | "download.noFigure" | "download.hintRasterSvg" | "download.hintSvg" | "download.hintPng" | "download.hintCopied" | "download.copyUnsupported" | "download.size" | "download.sizeHelp" | "download.sizeScreen" | "download.sizeColumn" | "download.sizeCustom" | "download.customSize" | "download.width" | "download.height" | "pedagogy.check" | "pedagogy.revealHint" | "pedagogy.revealHintCount" | "pedagogy.revealHintLadder" | "pedagogy.hideSolution" | "pedagogy.revealSolution" | "pedagogy.reset" | "pedagogy.hints" | "pedagogy.solvedCount" | "pedagogy.clearAll" | "pedagogy.keepAnswers" | "pedagogy.clearEverything" | "pedagogy.clearWarning" | "pedagogy.filterTerms" | "pedagogy.noTermDefined" | "pedagogy.noTermMatches" | "pedagogy.example" | "pedagogy.input" | "pedagogy.previous" | "pedagogy.next" | "pedagogy.stepOf" | "pedagogy.answerEmpty" | "pedagogy.answerUnreadable" | "pedagogy.questions" | "pedagogy.questionsInSeries" | "pedagogy.questionCount" | "pedagogy.allQuestions" | "pedagogy.newSeries" | "pedagogy.newSeriesTitle" | "pedagogy.seriesQuestions" | "pedagogy.questionNumber" | "pedagogy.questionOf" | "pedagogy.solved" | "pedagogy.solvedWithHintsOf" | "pedagogy.solvedWithoutHint" | "pedagogy.nextQuestion" | "pedagogy.solution" | "pedagogy.exercises" | "pedagogy.statusIdle" | "pedagogy.statusAttempted" | "pedagogy.statusSolved" | "pedagogy.solvedWithOneHint" | "pedagogy.solvedWithHints" | "formula.copyLabel" | "formula.typeFirst" | "formula.notElement" | "formula.noAtom" | "formula.wholeCounts" | "formula.unknownNotation" | "formula.unreadable" | "formula.lookup.title" | "formula.lookup.reset" | "formula.lookup.mass" | "formula.lookup.massPlaceholder" | "formula.lookup.neutral" | "formula.lookup.fewest" | "formula.lookup.most" | "formula.lookup.typeMass" | "formula.lookup.closest" | "formula.lookup.countOne" | "formula.lookup.countMany" | "formula.lookup.nothingFits" | "formula.lookup.tooWide" | "formula.lookup.ppm" | "formula.lookup.detail" | "slides.exit" | "slides.previousSlide" | "slides.nextSlide" | "slides.toggleFullscreen" | "slides.backToSlides" | "slides.backToSlide" | "slides.noAddress" | "slides.liveDemos" | "slides.noTalkYet" | "overlay.options" | "overlay.whatAmILookingAt" | "overlay.reset" | "overlay.hoverAName" | "overlay.dismiss" | "axis.scale" | "axis.xScale" | "axis.yScale" | "axis.linear" | "axis.logarithmic" | "axis.scaleHelp" | "delimited.copyTable" | "delimited.copyOrDownload" | "delimited.close" | "delimited.separator" | "delimited.save" | "delimited.copy" | "delimited.tableAsText" | "chart.measurement" | "chart.measurements" | "delimited.descriptionOne" | "delimited.descriptionMany" | "structure.guide.atom.title" | "structure.guide.atom.element" | "structure.guide.atom.group" | "structure.guide.atom.applyOrForget" | "structure.guide.atom.chain" | "structure.guide.atom.charge" | "structure.guide.atom.radical" | "structure.guide.atom.spin" | "structure.guide.atom.attachment" | "structure.guide.atom.query" | "structure.guide.atom.halogen" | "structure.guide.atom.delete" | "structure.guide.atom.note" | "structure.guide.bond.title" | "structure.guide.bond.order" | "structure.guide.bond.zeroOrder" | "structure.guide.bond.stereo" | "structure.guide.bond.unknownGeometry" | "structure.guide.bond.threeRing" | "structure.guide.bond.ring" | "structure.guide.bond.benzene" | "structure.guide.bond.query" | "structure.guide.bond.delete" | "structure.guide.anywhere.title" | "structure.guide.anywhere.undo" | "structure.guide.anywhere.copy" | "structure.guide.anywhere.paste" | "structure.guide.anywhere.deleteSelection" | "structure.guide.anywhere.flip" | "structure.guide.anywhere.help" | "structure.guide.anywhere.note" | "structure.guide.selecting.title" | "structure.guide.selecting.lasso" | "structure.guide.selecting.rectangle" | "structure.guide.selecting.add" | "structure.guide.selecting.move" | "structure.guide.selecting.duplicate" | "structure.guide.selecting.queryFeatures" | "structure.guide.selecting.note" | "structure.guide.stereochemistry.title" | "structure.guide.stereochemistry.note" | "structure.input.type" | "structure.input.or" | "structure.input.drag" | "structure.input.plusDrag" | "structure.input.dragSelection" | "structure.input.plusDragSelection" | "structure.input.doubleClick" | "structure.docs.toolsAndKeys" | "structure.docs.atomProperties" | "structure.docs.stereochemistry" | "structure.help.hoverToolbar" | "structure.help.learnMore" | "structure.mouseAndKeyboard" | "structure.tool.clear.name" | "structure.tool.clear.description" | "structure.tool.cleanUp.name" | "structure.tool.cleanUp.description" | "structure.tool.select.name" | "structure.tool.select.description" | "structure.tool.unknownConfiguration.name" | "structure.tool.unknownConfiguration.description" | "structure.tool.delete.name" | "structure.tool.delete.description" | "structure.tool.singleBond.name" | "structure.tool.singleBond.description" | "structure.tool.upBond.name" | "structure.tool.upBond.description" | "structure.tool.positiveCharge.name" | "structure.tool.positiveCharge.description" | "structure.tool.undo.name" | "structure.tool.undo.description" | "structure.tool.zoomAndRotate.name" | "structure.tool.zoomAndRotate.description" | "structure.tool.atomMapping.name" | "structure.tool.atomMapping.description" | "structure.tool.enhancedStereo.name" | "structure.tool.enhancedStereo.description" | "structure.tool.text.name" | "structure.tool.text.description" | "structure.tool.chain.name" | "structure.tool.chain.description" | "structure.tool.downBond.name" | "structure.tool.downBond.description" | "structure.tool.negativeCharge.name" | "structure.tool.negativeCharge.description" | "structure.tool.anyAtom.name" | "structure.tool.anyAtom.description" | "structure.tool.ring3.name" | "structure.tool.ring3.description" | "structure.tool.ring5.name" | "structure.tool.ring5.description" | "structure.tool.ring7.name" | "structure.tool.ring7.description" | "structure.tool.ring4.name" | "structure.tool.ring4.description" | "structure.tool.ring6.name" | "structure.tool.ring6.description" | "structure.tool.benzene.name" | "structure.tool.benzene.description" | "structure.tool.carbon.name" | "structure.tool.carbon.description" | "structure.tool.nitrogen.name" | "structure.tool.nitrogen.description" | "structure.tool.oxygen.name" | "structure.tool.oxygen.description" | "structure.tool.fluorine.name" | "structure.tool.fluorine.description" | "structure.tool.bromine.name" | "structure.tool.bromine.description" | "structure.tool.hydrogen.name" | "structure.tool.hydrogen.description" | "structure.tool.silicon.name" | "structure.tool.silicon.description" | "structure.tool.phosphorus.name" | "structure.tool.phosphorus.description" | "structure.tool.sulfur.name" | "structure.tool.sulfur.description" | "structure.tool.chlorine.name" | "structure.tool.chlorine.description" | "structure.tool.iodine.name" | "structure.tool.iodine.description" | "structure.tool.reactionOnly" | "structure.tool.unavailable" | "structure.loadingEditor" | "structure.import.open" | "structure.import.drop" | "structure.import.unreadableFile" | "structure.import.unreadableText" | "structure.export.open" | "structure.export.glyph" | "structure.export.title" | "structure.export.loading" | "structure.export.nothing" | "structure.export.picture" | "structure.export.identifiers" | "structure.export.saveSvg" | "structure.export.savePng" | "structure.export.copyPng" | "structure.export.copySvg" | "structure.export.svgCopied" | "structure.export.smiles" | "structure.export.smilesHelp" | "structure.export.molfileV3000" | "structure.export.molfileV3000Help" | "structure.export.molfileV2000" | "structure.export.molfileV2000Help" | "structure.export.idCode" | "structure.export.idCodeHelp" | "structure.export.noStereoIdCode" | "structure.export.noStereoIdCodeHelp" | "structure.export.noStereoTautomerIdCode" | "structure.export.noStereoTautomerIdCodeHelp" | "structure.search.title" | "structure.search.apply" | "structure.search.examples" | "structure.search.substructure" | "structure.search.substructureHelp" | "structure.search.similarity" | "structure.search.similarityHelp" | "structure.search.exact" | "structure.search.exactHelp" | "structure.search.exactNoStereo" | "structure.search.exactNoStereoHelp" | "structure.search.exactNoStereoTautomer" | "structure.search.exactNoStereoTautomerHelp" | "structure.search.similarityLabel" | "structure.search.threshold" | "structure.search.thresholdHelp" | "structure.search.thresholdOption" | "structure.search.exampleBenzene" | "structure.search.examplePyridine" | "structure.search.exampleAmide" | "structure.search.exampleSulfonamide" | "structure.search.exampleTrifluoromethyl" | "periodic.table" | "periodic.group" | "periodic.period" | "periodic.block" | "periodic.allElements" | "periodic.help.title" | "periodic.help.click" | "periodic.help.modClick" | "periodic.help.element" | "periodic.help.elementClick" | "periodic.help.elementMod" | "periodic.help.number" | "periodic.help.numberClick" | "periodic.help.runMod" | "periodic.help.block" | "periodic.help.blockClick" | "periodic.help.corner" | "periodic.help.cornerClick" | "periodic.help.arrowsClick" | "periodic.help.note" | "periodic.help.ctrl" | "periodic.cellLabel" | "periodic.category.alkali-metal" | "periodic.category.alkaline-earth-metal" | "periodic.category.transition-metal" | "periodic.category.post-transition-metal" | "periodic.category.metalloid" | "periodic.category.nonmetal" | "periodic.category.halogen" | "periodic.category.noble-gas" | "periodic.category.lanthanoid" | "periodic.category.actinoid" | "molecule3d.view" | "molecule3d.resetView" | "molecule3d.spin" | "molecule3d.surface" | "molecule3d.molecularSurface" | "molecule3d.displayOptions" | "molecule3d.exportImage" | "molecule3d.frames" | "molecule3d.framesHelp" | "molecule3d.frames.one" | "molecule3d.frames.all" | "molecule3d.fullScreen" | "molecule3d.measure" | "molecule3d.clearMeasurements" | "molecule3d.measurement.distance" | "molecule3d.measurement.angle" | "molecule3d.measurement.dihedral" | "molecule3d.measurementTooltip" | "molecule3d.representation.ball-and-stick" | "molecule3d.representation.spacefill" | "molecule3d.representation.stick" | "molecule3d.size" | "molecule3d.surfaceOpacity" | "molecule3d.solventProbe" | "molecule3d.solventProbeHelp" | "molecule3d.surfaceColour" | "molecule3d.colour" | "molecule3d.resetSettings" | "molecule3d.atDefaults" | "molecule3d.surfaceOff" | "molecule3d.showSurface" | "molecule3d.coloring.uniform" | "molecule3d.coloring.element" | "molecule3d.coloring.polarity" | "molecule3d.neutral" | "molecule3d.tpsaHelp" | "molecule3d.loadingViewer" | "molecule3d.couldNotDraw" | "molecule3d.gesture.rotate" | "molecule3d.gesture.rollDrag" | "molecule3d.gesture.rollKeys" | "molecule3d.gesture.moveDrag" | "molecule3d.gesture.moveCtrl" | "molecule3d.gesture.zoom" | "molecule3d.gesture.clip" | "molecule3d.gesture.centreAtom" | "molecule3d.gesture.centreMolecule" | "molecule3d.input.drag" | "molecule3d.input.plus" | "molecule3d.input.plusDrag" | "molecule3d.input.plusScroll" | "molecule3d.input.or" | "molecule3d.input.rightDrag" | "molecule3d.input.scroll" | "molecule3d.input.clickAtom" | "molecule3d.input.clickBackground" | "molecule3d.helpNote" | "orbital.couldNotDraw" | "orbital.sampling" | "orbital.showAxes" | "orbital.axesTitle" | "orbital.axesBody" | "orbital.axesExample" | "orbital.spin" | "orbital.spinTitle" | "orbital.spinBody" | "orbital.resetTitle" | "orbital.resetBody" | "viewer.capability.noWindow" | "viewer.capability.noContext" | "viewer.capability.noFloatTextures" | "viewer.capability.ready" | "conformers.strategy.adaptive-random" | "conformers.strategy.likely-random" | "conformers.strategy.pure-random" | "conformers.strategy.likely-systematic" | "conformers.strategyDetail.adaptive-random" | "conformers.strategyDetail.likely-random" | "conformers.strategyDetail.pure-random" | "conformers.strategyDetail.likely-systematic" | "conformers.minimisation.none" | "number.increment" | "number.decrement" | "range.lowest" | "range.highest" | "range.lowestIs" | "range.highestIs" | "range.noLowerBound" | "range.noUpperBound" | "range.typeValue" | "range.clear" | "taxonomy.lineage" | "taxonomy.rankNote" | "taxonomy.ncbi" | "taxonomy.ncbiTitle" | "taxonomy.rank.realm" | "taxonomy.rank.domain" | "taxonomy.rank.superkingdom" | "taxonomy.rank.kingdom" | "taxonomy.rank.subkingdom" | "taxonomy.rank.superphylum" | "taxonomy.rank.phylum" | "taxonomy.rank.subphylum" | "taxonomy.rank.superclass" | "taxonomy.rank.class" | "taxonomy.rank.subclass" | "taxonomy.rank.infraclass" | "taxonomy.rank.cohort" | "taxonomy.rank.subcohort" | "taxonomy.rank.superorder" | "taxonomy.rank.order" | "taxonomy.rank.suborder" | "taxonomy.rank.infraorder" | "taxonomy.rank.parvorder" | "taxonomy.rank.superfamily" | "taxonomy.rank.family" | "taxonomy.rank.subfamily" | "taxonomy.rank.tribe" | "taxonomy.rank.subtribe" | "taxonomy.rank.genus" | "taxonomy.rank.subgenus" | "taxonomy.rank.section" | "taxonomy.rank.subsection" | "taxonomy.rank.series" | "taxonomy.rank.subseries" | "taxonomy.rank.speciesGroup" | "taxonomy.rank.speciesSubgroup" | "taxonomy.rank.species" | "taxonomy.rank.formaSpecialis" | "taxonomy.rank.subspecies" | "taxonomy.rank.varietas" | "taxonomy.rank.subvariety" | "taxonomy.rank.forma" | "taxonomy.rank.pathogroup" | "taxonomy.rank.serogroup" | "taxonomy.rank.serotype" | "taxonomy.rank.biotype" | "taxonomy.rank.genotype" | "taxonomy.rank.morph" | "taxonomy.rank.strain" | "taxonomy.rank.isolate" | "taxonomy.rank.noRank" | "taxonomy.rank.clade" | "taxonomy.rank.cellularRoot" | "taxonomy.rank.acellularRoot" | "moleculesToken.title" | "moleculesToken.checkedAt" | "moleculesToken.checkAgain" | "moleculesToken.notChecked" | "moleculesToken.column.variable" | "moleculesToken.column.source" | "moleculesToken.column.status" | "moleculesToken.column.details" | "moleculesToken.anySource" | "moleculesToken.verdict.ok" | "moleculesToken.verdict.otherSource" | "moleculesToken.verdict.refused" | "moleculesToken.verdict.unset" | "moleculesToken.verdict.uncheckable" | "moleculesToken.verdict.unanswered" | "moleculesToken.forSource" | "moleculesToken.issued" | "moleculesToken.issuedTo" | "moleculesToken.lastUsed" | "moleculesToken.neverUsed" | "moleculesToken.otherSourceDetail" | "moleculesToken.refusedDetail" | "moleculesToken.unsetDetail" | "moleculesToken.uncheckableDetail" | "moleculesToken.howToChange" | "moleculesToken.fix.title" | "moleculesToken.fix.issueOne" | "moleculesToken.fix.issueMany" | "moleculesToken.fix.issueOnServer" | "moleculesToken.fix.envOne" | "moleculesToken.fix.envMany" | "moleculesToken.fix.restart" | "ir.mode.intensity" | "ir.raman.xTitle" | "ir.raman.chart" | "ir.raman.tools" | "ir.raman.viewer" | "ir.raman.viewerHelp" | "ir.raman.mark" | "ir.raman.about" | "ir.raman.documentation" | "ir.raman.command.documentation" | "ir.raman.command.readTool" | "ir.raman.command.boxTool" | "ir.raman.command.zoomIn" | "ir.raman.command.togglePicking" | "ir.raman.doc.bands" | "ir.raman.doc.sampled" | "ir.raman.aboutLead" | "ir.raman.credit.picking" | "ir.raman.credit.jcamp">;
|
|
20
|
+
export declare const CHROME_CATALOG: MessageCatalog<"language.label" | "chrome.pages" | "chrome.about" | "chrome.aboutTitle" | "chrome.contact" | "chrome.contactTitle" | "account.signIn" | "account.signOut" | "account.signedInAs" | "account.username" | "account.password" | "account.role" | "account.role.read" | "account.role.write" | "account.role.admin" | "account.you" | "account.envManaged" | "account.envManagedTitle" | "account.accounts" | "account.accountsNote" | "account.column.added" | "account.column.lastSignIn" | "account.column.passwordChanged" | "account.column.actions" | "account.never" | "account.add" | "account.addSubmit" | "account.added" | "account.usernameHelp" | "account.setPassword" | "account.setPasswordTitle" | "account.setPasswordNote" | "account.setPasswordSubmit" | "account.roleOf" | "account.changePassword" | "account.currentPassword" | "account.newPassword" | "account.repeatPassword" | "account.passwordsDiffer" | "account.passwordChanged" | "account.ownEnvManaged" | "account.remove" | "account.removeQuestion" | "account.needsWrite" | "account.needsAdmin" | "account.switchAccount" | "account.unreachable" | "account.refusal.wrongCredentials" | "account.refusal.tooManyAttempts" | "account.refusal.signInElsewhere" | "account.refusal.signOutElsewhere" | "account.refusal.changeElsewhere" | "account.refusal.signInRequired" | "account.refusal.sessionEnded" | "account.refusal.wrongToken" | "account.refusal.noAdminToken" | "account.refusal.roleTooLow" | "account.refusal.usernameLength" | "account.refusal.usernameCharacters" | "account.refusal.usernameTaken" | "account.refusal.passwordEmpty" | "account.refusal.passwordTooLong" | "account.refusal.noSuchAccount" | "account.refusal.nothingToChange" | "account.refusal.useChangePassword" | "account.refusal.ownRole" | "account.refusal.removeYourself" | "account.refusal.lastAdmin" | "account.refusal.envManaged" | "account.refusal.tokenCannotChangePassword" | "account.refusal.wrongCurrentPassword" | "account.refusal.accountRemoved" | "ecosystem.tools" | "ecosystem.menuHeading" | "ecosystem.otherTools" | "ecosystem.youAreHere" | "ecosystem.group.basics.label" | "ecosystem.group.basics.blurb" | "ecosystem.group.practice.label" | "ecosystem.group.practice.blurb" | "ecosystem.group.structures.label" | "ecosystem.group.structures.blurb" | "ecosystem.group.spectra.label" | "ecosystem.group.spectra.blurb" | "ecosystem.group.research.label" | "ecosystem.group.research.blurb" | "ecosystem.group.computing.label" | "ecosystem.group.computing.blurb" | "site.learn.tagline" | "site.inchi.tagline" | "site.vcl.tagline" | "site.smiles.tagline" | "site.openbabel.tagline" | "site.chemcalc.tagline" | "site.dbe.tagline" | "site.nmrium.tagline" | "site.metabo.tagline" | "site.derepflow.tagline" | "site.isomers.tagline" | "site.tex.tagline" | "site.lcao.tagline" | "site.regexp.tagline" | "site.pdb.tagline" | "site.elucidation.tagline" | "site.spectroscopy.tagline" | "site.equilibrium.tagline" | "site.polycarp.tagline" | "site.3d.tagline" | "site.periodic-table.tagline" | "site.database.tagline" | "site.symmetry.tagline" | "site.osiris.tagline" | "site.atoms.tagline" | "site.moles.tagline" | "site.inorganic.tagline" | "site.iupac-name.tagline" | "site.slides.tagline" | "site.vibrations.tagline" | "site.draw.tagline" | "site.molecules.tagline" | "site.chembio.tagline" | "site.wikidata.tagline" | "site.mz.tagline" | "share.button" | "share.buttonTitle" | "share.dialogTitleFor" | "share.frameTitle" | "share.layout" | "share.embed" | "share.embedHint" | "share.protect" | "share.protectHint" | "share.on" | "share.off" | "share.showOnPage" | "share.custom" | "share.options" | "share.preview" | "share.device.window" | "share.device.mobile" | "share.device.laptop" | "share.device.hd" | "share.deviceSize" | "share.previewWhat" | "share.previewLive" | "share.copyLink" | "share.copyLinkHelpTitle" | "share.copyLinkHelp" | "share.openInNewTab" | "share.openInNewTabHelpTitle" | "share.openInNewTabHelp" | "share.copyIframe" | "share.copyIframeHelpTitle" | "share.copyIframeHelp" | "seal.refusedTitle" | "seal.refusedBody" | "seal.openWithout" | "cite.button" | "cite.copyReferenceAs" | "cite.pleaseCiteBoth" | "cite.pleaseCiteEvery" | "cite.copyBothAs" | "cite.copyEveryAs" | "cite.importIntoManager" | "cite.openArticle" | "cite.openDataset" | "cite.copyThisAs" | "cite.importThis" | "cite.copied" | "cite.copyFailed" | "cite.format.doi" | "cite.download.ris" | "cite.download.bibtex" | "clipboard.copied" | "clipboard.failed" | "clipboard.copy" | "clipboard.copyThe" | "clipboard.copyValue" | "clipboard.copyToClipboard" | "card.details" | "card.detailsTitle" | "card.detailsLabel" | "card.copyTable" | "card.copyTableTitle" | "card.copyPicture" | "about.providedBy" | "about.whatYouCanDo" | "about.builtOn" | "about.buildVersion" | "about.buildBuilt" | "about.buildCommit" | "about.howToCite" | "about.citeWork" | "about.nameList" | "credits.openbabel.description" | "credits.openchemlib.description" | "credits.openchemlib-utils.description" | "credits.osiris-property-explorer.description" | "credits.react-ocl.description" | "credits.react-mf.description" | "credits.mass-tools.description" | "credits.chem-equilibrium.description" | "credits.ml-matrix.description" | "credits.ml-xsadd.description" | "credits.cif-to-json.description" | "credits.ml-spectra-processing.description" | "credits.occ.description" | "credits.xtb-wasm.description" | "credits.molstar.description" | "credits.blueprint.description" | "credits.react-science.description" | "credits.react-cheminfo.description" | "credits.cheminfo-font.description" | "credits.nivo.description" | "credits.mathjax.description" | "credits.lexical.description" | "credits.katex.description" | "credits.dnd-kit.description" | "credits.react-roi.description" | "credits.file-collection.description" | "credits.zip-js.description" | "credits.preact-signals.description" | "credits.fastify.description" | "credits.sqlite.description" | "credits.sqlite-wasm.description" | "credits.pouchdb.description" | "credits.chemexper.description" | "credits.react.description" | "credits.vite.description" | "help.label" | "help.learnMore" | "help.on" | "confirm.delete" | "confirm.cancel" | "error.title" | "error.tryAgain" | "error.noMessage" | "capsule.filter" | "color.scales" | "color.done" | "color.custom" | "color.customEllipsis" | "color.inUse" | "color.uniform" | "color.uniformDescription" | "color.uniformColour" | "color.colourScale" | "color.legendLabel" | "color.scaleBeingEdited" | "color.anchorColour" | "color.anchorPosition" | "color.removeAnchor" | "color.editorHint" | "color.saturation" | "color.brightness" | "color.toneHelp" | "color.path" | "color.interpolation.rgb" | "color.interpolation.hsv" | "color.interpolation.hsv-long" | "color.kind.sequential" | "color.kind.diverging" | "color.kind.cyclic" | "color.scale.viridis.label" | "color.scale.viridis.description" | "color.scale.plasma.label" | "color.scale.plasma.description" | "color.scale.magma.label" | "color.scale.magma.description" | "color.scale.inferno.label" | "color.scale.inferno.description" | "color.scale.cividis.label" | "color.scale.cividis.description" | "color.scale.turbo.label" | "color.scale.turbo.description" | "color.scale.greys.label" | "color.scale.greys.description" | "color.scale.cool-warm.label" | "color.scale.cool-warm.description" | "color.scale.blue-red.label" | "color.scale.blue-red.description" | "color.scale.rainbow.label" | "color.scale.rainbow.description" | "download.save" | "download.saveFigure" | "download.saveThisFigure" | "download.format" | "download.formatHelp" | "download.resolution" | "download.resolutionHelp" | "download.resolutionExample" | "download.resolutionDpiHelp" | "download.resolutionDpiExample" | "download.noFigure" | "download.hintRasterSvg" | "download.hintSvg" | "download.hintPng" | "download.hintSvgDpi" | "download.hintPngDpi" | "download.hintCopied" | "download.copyUnsupported" | "download.size" | "download.sizeHelp" | "download.sizeScreen" | "download.sizeColumn" | "download.sizeCustom" | "download.customSize" | "download.width" | "download.height" | "pedagogy.check" | "pedagogy.revealHint" | "pedagogy.revealHintCount" | "pedagogy.revealHintLadder" | "pedagogy.hideSolution" | "pedagogy.revealSolution" | "pedagogy.reset" | "pedagogy.hints" | "pedagogy.solvedCount" | "pedagogy.clearAll" | "pedagogy.keepAnswers" | "pedagogy.clearEverything" | "pedagogy.clearWarning" | "pedagogy.filterTerms" | "pedagogy.noTermDefined" | "pedagogy.noTermMatches" | "pedagogy.example" | "pedagogy.input" | "pedagogy.previous" | "pedagogy.next" | "pedagogy.stepOf" | "pedagogy.answerEmpty" | "pedagogy.answerUnreadable" | "pedagogy.questions" | "pedagogy.questionsInSeries" | "pedagogy.questionCount" | "pedagogy.allQuestions" | "pedagogy.newSeries" | "pedagogy.newSeriesTitle" | "pedagogy.seriesQuestions" | "pedagogy.questionNumber" | "pedagogy.questionOf" | "pedagogy.solved" | "pedagogy.solvedWithHintsOf" | "pedagogy.solvedWithoutHint" | "pedagogy.nextQuestion" | "pedagogy.solution" | "pedagogy.exercises" | "pedagogy.statusIdle" | "pedagogy.statusAttempted" | "pedagogy.statusSolved" | "pedagogy.solvedWithOneHint" | "pedagogy.solvedWithHints" | "formula.copyLabel" | "formula.typeFirst" | "formula.notElement" | "formula.noAtom" | "formula.wholeCounts" | "formula.unknownNotation" | "formula.unreadable" | "formula.lookup.title" | "formula.lookup.reset" | "formula.lookup.mass" | "formula.lookup.massPlaceholder" | "formula.lookup.neutral" | "formula.lookup.fewest" | "formula.lookup.most" | "formula.lookup.typeMass" | "formula.lookup.closest" | "formula.lookup.countOne" | "formula.lookup.countMany" | "formula.lookup.nothingFits" | "formula.lookup.tooWide" | "formula.lookup.ppm" | "formula.lookup.detail" | "slides.exit" | "slides.previousSlide" | "slides.nextSlide" | "slides.toggleFullscreen" | "slides.backToSlides" | "slides.backToSlide" | "slides.noAddress" | "slides.liveDemos" | "slides.noTalkYet" | "overlay.options" | "overlay.whatAmILookingAt" | "overlay.reset" | "overlay.hoverAName" | "overlay.dismiss" | "axis.scale" | "axis.xScale" | "axis.yScale" | "axis.linear" | "axis.logarithmic" | "axis.scaleHelp" | "delimited.copyTable" | "delimited.copyOrDownload" | "delimited.close" | "delimited.separator" | "delimited.save" | "delimited.copy" | "delimited.tableAsText" | "chart.measurement" | "chart.measurements" | "delimited.descriptionOne" | "delimited.descriptionMany" | "structure.guide.atom.title" | "structure.guide.atom.element" | "structure.guide.atom.group" | "structure.guide.atom.applyOrForget" | "structure.guide.atom.chain" | "structure.guide.atom.charge" | "structure.guide.atom.radical" | "structure.guide.atom.spin" | "structure.guide.atom.attachment" | "structure.guide.atom.query" | "structure.guide.atom.halogen" | "structure.guide.atom.delete" | "structure.guide.atom.note" | "structure.guide.bond.title" | "structure.guide.bond.order" | "structure.guide.bond.zeroOrder" | "structure.guide.bond.stereo" | "structure.guide.bond.unknownGeometry" | "structure.guide.bond.threeRing" | "structure.guide.bond.ring" | "structure.guide.bond.benzene" | "structure.guide.bond.query" | "structure.guide.bond.delete" | "structure.guide.anywhere.title" | "structure.guide.anywhere.undo" | "structure.guide.anywhere.copy" | "structure.guide.anywhere.paste" | "structure.guide.anywhere.deleteSelection" | "structure.guide.anywhere.flip" | "structure.guide.anywhere.help" | "structure.guide.anywhere.note" | "structure.guide.selecting.title" | "structure.guide.selecting.lasso" | "structure.guide.selecting.rectangle" | "structure.guide.selecting.add" | "structure.guide.selecting.move" | "structure.guide.selecting.duplicate" | "structure.guide.selecting.queryFeatures" | "structure.guide.selecting.note" | "structure.guide.stereochemistry.title" | "structure.guide.stereochemistry.note" | "structure.input.type" | "structure.input.or" | "structure.input.drag" | "structure.input.plusDrag" | "structure.input.dragSelection" | "structure.input.plusDragSelection" | "structure.input.doubleClick" | "structure.docs.toolsAndKeys" | "structure.docs.atomProperties" | "structure.docs.stereochemistry" | "structure.help.hoverToolbar" | "structure.help.learnMore" | "structure.mouseAndKeyboard" | "structure.tool.clear.name" | "structure.tool.clear.description" | "structure.tool.cleanUp.name" | "structure.tool.cleanUp.description" | "structure.tool.select.name" | "structure.tool.select.description" | "structure.tool.unknownConfiguration.name" | "structure.tool.unknownConfiguration.description" | "structure.tool.delete.name" | "structure.tool.delete.description" | "structure.tool.singleBond.name" | "structure.tool.singleBond.description" | "structure.tool.upBond.name" | "structure.tool.upBond.description" | "structure.tool.positiveCharge.name" | "structure.tool.positiveCharge.description" | "structure.tool.undo.name" | "structure.tool.undo.description" | "structure.tool.zoomAndRotate.name" | "structure.tool.zoomAndRotate.description" | "structure.tool.atomMapping.name" | "structure.tool.atomMapping.description" | "structure.tool.enhancedStereo.name" | "structure.tool.enhancedStereo.description" | "structure.tool.text.name" | "structure.tool.text.description" | "structure.tool.chain.name" | "structure.tool.chain.description" | "structure.tool.downBond.name" | "structure.tool.downBond.description" | "structure.tool.negativeCharge.name" | "structure.tool.negativeCharge.description" | "structure.tool.anyAtom.name" | "structure.tool.anyAtom.description" | "structure.tool.ring3.name" | "structure.tool.ring3.description" | "structure.tool.ring5.name" | "structure.tool.ring5.description" | "structure.tool.ring7.name" | "structure.tool.ring7.description" | "structure.tool.ring4.name" | "structure.tool.ring4.description" | "structure.tool.ring6.name" | "structure.tool.ring6.description" | "structure.tool.benzene.name" | "structure.tool.benzene.description" | "structure.tool.carbon.name" | "structure.tool.carbon.description" | "structure.tool.nitrogen.name" | "structure.tool.nitrogen.description" | "structure.tool.oxygen.name" | "structure.tool.oxygen.description" | "structure.tool.fluorine.name" | "structure.tool.fluorine.description" | "structure.tool.bromine.name" | "structure.tool.bromine.description" | "structure.tool.hydrogen.name" | "structure.tool.hydrogen.description" | "structure.tool.silicon.name" | "structure.tool.silicon.description" | "structure.tool.phosphorus.name" | "structure.tool.phosphorus.description" | "structure.tool.sulfur.name" | "structure.tool.sulfur.description" | "structure.tool.chlorine.name" | "structure.tool.chlorine.description" | "structure.tool.iodine.name" | "structure.tool.iodine.description" | "structure.tool.reactionOnly" | "structure.tool.unavailable" | "structure.loadingEditor" | "structure.import.open" | "structure.import.drop" | "structure.import.unreadableFile" | "structure.import.unreadableText" | "structure.export.open" | "structure.export.glyph" | "structure.export.title" | "structure.export.loading" | "structure.export.nothing" | "structure.export.picture" | "structure.export.identifiers" | "structure.export.saveSvg" | "structure.export.savePng" | "structure.export.copyPng" | "structure.export.copySvg" | "structure.export.svgCopied" | "structure.export.smiles" | "structure.export.smilesHelp" | "structure.export.molfileV3000" | "structure.export.molfileV3000Help" | "structure.export.molfileV2000" | "structure.export.molfileV2000Help" | "structure.export.idCode" | "structure.export.idCodeHelp" | "structure.export.noStereoIdCode" | "structure.export.noStereoIdCodeHelp" | "structure.export.noStereoTautomerIdCode" | "structure.export.noStereoTautomerIdCodeHelp" | "structure.search.title" | "structure.search.apply" | "structure.search.examples" | "structure.search.substructure" | "structure.search.substructureHelp" | "structure.search.similarity" | "structure.search.similarityHelp" | "structure.search.exact" | "structure.search.exactHelp" | "structure.search.exactNoStereo" | "structure.search.exactNoStereoHelp" | "structure.search.exactNoStereoTautomer" | "structure.search.exactNoStereoTautomerHelp" | "structure.search.similarityLabel" | "structure.search.threshold" | "structure.search.thresholdHelp" | "structure.search.thresholdOption" | "structure.search.exampleBenzene" | "structure.search.examplePyridine" | "structure.search.exampleAmide" | "structure.search.exampleSulfonamide" | "structure.search.exampleTrifluoromethyl" | "periodic.table" | "periodic.group" | "periodic.period" | "periodic.block" | "periodic.allElements" | "periodic.help.title" | "periodic.help.click" | "periodic.help.modClick" | "periodic.help.element" | "periodic.help.elementClick" | "periodic.help.elementMod" | "periodic.help.number" | "periodic.help.numberClick" | "periodic.help.runMod" | "periodic.help.block" | "periodic.help.blockClick" | "periodic.help.corner" | "periodic.help.cornerClick" | "periodic.help.arrowsClick" | "periodic.help.note" | "periodic.help.ctrl" | "periodic.cellLabel" | "periodic.category.alkali-metal" | "periodic.category.alkaline-earth-metal" | "periodic.category.transition-metal" | "periodic.category.post-transition-metal" | "periodic.category.metalloid" | "periodic.category.nonmetal" | "periodic.category.halogen" | "periodic.category.noble-gas" | "periodic.category.lanthanoid" | "periodic.category.actinoid" | "molecule3d.view" | "molecule3d.resetView" | "molecule3d.spin" | "molecule3d.surface" | "molecule3d.molecularSurface" | "molecule3d.displayOptions" | "molecule3d.exportImage" | "molecule3d.frames" | "molecule3d.framesHelp" | "molecule3d.frames.one" | "molecule3d.frames.all" | "molecule3d.fullScreen" | "molecule3d.measure" | "molecule3d.clearMeasurements" | "molecule3d.measurement.distance" | "molecule3d.measurement.angle" | "molecule3d.measurement.dihedral" | "molecule3d.measurementTooltip" | "molecule3d.representation.ball-and-stick" | "molecule3d.representation.spacefill" | "molecule3d.representation.stick" | "molecule3d.size" | "molecule3d.surfaceOpacity" | "molecule3d.solventProbe" | "molecule3d.solventProbeHelp" | "molecule3d.surfaceColour" | "molecule3d.colour" | "molecule3d.resetSettings" | "molecule3d.atDefaults" | "molecule3d.surfaceOff" | "molecule3d.showSurface" | "molecule3d.coloring.uniform" | "molecule3d.coloring.element" | "molecule3d.coloring.polarity" | "molecule3d.neutral" | "molecule3d.tpsaHelp" | "molecule3d.loadingViewer" | "molecule3d.couldNotDraw" | "molecule3d.gesture.rotate" | "molecule3d.gesture.rollDrag" | "molecule3d.gesture.rollKeys" | "molecule3d.gesture.moveDrag" | "molecule3d.gesture.moveCtrl" | "molecule3d.gesture.zoom" | "molecule3d.gesture.clip" | "molecule3d.gesture.centreAtom" | "molecule3d.gesture.centreMolecule" | "molecule3d.input.drag" | "molecule3d.input.plus" | "molecule3d.input.plusDrag" | "molecule3d.input.plusScroll" | "molecule3d.input.or" | "molecule3d.input.rightDrag" | "molecule3d.input.scroll" | "molecule3d.input.clickAtom" | "molecule3d.input.clickBackground" | "molecule3d.helpNote" | "orbital.couldNotDraw" | "orbital.sampling" | "orbital.showAxes" | "orbital.axesTitle" | "orbital.axesBody" | "orbital.axesExample" | "orbital.spin" | "orbital.spinTitle" | "orbital.spinBody" | "orbital.resetTitle" | "orbital.resetBody" | "viewer.capability.noWindow" | "viewer.capability.noContext" | "viewer.capability.noFloatTextures" | "viewer.capability.ready" | "conformers.strategy.adaptive-random" | "conformers.strategy.likely-random" | "conformers.strategy.pure-random" | "conformers.strategy.likely-systematic" | "conformers.strategyDetail.adaptive-random" | "conformers.strategyDetail.likely-random" | "conformers.strategyDetail.pure-random" | "conformers.strategyDetail.likely-systematic" | "conformers.minimisation.none" | "number.increment" | "number.decrement" | "range.lowest" | "range.highest" | "range.lowestIs" | "range.highestIs" | "range.noLowerBound" | "range.noUpperBound" | "range.typeValue" | "range.clear" | "taxonomy.lineage" | "taxonomy.rankNote" | "taxonomy.ncbi" | "taxonomy.ncbiTitle" | "taxonomy.rank.realm" | "taxonomy.rank.domain" | "taxonomy.rank.superkingdom" | "taxonomy.rank.kingdom" | "taxonomy.rank.subkingdom" | "taxonomy.rank.superphylum" | "taxonomy.rank.phylum" | "taxonomy.rank.subphylum" | "taxonomy.rank.superclass" | "taxonomy.rank.class" | "taxonomy.rank.subclass" | "taxonomy.rank.infraclass" | "taxonomy.rank.cohort" | "taxonomy.rank.subcohort" | "taxonomy.rank.superorder" | "taxonomy.rank.order" | "taxonomy.rank.suborder" | "taxonomy.rank.infraorder" | "taxonomy.rank.parvorder" | "taxonomy.rank.superfamily" | "taxonomy.rank.family" | "taxonomy.rank.subfamily" | "taxonomy.rank.tribe" | "taxonomy.rank.subtribe" | "taxonomy.rank.genus" | "taxonomy.rank.subgenus" | "taxonomy.rank.section" | "taxonomy.rank.subsection" | "taxonomy.rank.series" | "taxonomy.rank.subseries" | "taxonomy.rank.speciesGroup" | "taxonomy.rank.speciesSubgroup" | "taxonomy.rank.species" | "taxonomy.rank.formaSpecialis" | "taxonomy.rank.subspecies" | "taxonomy.rank.varietas" | "taxonomy.rank.subvariety" | "taxonomy.rank.forma" | "taxonomy.rank.pathogroup" | "taxonomy.rank.serogroup" | "taxonomy.rank.serotype" | "taxonomy.rank.biotype" | "taxonomy.rank.genotype" | "taxonomy.rank.morph" | "taxonomy.rank.strain" | "taxonomy.rank.isolate" | "taxonomy.rank.noRank" | "taxonomy.rank.clade" | "taxonomy.rank.cellularRoot" | "taxonomy.rank.acellularRoot" | "moleculesToken.title" | "moleculesToken.checkedAt" | "moleculesToken.checkAgain" | "moleculesToken.notChecked" | "moleculesToken.column.variable" | "moleculesToken.column.source" | "moleculesToken.column.status" | "moleculesToken.column.details" | "moleculesToken.anySource" | "moleculesToken.verdict.ok" | "moleculesToken.verdict.otherSource" | "moleculesToken.verdict.refused" | "moleculesToken.verdict.unset" | "moleculesToken.verdict.uncheckable" | "moleculesToken.verdict.unanswered" | "moleculesToken.forSource" | "moleculesToken.issued" | "moleculesToken.issuedTo" | "moleculesToken.lastUsed" | "moleculesToken.neverUsed" | "moleculesToken.otherSourceDetail" | "moleculesToken.refusedDetail" | "moleculesToken.unsetDetail" | "moleculesToken.uncheckableDetail" | "moleculesToken.howToChange" | "moleculesToken.fix.title" | "moleculesToken.fix.issueOne" | "moleculesToken.fix.issueMany" | "moleculesToken.fix.issueOnServer" | "moleculesToken.fix.envOne" | "moleculesToken.fix.envMany" | "moleculesToken.fix.restart" | "ir.mode.intensity" | "ir.raman.xTitle" | "ir.raman.chart" | "ir.raman.tools" | "ir.raman.viewer" | "ir.raman.viewerHelp" | "ir.raman.mark" | "ir.raman.about" | "ir.raman.documentation" | "ir.raman.command.documentation" | "ir.raman.command.readTool" | "ir.raman.command.boxTool" | "ir.raman.command.zoomIn" | "ir.raman.command.togglePicking" | "ir.raman.doc.bands" | "ir.raman.doc.sampled" | "ir.raman.aboutLead" | "ir.raman.credit.picking" | "ir.raman.credit.jcamp" | "panel.focus" | "panel.focusTooltip" | "panel.unfocusTooltip" | "panel.fillScreen" | "panel.fillScreenTooltip" | "panel.fold" | "panel.unfold" | "panel.foldTooltip" | "panel.unfoldTooltip" | "panel.close" | "panel.closeTooltip" | "panel.leaveFullScreen" | "panel.leaveFullScreenTooltip" | "panel.clearFilter" | "panel.colourOf" | "panel.drawIn" | "panel.changeColour">;
|
|
21
21
|
//# sourceMappingURL=chromeCatalog.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chromeCatalog.d.ts","sourceRoot":"","sources":["../../../src/i18n/core/chromeCatalog.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,uBAAuB,CAAuB;AAE7D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,2DAA2D;AAC3D,eAAO,MAAM,iBAAiB,mBAAmB,CAAC;AAElD,qCAAqC;AACrC,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,EAAE,CAAC;AAExC;;;;GAIG;AACH,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"chromeCatalog.d.ts","sourceRoot":"","sources":["../../../src/i18n/core/chromeCatalog.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,uBAAuB,CAAuB;AAE7D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,2DAA2D;AAC3D,eAAO,MAAM,iBAAiB,mBAAmB,CAAC;AAElD,qCAAqC;AACrC,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,EAAE,CAAC;AAExC;;;;GAIG;AACH,eAAO,MAAM,cAAc,mxtBAgBzB,CAAC"}
|
package/lib/locales/de.json
CHANGED
|
@@ -114,6 +114,14 @@
|
|
|
114
114
|
"site.atoms.tagline": "Elektronen, Neutronen, Lewis-Formeln und Oxidationszahlen.",
|
|
115
115
|
"site.moles.tagline": "Eine Reaktion ausgleichen und ihre Massenzusammensetzung berechnen.",
|
|
116
116
|
"site.inorganic.tagline": "Eine anorganische Verbindung benennen und ihre Formel schreiben.",
|
|
117
|
+
"site.iupac-name.tagline": "Der IUPAC-Name einer Struktur, und die Struktur, die ein Name bezeichnet.",
|
|
118
|
+
"site.slides.tagline": "Ein laufendes Werkzeug auf eine Folie setzen, mit dem Link seiner Schaltfläche Teilen.",
|
|
119
|
+
"site.vibrations.tagline": "IR- und Raman-Spektren, im Browser berechnet.",
|
|
120
|
+
"site.draw.tagline": "Strukturen in Publikationsqualität, als SVG, das die Chemie behält.",
|
|
121
|
+
"site.molecules.tagline": "Ein Molekül nachschlagen, mit seinen berechneten Eigenschaften und Quellen.",
|
|
122
|
+
"site.chembio.tagline": "Naturstoffe, und die Organismen, in denen sie gefunden wurden.",
|
|
123
|
+
"site.wikidata.tagline": "Die Chemie der Wikipedia-Infoboxen, nach Struktur durchsuchbar.",
|
|
124
|
+
"site.mz.tagline": "Massenspektren, danach geordnet, wie sie gemessen wurden.",
|
|
117
125
|
"share.button": "Teilen",
|
|
118
126
|
"share.buttonTitle": "Einen Link zu dieser Seite teilen oder sie in Ihre eigene Website einbetten",
|
|
119
127
|
"share.dialogTitleFor": "{title} teilen oder einbetten",
|
|
@@ -282,10 +290,14 @@
|
|
|
282
290
|
"download.resolution": "Auflösung",
|
|
283
291
|
"download.resolutionHelp": "Wie viele Male größer als die Abbildung auf dem Bildschirm die Datei ist. Ein PNG bekommt entsprechend mehr Pixel: zwei passt für eine Folie, drei oder vier für den Druck. Ein SVG bleibt in jeder Größe scharf und öffnet sich entsprechend größer.",
|
|
284
292
|
"download.resolutionExample": "Eine auf dem Bildschirm 640 Pixel breite Abbildung wird 1280 Pixel breit gespeichert.",
|
|
293
|
+
"download.resolutionDpiHelp": "Punkte pro Zoll, wenn die Abbildung in ihrer Größe auf der Seite gedruckt wird. 150 genügt für eine Folie, 300 für die Fotos einer Zeitschrift, 600 bis 1200 für Strichzeichnungen. Das PNG gibt sie an, sodass ein Dokument es in dieser Größe platziert.",
|
|
294
|
+
"download.resolutionDpiExample": "Eine 8,5 cm breite Abbildung wird 1004 Pixel breit gespeichert.",
|
|
285
295
|
"download.noFigure": "Auf der Seite gibt es noch keine Abbildung zum Speichern.",
|
|
286
296
|
"download.hintRasterSvg": "Ein SVG, das ein Bild von {pixels} enthält: eine 3D-Szene hat keine Vektorform.",
|
|
287
297
|
"download.hintSvg": "Öffnet sich mit {pixels} und bleibt in jeder Größe scharf.",
|
|
288
298
|
"download.hintPng": "Gespeichert {pixels}.",
|
|
299
|
+
"download.hintSvgDpi": "Wird {width} × {height} cm groß gedruckt und bleibt in jeder Größe scharf.",
|
|
300
|
+
"download.hintPngDpi": "Gespeichert {pixels}, gedruckt {width} × {height} cm.",
|
|
289
301
|
"download.hintCopied": "In die Zwischenablage kopiert: PNG mit {pixels}.",
|
|
290
302
|
"download.copyUnsupported": "Dieser Browser kann kein Bild in die Zwischenablage legen. Speichern Sie es stattdessen.",
|
|
291
303
|
"download.size": "Größe",
|
|
@@ -794,5 +806,22 @@
|
|
|
794
806
|
"ir.raman.doc.sampled": "Eine Bande wird an dem abgetasteten Punkt angegeben, an dem sie ihr Maximum hat: Ihre Lage ist nur so genau wie das Raster, auf dem das Spektrum aufgenommen wurde.",
|
|
795
807
|
"ir.raman.aboutLead": "Zeichnet ein Raman-Spektrum, findet seine Banden und listet sie neben dem Diagramm auf.",
|
|
796
808
|
"ir.raman.credit.picking": "**ir-spectrum** (cheminfo, MIT) findet die Banden, mit dem Peakfinder von **common-spectrum** und **ml-gsd**.",
|
|
797
|
-
"ir.raman.credit.jcamp": "**convert-to-jcamp** (cheminfo, MIT) schreibt die heruntergeladene JCAMP-DX-Datei."
|
|
809
|
+
"ir.raman.credit.jcamp": "**convert-to-jcamp** (cheminfo, MIT) schreibt die heruntergeladene JCAMP-DX-Datei.",
|
|
810
|
+
"panel.focus": "Auf das Panel „{panel}“ konzentrieren",
|
|
811
|
+
"panel.focusTooltip": "Auf dieses Panel konzentrieren: alle anderen einklappen",
|
|
812
|
+
"panel.unfocusTooltip": "Die anderen Panels wieder ausklappen",
|
|
813
|
+
"panel.fillScreen": "Panel „{panel}“ im Vollbild zeigen",
|
|
814
|
+
"panel.fillScreenTooltip": "Dieses Panel im Vollbild zeigen",
|
|
815
|
+
"panel.fold": "Panel „{panel}“ einklappen",
|
|
816
|
+
"panel.unfold": "Panel „{panel}“ ausklappen",
|
|
817
|
+
"panel.foldTooltip": "Dieses Panel einklappen",
|
|
818
|
+
"panel.unfoldTooltip": "Ausklappen",
|
|
819
|
+
"panel.close": "Panel „{panel}“ schließen",
|
|
820
|
+
"panel.closeTooltip": "Dieses Panel schließen",
|
|
821
|
+
"panel.leaveFullScreen": "Vollbild verlassen",
|
|
822
|
+
"panel.leaveFullScreenTooltip": "Vollbild verlassen (Esc)",
|
|
823
|
+
"panel.clearFilter": "Filter leeren",
|
|
824
|
+
"panel.colourOf": "Farbe von {name}",
|
|
825
|
+
"panel.drawIn": "{name} in {color} zeichnen",
|
|
826
|
+
"panel.changeColour": "Dieses Spektrum in einer anderen Farbe zeichnen"
|
|
798
827
|
}
|