react-cheminfo 0.38.0 → 0.39.1
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/lib/chart/ui/Axes.d.ts +19 -0
- package/lib/chart/ui/Axes.d.ts.map +1 -1
- package/lib/chart/ui/Axes.js +25 -5
- package/lib/chart/ui/Axes.js.map +1 -1
- package/lib/chrome/ui/NavMenuButton.d.ts.map +1 -1
- package/lib/chrome/ui/NavMenuButton.js +41 -11
- package/lib/chrome/ui/NavMenuButton.js.map +1 -1
- package/lib/chrome/ui/SiteHeader.js +24 -1
- package/lib/chrome/ui/SiteHeader.js.map +1 -1
- package/lib/chrome/ui/navItem.d.ts +7 -0
- package/lib/chrome/ui/navItem.d.ts.map +1 -1
- package/lib/chrome/ui/navItem.js.map +1 -1
- package/lib/citation/ui/entries.d.ts.map +1 -1
- package/lib/citation/ui/entries.js +6 -1
- package/lib/citation/ui/entries.js.map +1 -1
- package/lib/clipboard/ui/ClickToCopy.d.ts +11 -0
- package/lib/clipboard/ui/ClickToCopy.d.ts.map +1 -1
- package/lib/clipboard/ui/ClickToCopy.js +28 -10
- package/lib/clipboard/ui/ClickToCopy.js.map +1 -1
- package/lib/clipboard/ui/CopyButton.d.ts +2 -1
- package/lib/clipboard/ui/CopyButton.d.ts.map +1 -1
- package/lib/clipboard/ui/CopyButton.js +2 -1
- package/lib/clipboard/ui/CopyButton.js.map +1 -1
- package/lib/clipboard/ui/CopyableValue.d.ts +24 -4
- package/lib/clipboard/ui/CopyableValue.d.ts.map +1 -1
- package/lib/clipboard/ui/CopyableValue.js +35 -3
- package/lib/clipboard/ui/CopyableValue.js.map +1 -1
- package/lib/clipboard/ui/index.d.ts +1 -1
- package/lib/clipboard/ui/index.d.ts.map +1 -1
- package/lib/clipboard/ui/index.js.map +1 -1
- package/lib/confirm/ui/ConfirmButton.d.ts.map +1 -1
- package/lib/confirm/ui/ConfirmButton.js +2 -1
- package/lib/confirm/ui/ConfirmButton.js.map +1 -1
- package/lib/delimited/ui/TableDataButton.d.ts.map +1 -1
- package/lib/delimited/ui/TableDataButton.js +2 -1
- package/lib/delimited/ui/TableDataButton.js.map +1 -1
- package/lib/download/core/figureSvg.d.ts.map +1 -1
- package/lib/download/core/figureSvg.js +37 -12
- package/lib/download/core/figureSvg.js.map +1 -1
- package/lib/help/ui/HelpToolbarButton.d.ts.map +1 -1
- package/lib/help/ui/HelpToolbarButton.js +2 -1
- package/lib/help/ui/HelpToolbarButton.js.map +1 -1
- package/lib/i18n/core/chromeCatalog.d.ts +1 -1
- package/lib/i18n/core/chromeCatalog.d.ts.map +1 -1
- package/lib/locales/de.json +39 -4
- package/lib/locales/en.json +39 -4
- package/lib/locales/es.json +39 -4
- package/lib/locales/fr.json +39 -4
- package/lib/locales/it.json +39 -4
- package/lib/number/ui/NumberInput.js +1 -1
- package/lib/number/ui/NumberInput.js.map +1 -1
- package/lib/overlay/ui/OverlayIconButton.d.ts.map +1 -1
- package/lib/overlay/ui/OverlayIconButton.js +1 -1
- package/lib/overlay/ui/OverlayIconButton.js.map +1 -1
- package/lib/panel/ui/ClearButton.d.ts.map +1 -1
- package/lib/panel/ui/ClearButton.js +1 -1
- package/lib/panel/ui/ClearButton.js.map +1 -1
- package/lib/pedagogy/core/inlineMarks.d.ts +9 -5
- package/lib/pedagogy/core/inlineMarks.d.ts.map +1 -1
- package/lib/pedagogy/core/inlineMarks.js +14 -6
- package/lib/pedagogy/core/inlineMarks.js.map +1 -1
- package/lib/pedagogy/ui/GlossaryDefinition.d.ts +4 -10
- package/lib/pedagogy/ui/GlossaryDefinition.d.ts.map +1 -1
- package/lib/pedagogy/ui/GlossaryDefinition.js +7 -7
- package/lib/pedagogy/ui/GlossaryDefinition.js.map +1 -1
- package/lib/pedagogy/ui/GlossaryIndex.d.ts.map +1 -1
- package/lib/pedagogy/ui/GlossaryIndex.js +1 -1
- package/lib/pedagogy/ui/GlossaryIndex.js.map +1 -1
- package/lib/pedagogy/ui/GlossaryProvider.d.ts +7 -0
- package/lib/pedagogy/ui/GlossaryProvider.d.ts.map +1 -1
- package/lib/pedagogy/ui/GlossaryProvider.js +3 -2
- package/lib/pedagogy/ui/GlossaryProvider.js.map +1 -1
- package/lib/pedagogy/ui/GlossaryText.d.ts +7 -2
- package/lib/pedagogy/ui/GlossaryText.d.ts.map +1 -1
- package/lib/pedagogy/ui/GlossaryText.js +3 -2
- package/lib/pedagogy/ui/GlossaryText.js.map +1 -1
- package/lib/pedagogy/ui/InlineText.d.ts +8 -2
- package/lib/pedagogy/ui/InlineText.d.ts.map +1 -1
- package/lib/pedagogy/ui/InlineText.js +7 -2
- package/lib/pedagogy/ui/InlineText.js.map +1 -1
- package/lib/pedagogy/ui/ReferenceSectionBlock.d.ts +4 -1
- package/lib/pedagogy/ui/ReferenceSectionBlock.d.ts.map +1 -1
- package/lib/pedagogy/ui/ReferenceSectionBlock.js +2 -1
- package/lib/pedagogy/ui/ReferenceSectionBlock.js.map +1 -1
- package/lib/pedagogy/ui/SyntaxTooltip.d.ts.map +1 -1
- package/lib/pedagogy/ui/SyntaxTooltip.js +11 -10
- 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 +18 -4
- package/lib/pedagogy/ui/TutorialStepStrip.js.map +1 -1
- package/lib/pedagogy/ui/glossaryContext.d.ts +7 -0
- package/lib/pedagogy/ui/glossaryContext.d.ts.map +1 -1
- package/lib/pedagogy/ui/glossaryContext.js.map +1 -1
- package/lib/pedagogy/ui/index.d.ts +1 -1
- package/lib/pedagogy/ui/index.d.ts.map +1 -1
- package/lib/pedagogy/ui/inlineSegments.d.ts +5 -0
- package/lib/pedagogy/ui/inlineSegments.d.ts.map +1 -1
- package/lib/pedagogy/ui/inlineSegments.js +2 -0
- package/lib/pedagogy/ui/inlineSegments.js.map +1 -1
- package/lib/pedagogy/ui/pedagogyStyle.d.ts +8 -9
- package/lib/pedagogy/ui/pedagogyStyle.d.ts.map +1 -1
- package/lib/pedagogy/ui/pedagogyStyle.js +10 -18
- package/lib/pedagogy/ui/pedagogyStyle.js.map +1 -1
- package/lib/seo/core/plainDescription.d.ts +2 -2
- package/lib/seo/core/plainDescription.js +5 -2
- package/lib/seo/core/plainDescription.js.map +1 -1
- package/lib/share/core/devices.d.ts +41 -0
- package/lib/share/core/devices.d.ts.map +1 -0
- package/lib/share/core/devices.js +58 -0
- package/lib/share/core/devices.js.map +1 -0
- package/lib/share/core/index.d.ts +4 -0
- package/lib/share/core/index.d.ts.map +1 -1
- package/lib/share/core/index.js +2 -0
- package/lib/share/core/index.js.map +1 -1
- package/lib/share/core/regions.d.ts +43 -0
- package/lib/share/core/regions.d.ts.map +1 -0
- package/lib/share/core/regions.js +71 -0
- package/lib/share/core/regions.js.map +1 -0
- package/lib/share/ui/HiddenPartsProvider.d.ts.map +1 -1
- package/lib/share/ui/HiddenPartsProvider.js +4 -1
- package/lib/share/ui/HiddenPartsProvider.js.map +1 -1
- package/lib/share/ui/PagePart.d.ts.map +1 -1
- package/lib/share/ui/PagePart.js +10 -1
- package/lib/share/ui/PagePart.js.map +1 -1
- package/lib/share/ui/ShareButton.d.ts.map +1 -1
- package/lib/share/ui/ShareButton.js +3 -4
- package/lib/share/ui/ShareButton.js.map +1 -1
- package/lib/share/ui/ShareConfigOptions.d.ts +6 -1
- package/lib/share/ui/ShareConfigOptions.d.ts.map +1 -1
- package/lib/share/ui/ShareConfigOptions.js +6 -13
- package/lib/share/ui/ShareConfigOptions.js.map +1 -1
- package/lib/share/ui/ShareDialog.d.ts +14 -0
- package/lib/share/ui/ShareDialog.d.ts.map +1 -1
- package/lib/share/ui/ShareDialog.js +3 -3
- package/lib/share/ui/ShareDialog.js.map +1 -1
- package/lib/share/ui/ShareDialogContent.d.ts +2 -2
- package/lib/share/ui/ShareDialogContent.d.ts.map +1 -1
- package/lib/share/ui/ShareDialogContent.js +36 -30
- package/lib/share/ui/ShareDialogContent.js.map +1 -1
- package/lib/share/ui/ShareLinkBar.d.ts +21 -0
- package/lib/share/ui/ShareLinkBar.d.ts.map +1 -0
- package/lib/share/ui/ShareLinkBar.js +32 -0
- package/lib/share/ui/ShareLinkBar.js.map +1 -0
- package/lib/share/ui/SharePanes.d.ts +17 -0
- package/lib/share/ui/SharePanes.d.ts.map +1 -0
- package/lib/share/ui/SharePanes.js +27 -0
- package/lib/share/ui/SharePanes.js.map +1 -0
- package/lib/share/ui/SharePartOptions.d.ts +9 -3
- package/lib/share/ui/SharePartOptions.d.ts.map +1 -1
- package/lib/share/ui/SharePartOptions.js +12 -16
- package/lib/share/ui/SharePartOptions.js.map +1 -1
- package/lib/share/ui/SharePartRow.d.ts +37 -0
- package/lib/share/ui/SharePartRow.d.ts.map +1 -0
- package/lib/share/ui/SharePartRow.js +25 -0
- package/lib/share/ui/SharePartRow.js.map +1 -0
- package/lib/share/ui/SharePresetTabs.d.ts +10 -7
- package/lib/share/ui/SharePresetTabs.d.ts.map +1 -1
- package/lib/share/ui/SharePresetTabs.js +17 -17
- package/lib/share/ui/SharePresetTabs.js.map +1 -1
- package/lib/share/ui/SharePreview.d.ts +32 -0
- package/lib/share/ui/SharePreview.d.ts.map +1 -0
- package/lib/share/ui/SharePreview.js +129 -0
- package/lib/share/ui/SharePreview.js.map +1 -0
- package/lib/share/ui/SharePreviewDevices.d.ts +20 -0
- package/lib/share/ui/SharePreviewDevices.d.ts.map +1 -0
- package/lib/share/ui/SharePreviewDevices.js +40 -0
- package/lib/share/ui/SharePreviewDevices.js.map +1 -0
- package/lib/share/ui/index.d.ts +1 -0
- package/lib/share/ui/index.d.ts.map +1 -1
- package/lib/share/ui/index.js.map +1 -1
- package/lib/share/ui/shareMarking.d.ts +14 -0
- package/lib/share/ui/shareMarking.d.ts.map +1 -0
- package/lib/share/ui/shareMarking.js +17 -0
- package/lib/share/ui/shareMarking.js.map +1 -0
- package/lib/share/ui/useShareRegionReports.d.ts +12 -0
- package/lib/share/ui/useShareRegionReports.d.ts.map +1 -0
- package/lib/share/ui/useShareRegionReports.js +102 -0
- package/lib/share/ui/useShareRegionReports.js.map +1 -0
- package/lib/shared/ui/ActionTooltip.d.ts +42 -0
- package/lib/shared/ui/ActionTooltip.d.ts.map +1 -0
- package/lib/shared/ui/ActionTooltip.js +21 -0
- package/lib/shared/ui/ActionTooltip.js.map +1 -0
- package/lib/shared/ui/index.d.ts +4 -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/shared/ui/useActionTooltip.d.ts +48 -0
- package/lib/shared/ui/useActionTooltip.d.ts.map +1 -0
- package/lib/shared/ui/useActionTooltip.js +78 -0
- package/lib/shared/ui/useActionTooltip.js.map +1 -0
- package/lib/structure/core/index.d.ts +2 -0
- package/lib/structure/core/index.d.ts.map +1 -1
- package/lib/structure/core/index.js +1 -0
- package/lib/structure/core/index.js.map +1 -1
- package/lib/structure/core/sourceMolecule.d.ts +18 -0
- package/lib/structure/core/sourceMolecule.d.ts.map +1 -0
- package/lib/structure/core/sourceMolecule.js +26 -0
- package/lib/structure/core/sourceMolecule.js.map +1 -0
- package/lib/structure/core/structureNotations.d.ts +57 -0
- package/lib/structure/core/structureNotations.d.ts.map +1 -0
- package/lib/structure/core/structureNotations.js +74 -0
- package/lib/structure/core/structureNotations.js.map +1 -0
- package/lib/structure/core/structurePicture.d.ts +49 -0
- package/lib/structure/core/structurePicture.d.ts.map +1 -0
- package/lib/structure/core/structurePicture.js +83 -0
- package/lib/structure/core/structurePicture.js.map +1 -0
- package/lib/structure/ui/EditorExportButton.d.ts +23 -0
- package/lib/structure/ui/EditorExportButton.d.ts.map +1 -0
- package/lib/structure/ui/EditorExportButton.js +23 -0
- package/lib/structure/ui/EditorExportButton.js.map +1 -0
- package/lib/structure/ui/EditorHelpButton.d.ts +5 -2
- package/lib/structure/ui/EditorHelpButton.d.ts.map +1 -1
- package/lib/structure/ui/EditorHelpButton.js +8 -9
- package/lib/structure/ui/EditorHelpButton.js.map +1 -1
- package/lib/structure/ui/StructureEditor.d.ts +8 -0
- package/lib/structure/ui/StructureEditor.d.ts.map +1 -1
- package/lib/structure/ui/StructureEditor.js +26 -3
- package/lib/structure/ui/StructureEditor.js.map +1 -1
- package/lib/structure/ui/StructureExportDialog.d.ts +34 -0
- package/lib/structure/ui/StructureExportDialog.d.ts.map +1 -0
- package/lib/structure/ui/StructureExportDialog.js +43 -0
- package/lib/structure/ui/StructureExportDialog.js.map +1 -0
- package/lib/structure/ui/StructureExportPanel.d.ts +37 -0
- package/lib/structure/ui/StructureExportPanel.d.ts.map +1 -0
- package/lib/structure/ui/StructureExportPanel.js +75 -0
- package/lib/structure/ui/StructureExportPanel.js.map +1 -0
- package/lib/structure/ui/StructureNotationRow.d.ts +22 -0
- package/lib/structure/ui/StructureNotationRow.d.ts.map +1 -0
- package/lib/structure/ui/StructureNotationRow.js +34 -0
- package/lib/structure/ui/StructureNotationRow.js.map +1 -0
- package/lib/structure/ui/StructurePicturePane.d.ts +23 -0
- package/lib/structure/ui/StructurePicturePane.d.ts.map +1 -0
- package/lib/structure/ui/StructurePicturePane.js +113 -0
- package/lib/structure/ui/StructurePicturePane.js.map +1 -0
- package/lib/structure/ui/StructureSvg.d.ts.map +1 -1
- package/lib/structure/ui/StructureSvg.js +2 -18
- package/lib/structure/ui/StructureSvg.js.map +1 -1
- package/lib/structure/ui/ToolbarTooltip.d.ts.map +1 -1
- package/lib/structure/ui/ToolbarTooltip.js +1 -2
- package/lib/structure/ui/ToolbarTooltip.js.map +1 -1
- package/lib/structure/ui/index.d.ts +7 -3
- package/lib/structure/ui/index.d.ts.map +1 -1
- package/lib/structure/ui/index.js +5 -3
- package/lib/structure/ui/index.js.map +1 -1
- package/lib/structure/ui/structureNotationText.d.ts +23 -0
- package/lib/structure/ui/structureNotationText.d.ts.map +1 -0
- package/lib/structure/ui/structureNotationText.js +42 -0
- package/lib/structure/ui/structureNotationText.js.map +1 -0
- package/lib/structure/ui/useEditorStructure.d.ts +37 -0
- package/lib/structure/ui/useEditorStructure.d.ts.map +1 -0
- package/lib/structure/ui/useEditorStructure.js +70 -0
- package/lib/structure/ui/useEditorStructure.js.map +1 -0
- package/package.json +1 -1
- package/src/chart/ui/Axes.tsx +53 -5
- package/src/chrome/ui/NavMenuButton.tsx +61 -18
- package/src/chrome/ui/SiteHeader.tsx +37 -1
- package/src/chrome/ui/navItem.ts +7 -0
- package/src/citation/ui/entries.tsx +10 -2
- package/src/clipboard/ui/ClickToCopy.tsx +47 -13
- package/src/clipboard/ui/CopyButton.tsx +4 -2
- package/src/clipboard/ui/CopyableValue.tsx +88 -13
- package/src/clipboard/ui/index.ts +5 -1
- package/src/confirm/ui/ConfirmButton.tsx +2 -0
- package/src/delimited/ui/TableDataButton.tsx +2 -1
- package/src/download/core/figureSvg.ts +42 -10
- package/src/help/ui/HelpToolbarButton.tsx +2 -1
- package/src/locales/de.json +39 -4
- package/src/locales/en.json +39 -4
- package/src/locales/es.json +39 -4
- package/src/locales/fr.json +39 -4
- package/src/locales/it.json +39 -4
- package/src/number/ui/NumberInput.tsx +1 -1
- package/src/overlay/ui/OverlayIconButton.tsx +1 -0
- package/src/panel/ui/ClearButton.tsx +1 -0
- package/src/pedagogy/core/inlineMarks.ts +15 -7
- package/src/pedagogy/ui/GlossaryDefinition.tsx +8 -18
- package/src/pedagogy/ui/GlossaryIndex.tsx +0 -1
- package/src/pedagogy/ui/GlossaryProvider.tsx +10 -2
- package/src/pedagogy/ui/GlossaryText.tsx +10 -2
- package/src/pedagogy/ui/InlineText.tsx +21 -4
- package/src/pedagogy/ui/ReferenceSectionBlock.tsx +8 -2
- package/src/pedagogy/ui/SyntaxTooltip.tsx +11 -9
- package/src/pedagogy/ui/TutorialStepStrip.tsx +50 -18
- package/src/pedagogy/ui/glossaryContext.ts +7 -0
- package/src/pedagogy/ui/index.ts +1 -1
- package/src/pedagogy/ui/inlineSegments.tsx +7 -0
- package/src/pedagogy/ui/pedagogyStyle.ts +12 -24
- package/src/seo/core/plainDescription.ts +4 -2
- package/src/share/core/devices.ts +80 -0
- package/src/share/core/index.ts +14 -0
- package/src/share/core/regions.ts +87 -0
- package/src/share/ui/HiddenPartsProvider.tsx +6 -1
- package/src/share/ui/PagePart.tsx +12 -1
- package/src/share/ui/ShareButton.tsx +3 -6
- package/src/share/ui/ShareConfigOptions.tsx +25 -16
- package/src/share/ui/ShareDialog.tsx +17 -3
- package/src/share/ui/ShareDialogContent.tsx +80 -77
- package/src/share/ui/ShareLinkBar.tsx +70 -0
- package/src/share/ui/SharePanes.tsx +62 -0
- package/src/share/ui/SharePartOptions.tsx +25 -26
- package/src/share/ui/SharePartRow.tsx +78 -0
- package/src/share/ui/SharePresetTabs.tsx +36 -43
- package/src/share/ui/SharePreview.tsx +235 -0
- package/src/share/ui/SharePreviewDevices.tsx +70 -0
- package/src/share/ui/index.ts +1 -0
- package/src/share/ui/shareMarking.ts +18 -0
- package/src/share/ui/useShareRegionReports.ts +108 -0
- package/src/shared/ui/ActionTooltip.tsx +70 -0
- package/src/shared/ui/index.ts +7 -0
- package/src/shared/ui/useActionTooltip.ts +103 -0
- package/src/structure/core/index.ts +5 -0
- package/src/structure/core/sourceMolecule.ts +26 -0
- package/src/structure/core/structureNotations.ts +125 -0
- package/src/structure/core/structurePicture.ts +119 -0
- package/src/structure/ui/EditorExportButton.tsx +62 -0
- package/src/structure/ui/EditorHelpButton.tsx +26 -30
- package/src/structure/ui/StructureEditor.tsx +51 -5
- package/src/structure/ui/StructureExportDialog.tsx +90 -0
- package/src/structure/ui/StructureExportPanel.tsx +156 -0
- package/src/structure/ui/StructureNotationRow.tsx +74 -0
- package/src/structure/ui/StructurePicturePane.tsx +208 -0
- package/src/structure/ui/StructureSvg.tsx +3 -12
- package/src/structure/ui/ToolbarTooltip.tsx +1 -1
- package/src/structure/ui/index.ts +7 -3
- package/src/structure/ui/structureNotationText.ts +56 -0
- package/src/structure/ui/useEditorStructure.ts +119 -0
- package/styles/chrome.css +414 -14
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devices.js","sourceRoot":"","sources":["../../../src/share/core/devices.ts"],"names":[],"mappings":"AAWA;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAqC;IACrE,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,IAAI;CACL,CAAC;AAEF,MAAM,WAAW,GAGb;IACF,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;IACnC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;IACpC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;CAClC,CAAC;AAEF,0EAA0E;AAC1E,MAAM,eAAe,GAAqB,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AAEvE;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,GAA0B,EAC1B,MAAkC;IAElC,IAAI,GAAG,KAAK,QAAQ;QAAE,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC;IACnC,OAAO,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;AACvE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAA+B,EAC/B,IAAsB;IAEtB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;IAChC,IAAI,KAAK,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACxC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;AAC/D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC7C,OAAO,GAAG,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;AACjD,CAAC"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
export type { ShareConfig } from './config.ts';
|
|
2
2
|
export { EMBED_PARAM, HIDE_PARAM, applyShareConfig, isHidden, isShareConfigured, parseShareConfig, suggestedShareConfig, visibleShareParts, } from './config.ts';
|
|
3
|
+
export type { SharePreviewDeviceKey, SharePreviewSize } from './devices.ts';
|
|
4
|
+
export { SHARE_PREVIEW_DEVICES, sharePreviewAddress, sharePreviewScale, sharePreviewSize, } from './devices.ts';
|
|
3
5
|
export { escapeAttribute, escapeText } from './escape.ts';
|
|
6
|
+
export type { ShareRegion } from './regions.ts';
|
|
7
|
+
export { SHARE_REGIONS_MESSAGE, SHARE_REGIONS_REQUEST, isShareRegionsRequest, readShareRegions, } from './regions.ts';
|
|
4
8
|
export type { BooleanParamOptions, IntegerParamOptions, NumberParamOptions, ShareParamCodec, StringParamOptions, } from './params.ts';
|
|
5
9
|
export { booleanParam, enumParam, integerParam, numberParam, stringParam, } from './params.ts';
|
|
6
10
|
export type { PreferenceHistory, PreferenceLocation, SyncPreferencesOptions, UrlPreference, UrlPreferences, } from './preferences.ts';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/share/core/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACL,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,QAAQ,EACR,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC1D,YAAY,EACV,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,WAAW,EACX,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,aAAa,EACb,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACjE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzD,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,GAChB,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/share/core/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACL,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,QAAQ,EACR,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC1D,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,WAAW,EACX,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,aAAa,EACb,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACjE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzD,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,GAChB,MAAM,iBAAiB,CAAC"}
|
package/lib/share/core/index.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export { EMBED_PARAM, HIDE_PARAM, applyShareConfig, isHidden, isShareConfigured, parseShareConfig, suggestedShareConfig, visibleShareParts, } from "./config.js";
|
|
2
|
+
export { SHARE_PREVIEW_DEVICES, sharePreviewAddress, sharePreviewScale, sharePreviewSize, } from "./devices.js";
|
|
2
3
|
export { escapeAttribute, escapeText } from "./escape.js";
|
|
4
|
+
export { SHARE_REGIONS_MESSAGE, SHARE_REGIONS_REQUEST, isShareRegionsRequest, readShareRegions, } from "./regions.js";
|
|
3
5
|
export { booleanParam, enumParam, integerParam, numberParam, stringParam, } from "./params.js";
|
|
4
6
|
export { applyPreferencesFromSearch, syncPreferencesWithUrl, writePreferencesToSearch, } from "./preferences.js";
|
|
5
7
|
export { applySharePreset, findSharePreset } from "./presets.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/share/core/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,QAAQ,EACR,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/share/core/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,QAAQ,EACR,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE1D,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAQtB,OAAO,EACL,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,WAAW,EACX,WAAW,GACZ,MAAM,aAAa,CAAC;AAQrB,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where each part of a page sits, so a share dialog can show which region of
|
|
3
|
+
* the preview a row of its list names.
|
|
4
|
+
*
|
|
5
|
+
* The two sides are different documents — the dialog and the framed page — so
|
|
6
|
+
* they speak by message. Everything that arrives is somebody else's input: a
|
|
7
|
+
* framed page is messaged by whatever page frames it, and a dialog by whatever
|
|
8
|
+
* it frames, so both ends read rather than trust.
|
|
9
|
+
*/
|
|
10
|
+
/** Asks a framed page to report where its parts are, and to keep reporting. */
|
|
11
|
+
export declare const SHARE_REGIONS_REQUEST = "cheminfo:share-regions-request";
|
|
12
|
+
/** Carries the answer back to the dialog. */
|
|
13
|
+
export declare const SHARE_REGIONS_MESSAGE = "cheminfo:share-regions";
|
|
14
|
+
/** The box one part of the page occupies, in the page's own coordinates. */
|
|
15
|
+
export interface ShareRegion {
|
|
16
|
+
/** The name the part takes in `?hide=`. */
|
|
17
|
+
part: string;
|
|
18
|
+
/** Distance from the left edge of the page, in CSS pixels. */
|
|
19
|
+
x: number;
|
|
20
|
+
/** Distance from the top edge of the page, in CSS pixels. */
|
|
21
|
+
y: number;
|
|
22
|
+
/** Width of the box, in CSS pixels. */
|
|
23
|
+
width: number;
|
|
24
|
+
/** Height of the box, in CSS pixels. */
|
|
25
|
+
height: number;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Whether a message asks this page to report where its parts are.
|
|
29
|
+
* @param data - What arrived on the message event.
|
|
30
|
+
* @returns Whether it is the request.
|
|
31
|
+
*/
|
|
32
|
+
export declare function isShareRegionsRequest(data: unknown): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* The regions a framed page reported, or `null` for anything else that arrived.
|
|
35
|
+
*
|
|
36
|
+
* A region with a name that is not a string, or a side that is not a finite
|
|
37
|
+
* number, is dropped rather than taken: a dialog drawing a box from a number it
|
|
38
|
+
* did not check draws it across the whole screen.
|
|
39
|
+
* @param data - What arrived on the message event.
|
|
40
|
+
* @returns The regions, or `null` when the message is not one.
|
|
41
|
+
*/
|
|
42
|
+
export declare function readShareRegions(data: unknown): ShareRegion[] | null;
|
|
43
|
+
//# sourceMappingURL=regions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"regions.d.ts","sourceRoot":"","sources":["../../../src/share/core/regions.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,+EAA+E;AAC/E,eAAO,MAAM,qBAAqB,mCAAmC,CAAC;AAEtE,6CAA6C;AAC7C,eAAO,MAAM,qBAAqB,2BAA2B,CAAC;AAE9D,4EAA4E;AAC5E,MAAM,WAAW,WAAW;IAC1B,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,CAAC,EAAE,MAAM,CAAC;IACV,6DAA6D;IAC7D,CAAC,EAAE,MAAM,CAAC;IACV,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAE5D;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,WAAW,EAAE,GAAG,IAAI,CAWpE"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where each part of a page sits, so a share dialog can show which region of
|
|
3
|
+
* the preview a row of its list names.
|
|
4
|
+
*
|
|
5
|
+
* The two sides are different documents — the dialog and the framed page — so
|
|
6
|
+
* they speak by message. Everything that arrives is somebody else's input: a
|
|
7
|
+
* framed page is messaged by whatever page frames it, and a dialog by whatever
|
|
8
|
+
* it frames, so both ends read rather than trust.
|
|
9
|
+
*/
|
|
10
|
+
/** Asks a framed page to report where its parts are, and to keep reporting. */
|
|
11
|
+
export const SHARE_REGIONS_REQUEST = 'cheminfo:share-regions-request';
|
|
12
|
+
/** Carries the answer back to the dialog. */
|
|
13
|
+
export const SHARE_REGIONS_MESSAGE = 'cheminfo:share-regions';
|
|
14
|
+
/**
|
|
15
|
+
* Whether a message asks this page to report where its parts are.
|
|
16
|
+
* @param data - What arrived on the message event.
|
|
17
|
+
* @returns Whether it is the request.
|
|
18
|
+
*/
|
|
19
|
+
export function isShareRegionsRequest(data) {
|
|
20
|
+
return messageType(data) === SHARE_REGIONS_REQUEST;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* The regions a framed page reported, or `null` for anything else that arrived.
|
|
24
|
+
*
|
|
25
|
+
* A region with a name that is not a string, or a side that is not a finite
|
|
26
|
+
* number, is dropped rather than taken: a dialog drawing a box from a number it
|
|
27
|
+
* did not check draws it across the whole screen.
|
|
28
|
+
* @param data - What arrived on the message event.
|
|
29
|
+
* @returns The regions, or `null` when the message is not one.
|
|
30
|
+
*/
|
|
31
|
+
export function readShareRegions(data) {
|
|
32
|
+
if (messageType(data) !== SHARE_REGIONS_MESSAGE)
|
|
33
|
+
return null;
|
|
34
|
+
const { regions } = data;
|
|
35
|
+
if (!Array.isArray(regions))
|
|
36
|
+
return null;
|
|
37
|
+
const read = [];
|
|
38
|
+
for (const candidate of regions) {
|
|
39
|
+
const region = readRegion(candidate);
|
|
40
|
+
if (region !== null)
|
|
41
|
+
read.push(region);
|
|
42
|
+
}
|
|
43
|
+
return read;
|
|
44
|
+
}
|
|
45
|
+
function readRegion(candidate) {
|
|
46
|
+
if (typeof candidate !== 'object' || candidate === null)
|
|
47
|
+
return null;
|
|
48
|
+
const { part, x, y, width, height } = candidate;
|
|
49
|
+
if (typeof part !== 'string' || part === '')
|
|
50
|
+
return null;
|
|
51
|
+
if (!Number.isFinite(x) ||
|
|
52
|
+
!Number.isFinite(y) ||
|
|
53
|
+
!Number.isFinite(width) ||
|
|
54
|
+
!Number.isFinite(height)) {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
return {
|
|
58
|
+
part,
|
|
59
|
+
x: x,
|
|
60
|
+
y: y,
|
|
61
|
+
width: width,
|
|
62
|
+
height: height,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
function messageType(data) {
|
|
66
|
+
if (typeof data !== 'object' || data === null)
|
|
67
|
+
return null;
|
|
68
|
+
const { type } = data;
|
|
69
|
+
return typeof type === 'string' ? type : null;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=regions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"regions.js","sourceRoot":"","sources":["../../../src/share/core/regions.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,+EAA+E;AAC/E,MAAM,CAAC,MAAM,qBAAqB,GAAG,gCAAgC,CAAC;AAEtE,6CAA6C;AAC7C,MAAM,CAAC,MAAM,qBAAqB,GAAG,wBAAwB,CAAC;AAgB9D;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAa;IACjD,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,qBAAqB,CAAC;AACrD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAa;IAC5C,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,qBAAqB;QAAE,OAAO,IAAI,CAAC;IAC7D,MAAM,EAAE,OAAO,EAAE,GAAG,IAA6B,CAAC;IAClD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAEzC,MAAM,IAAI,GAAkB,EAAE,CAAC;IAC/B,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;QACrC,IAAI,MAAM,KAAK,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CAAC,SAAkB;IACpC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACrE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,SAAoC,CAAC;IAC3E,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IACzD,IACE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnB,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QACvB,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EACxB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO;QACL,IAAI;QACJ,CAAC,EAAE,CAAW;QACd,CAAC,EAAE,CAAW;QACd,KAAK,EAAE,KAAe;QACtB,MAAM,EAAE,MAAgB;KACzB,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,IAAa;IAChC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC3D,MAAM,EAAE,IAAI,EAAE,GAAG,IAA0B,CAAC;IAC5C,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAChD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HiddenPartsProvider.d.ts","sourceRoot":"","sources":["../../../src/share/ui/HiddenPartsProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"HiddenPartsProvider.d.ts","sourceRoot":"","sources":["../../../src/share/ui/HiddenPartsProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAOrD,MAAM,WAAW,wBAAwB;IACvC;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,kEAAkE;IAClE,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,wBAAwB,GAC9B,YAAY,CAYd"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useMemo } from 'react';
|
|
3
3
|
import { HiddenPartsContext } from "./hiddenParts.js";
|
|
4
|
+
import { ShareMarkingContext } from "./shareMarking.js";
|
|
5
|
+
import { useShareRegionReports } from "./useShareRegionReports.js";
|
|
4
6
|
/**
|
|
5
7
|
* Put the configuration of the current link where every part of the page can
|
|
6
8
|
* read it, so nothing has to be threaded through props.
|
|
@@ -10,6 +12,7 @@ import { HiddenPartsContext } from "./hiddenParts.js";
|
|
|
10
12
|
export function HiddenPartsProvider(props) {
|
|
11
13
|
const { hidden, children } = props;
|
|
12
14
|
const parts = useMemo(() => new Set(hidden), [hidden]);
|
|
13
|
-
|
|
15
|
+
const marking = useShareRegionReports(parts);
|
|
16
|
+
return (_jsx(HiddenPartsContext.Provider, { value: parts, children: _jsx(ShareMarkingContext.Provider, { value: marking, children: children }) }));
|
|
14
17
|
}
|
|
15
18
|
//# sourceMappingURL=HiddenPartsProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HiddenPartsProvider.js","sourceRoot":"","sources":["../../../src/share/ui/HiddenPartsProvider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"HiddenPartsProvider.js","sourceRoot":"","sources":["../../../src/share/ui/HiddenPartsProvider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAanE;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAA+B;IAE/B,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACnC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAE7C,OAAO,CACL,KAAC,kBAAkB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YACvC,KAAC,mBAAmB,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,YACzC,QAAQ,GACoB,GACH,CAC/B,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PagePart.d.ts","sourceRoot":"","sources":["../../../src/share/ui/PagePart.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"PagePart.d.ts","sourceRoot":"","sources":["../../../src/share/ui/PagePart.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKvC,MAAM,WAAW,aAAa;IAC5B,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,CAexD"}
|
package/lib/share/ui/PagePart.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
2
|
import { useIsHidden } from "./hiddenParts.js";
|
|
3
|
+
import { useShareMarking } from "./shareMarking.js";
|
|
2
4
|
/**
|
|
3
5
|
* A region of the page a shared link may leave out.
|
|
4
6
|
*
|
|
@@ -11,6 +13,13 @@ import { useIsHidden } from "./hiddenParts.js";
|
|
|
11
13
|
export function PagePart(props) {
|
|
12
14
|
const { part, children } = props;
|
|
13
15
|
const isHidden = useIsHidden();
|
|
14
|
-
|
|
16
|
+
const marking = useShareMarking();
|
|
17
|
+
if (isHidden(part))
|
|
18
|
+
return null;
|
|
19
|
+
if (!marking)
|
|
20
|
+
return children;
|
|
21
|
+
// `display: contents` so the marker is only a name the dialog can find, and
|
|
22
|
+
// never a box between the page and the part it holds.
|
|
23
|
+
return (_jsx("div", { "data-share-part": part, style: { display: 'contents' }, children: children }));
|
|
15
24
|
}
|
|
16
25
|
//# sourceMappingURL=PagePart.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PagePart.js","sourceRoot":"","sources":["../../../src/share/ui/PagePart.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"PagePart.js","sourceRoot":"","sources":["../../../src/share/ui/PagePart.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AASpD;;;;;;;;GAQG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAoB;IAC3C,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACjC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;IAElC,IAAI,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAChC,IAAI,CAAC,OAAO;QAAE,OAAO,QAAQ,CAAC;IAE9B,4EAA4E;IAC5E,sDAAsD;IACtD,OAAO,CACL,iCAAsB,IAAI,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,YACvD,QAAQ,GACL,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShareButton.d.ts","sourceRoot":"","sources":["../../../src/share/ui/ShareButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ShareButton.d.ts","sourceRoot":"","sources":["../../../src/share/ui/ShareButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAK1C,wDAAwD;AACxD,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,WAAW,CAAC;AAE1D,MAAM,WAAW,gBAAgB;IAC/B,iFAAiF;IACjF,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;;OAIG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,YAAY,CA0CjE"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Button, Icon } from '@blueprintjs/core';
|
|
3
3
|
import { useChromeT } from "../../i18n/ui/useT.js";
|
|
4
|
+
import { joinClassNames } from "../../shared/ui/joinClassNames.js";
|
|
4
5
|
/**
|
|
5
6
|
* The Share entry of a site header: the button that offers the open page as a
|
|
6
7
|
* link, or as the iframe that frames it in someone else's site.
|
|
@@ -14,10 +15,8 @@ export function ShareButton(props) {
|
|
|
14
15
|
const title = givenTitle ?? t('share.buttonTitle');
|
|
15
16
|
const text = compact ? undefined : label;
|
|
16
17
|
if (variant === 'blueprint') {
|
|
17
|
-
return (_jsx(Button, { className: className, variant: "minimal", icon: "share", text: text, title: title, "aria-label": label, onClick: onClick }));
|
|
18
|
+
return (_jsx(Button, { className: joinClassNames('no-print', className), variant: "minimal", icon: "share", text: text, title: title, "aria-label": label, onClick: onClick }));
|
|
18
19
|
}
|
|
19
|
-
return (_jsxs("button", { type: "button", className: className === undefined
|
|
20
|
-
? 'nav-link nav-link--icon'
|
|
21
|
-
: `nav-link nav-link--icon ${className}`, title: title, "aria-label": label, onClick: onClick, children: [_jsx(Icon, { icon: "share", size: 14 }), text === undefined ? null : (_jsx("span", { className: "nav-link__label", children: text }))] }));
|
|
20
|
+
return (_jsxs("button", { type: "button", className: joinClassNames('nav-link nav-link--icon no-print', className), title: title, "aria-label": label, onClick: onClick, children: [_jsx(Icon, { icon: "share", size: 14 }), text === undefined ? null : (_jsx("span", { className: "nav-link__label", children: text }))] }));
|
|
22
21
|
}
|
|
23
22
|
//# sourceMappingURL=ShareButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShareButton.js","sourceRoot":"","sources":["../../../src/share/ui/ShareButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"ShareButton.js","sourceRoot":"","sources":["../../../src/share/ui/ShareButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAqCnE;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,KAAuB;IACjD,MAAM,EACJ,OAAO,EACP,OAAO,GAAG,UAAU,EACpB,KAAK,EAAE,KAAK,EACZ,OAAO,GAAG,KAAK,EACf,KAAK,EAAE,UAAU,EACjB,SAAS,GACV,GAAG,KAAK,CAAC;IACV,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;IACvB,MAAM,KAAK,GAAG,KAAK,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,UAAU,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;IAEzC,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC5B,OAAO,CACL,KAAC,MAAM,IACL,SAAS,EAAE,cAAc,CAAC,UAAU,EAAE,SAAS,CAAC,EAChD,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,OAAO,EACZ,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,gBACA,KAAK,EACjB,OAAO,EAAE,OAAO,GAChB,CACH,CAAC;IACJ,CAAC;IAED,OAAO,CACL,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,cAAc,CAAC,kCAAkC,EAAE,SAAS,CAAC,EACxE,KAAK,EAAE,KAAK,gBACA,KAAK,EACjB,OAAO,EAAE,OAAO,aAEhB,KAAC,IAAI,IAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAE,EAAE,GAAI,EAC9B,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC3B,eAAM,SAAS,EAAC,iBAAiB,YAAE,IAAI,GAAQ,CAChD,IACM,CACV,CAAC;AACJ,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ReactElement } from 'react';
|
|
2
2
|
import type { HideablePart } from '../core/index.ts';
|
|
3
|
+
import type { SharePartDescriptions } from './SharePartRow.tsx';
|
|
3
4
|
export interface ShareConfigOptionsProps {
|
|
4
5
|
/** Whether the draft drops the site chrome. */
|
|
5
6
|
embed: boolean;
|
|
@@ -7,13 +8,17 @@ export interface ShareConfigOptionsProps {
|
|
|
7
8
|
parts: readonly HideablePart[];
|
|
8
9
|
/** The parts the draft switches off. */
|
|
9
10
|
hidden: readonly string[];
|
|
11
|
+
/** Where each row says what switching it off does. */
|
|
12
|
+
descriptions: SharePartDescriptions;
|
|
10
13
|
/** Called when the layout is switched. */
|
|
11
14
|
onEmbedChange: (embed: boolean) => void;
|
|
12
15
|
/** Called with the part and whether the link should switch it off. */
|
|
13
16
|
onPartChange: (part: string, hidden: boolean) => void;
|
|
17
|
+
/** Called with the part the pointer is on, or `null` when it leaves. */
|
|
18
|
+
onPartPointed: (part: string | null) => void;
|
|
14
19
|
}
|
|
15
20
|
/**
|
|
16
|
-
* The
|
|
21
|
+
* The switches of the share dialog: the layout, then one per part of the page.
|
|
17
22
|
* @param props - The draft's layout and parts, and how to change them.
|
|
18
23
|
* @returns The two sections.
|
|
19
24
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShareConfigOptions.d.ts","sourceRoot":"","sources":["../../../src/share/ui/ShareConfigOptions.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,OAAO,CAAC;AAGzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"ShareConfigOptions.d.ts","sourceRoot":"","sources":["../../../src/share/ui/ShareConfigOptions.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,OAAO,CAAC;AAGzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGrD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAKhE,MAAM,WAAW,uBAAuB;IACtC,+CAA+C;IAC/C,KAAK,EAAE,OAAO,CAAC;IACf,+EAA+E;IAC/E,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IAC/B,wCAAwC;IACxC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,sDAAsD;IACtD,YAAY,EAAE,qBAAqB,CAAC;IACpC,0CAA0C;IAC1C,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,sEAAsE;IACtE,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACtD,wEAAwE;IACxE,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAC9C;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,uBAAuB,GAC7B,YAAY,CAuCd"}
|
|
@@ -1,24 +1,17 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { H6 } from '@blueprintjs/core';
|
|
3
3
|
import { useChromeT } from "../../i18n/ui/useT.js";
|
|
4
4
|
import { SharePartOptions } from "./SharePartOptions.js";
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
display: 'block',
|
|
8
|
-
marginLeft: 26,
|
|
9
|
-
color: 'var(--text-muted, #5b6875)',
|
|
10
|
-
fontSize: 12,
|
|
11
|
-
};
|
|
5
|
+
import { SharePartRow } from "./SharePartRow.js";
|
|
6
|
+
const SECTION_STYLE = { marginBottom: 14 };
|
|
12
7
|
/**
|
|
13
|
-
* The
|
|
8
|
+
* The switches of the share dialog: the layout, then one per part of the page.
|
|
14
9
|
* @param props - The draft's layout and parts, and how to change them.
|
|
15
10
|
* @returns The two sections.
|
|
16
11
|
*/
|
|
17
12
|
export function ShareConfigOptions(props) {
|
|
18
|
-
const { embed, parts, hidden, onEmbedChange, onPartChange } = props;
|
|
13
|
+
const { embed, parts, hidden, descriptions, onEmbedChange, onPartChange, onPartPointed, } = props;
|
|
19
14
|
const t = useChromeT();
|
|
20
|
-
return (_jsxs(_Fragment, { children: [_jsxs("section", { className: "share-section", style: SECTION_STYLE, children: [_jsx(H6, { children: t('share.layout') }), _jsx(
|
|
21
|
-
onEmbedChange(event.currentTarget.checked);
|
|
22
|
-
} }), _jsx("span", { style: HINT_STYLE, children: t('share.embedHint') })] }), parts.length > 0 ? (_jsxs("section", { className: "share-section", style: SECTION_STYLE, children: [_jsx(H6, { children: t('share.showOnPage') }), _jsx(SharePartOptions, { parts: parts, hidden: hidden, onChange: onPartChange })] })) : null] }));
|
|
15
|
+
return (_jsxs(_Fragment, { children: [_jsxs("section", { className: "share-section", style: SECTION_STYLE, children: [_jsx(H6, { children: t('share.layout') }), _jsx(SharePartRow, { label: t('share.embed'), description: t('share.embedHint'), on: embed, descriptions: descriptions, onChange: onEmbedChange })] }), parts.length > 0 ? (_jsxs("section", { className: "share-section", style: SECTION_STYLE, children: [_jsx(H6, { children: t('share.showOnPage') }), _jsx(SharePartOptions, { parts: parts, hidden: hidden, descriptions: descriptions, onChange: onPartChange, onPointed: onPartPointed })] })) : null] }));
|
|
23
16
|
}
|
|
24
17
|
//# sourceMappingURL=ShareConfigOptions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShareConfigOptions.js","sourceRoot":"","sources":["../../../src/share/ui/ShareConfigOptions.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ShareConfigOptions.js","sourceRoot":"","sources":["../../../src/share/ui/ShareConfigOptions.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAGvC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAwB,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAoB,CAAC;AAElD,MAAM,aAAa,GAAkB,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;AAmB1D;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAA8B;IAE9B,MAAM,EACJ,KAAK,EACL,KAAK,EACL,MAAM,EACN,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,aAAa,GACd,GAAG,KAAK,CAAC;IACV,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;IAEvB,OAAO,CACL,8BACE,mBAAS,SAAS,EAAC,eAAe,EAAC,KAAK,EAAE,aAAa,aACrD,KAAC,EAAE,cAAE,CAAC,CAAC,cAAc,CAAC,GAAM,EAC5B,KAAC,YAAY,IACX,KAAK,EAAE,CAAC,CAAC,aAAa,CAAC,EACvB,WAAW,EAAE,CAAC,CAAC,iBAAiB,CAAC,EACjC,EAAE,EAAE,KAAK,EACT,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,aAAa,GACvB,IACM,EAET,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAClB,mBAAS,SAAS,EAAC,eAAe,EAAC,KAAK,EAAE,aAAa,aACrD,KAAC,EAAE,cAAE,CAAC,CAAC,kBAAkB,CAAC,GAAM,EAChC,KAAC,gBAAgB,IACf,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,aAAa,GACxB,IACM,CACX,CAAC,CAAC,CAAC,IAAI,IACP,CACJ,CAAC;AACJ,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ReactElement, ReactNode } from 'react';
|
|
2
2
|
import type { ShareConfig, ShareParamCodecs, ShareParamValues, SharePreset, ShareVocabulary } from '../core/index.ts';
|
|
3
|
+
import type { SharePartDescriptions } from './SharePartRow.tsx';
|
|
3
4
|
/**
|
|
4
5
|
* The configuration the dialog is holding, handed to a tool-specific section so
|
|
5
6
|
* it can read it and change it.
|
|
@@ -60,6 +61,19 @@ export interface ShareDialogProps<Codecs extends ShareParamCodecs = Record<strin
|
|
|
60
61
|
* @default 700
|
|
61
62
|
*/
|
|
62
63
|
frameHeight?: number;
|
|
64
|
+
/**
|
|
65
|
+
* Whether the page the link hands out is shown live beside the options.
|
|
66
|
+
* A tool whose page is too heavy to load a second time switches it off.
|
|
67
|
+
* @default true
|
|
68
|
+
*/
|
|
69
|
+
preview?: boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Where each row says what switching it off does: `inline` writes it under
|
|
72
|
+
* the label, which is where it is read; `help` puts it behind a glyph beside
|
|
73
|
+
* the label, for a dialog short on room.
|
|
74
|
+
* @default 'inline'
|
|
75
|
+
*/
|
|
76
|
+
partDescriptions?: SharePartDescriptions;
|
|
63
77
|
/**
|
|
64
78
|
* Whether the dialog is rendered through a portal on `document.body`.
|
|
65
79
|
* @default true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShareDialog.d.ts","sourceRoot":"","sources":["../../../src/share/ui/ShareDialog.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGpE,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,eAAe,EAChB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"ShareDialog.d.ts","sourceRoot":"","sources":["../../../src/share/ui/ShareDialog.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGpE,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAOhE;;;GAGG;AACH,MAAM,WAAW,UAAU,CACzB,MAAM,SAAS,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IAEvD,yDAAyD;IACzD,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,kDAAkD;IAClD,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,oDAAoD;IACpD,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACvD,yDAAyD;IACzD,QAAQ,EAAE,CAAC,GAAG,SAAS,MAAM,gBAAgB,CAAC,MAAM,CAAC,EACnD,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KACjC,IAAI,CAAC;CACX;AAED,MAAM,WAAW,gBAAgB,CAC/B,MAAM,SAAS,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IAEvD,uCAAuC;IACvC,MAAM,EAAE,OAAO,CAAC;IAChB,2CAA2C;IAC3C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,yFAAyF;IACzF,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IACpC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7C;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;IACzC;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC;CACnE;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CACzB,MAAM,SAAS,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACvD,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,YAAY,CAoB/C"}
|
|
@@ -3,8 +3,8 @@ import { Dialog } from '@blueprintjs/core';
|
|
|
3
3
|
import { useChromeT } from "../../i18n/ui/useT.js";
|
|
4
4
|
import { ShareDialogContent } from "./ShareDialogContent.js";
|
|
5
5
|
const DIALOG_STYLE = {
|
|
6
|
-
width: 'min(
|
|
7
|
-
height: 'min(
|
|
6
|
+
width: 'min(1180px, 96vw)',
|
|
7
|
+
height: 'min(820px, 92dvh)',
|
|
8
8
|
};
|
|
9
9
|
/**
|
|
10
10
|
* Hand the open page out as a link, or as the iframe that frames it in someone
|
|
@@ -19,6 +19,6 @@ const DIALOG_STYLE = {
|
|
|
19
19
|
export function ShareDialog(props) {
|
|
20
20
|
const { isOpen, onClose, usePortal = true, ...rest } = props;
|
|
21
21
|
const t = useChromeT();
|
|
22
|
-
return (_jsx(Dialog, { isOpen: isOpen, onClose: onClose, usePortal: usePortal, title: t('share.
|
|
22
|
+
return (_jsx(Dialog, { isOpen: isOpen, onClose: onClose, usePortal: usePortal, title: t('share.dialogTitleFor', { title: rest.title }), icon: "share", className: "share-dialog", style: DIALOG_STYLE, children: isOpen ? _jsx(ShareDialogContent, { ...rest, onClose: onClose }) : null }));
|
|
23
23
|
}
|
|
24
24
|
//# sourceMappingURL=ShareDialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShareDialog.js","sourceRoot":"","sources":["../../../src/share/ui/ShareDialog.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AASnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"ShareDialog.js","sourceRoot":"","sources":["../../../src/share/ui/ShareDialog.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AASnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAA0B,CAAC;AAG9D,MAAM,YAAY,GAAkB;IAClC,KAAK,EAAE,mBAAmB;IAC1B,MAAM,EAAE,mBAAmB;CAC5B,CAAC;AAiGF;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CAEzB,KAA+B;IAC/B,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC7D,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;IAEvB,OAAO,CACL,KAAC,MAAM,IACL,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,CAAC,CAAC,sBAAsB,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EACvD,IAAI,EAAC,OAAO,EACZ,SAAS,EAAC,cAAc,EACxB,KAAK,EAAE,YAAY,YAKlB,MAAM,CAAC,CAAC,CAAC,KAAC,kBAAkB,OAAK,IAAI,EAAE,OAAO,EAAE,OAAO,GAAI,CAAC,CAAC,CAAC,IAAI,GAC5D,CACV,CAAC;AACJ,CAAC"}
|
|
@@ -4,8 +4,8 @@ import type { ShareDialogProps } from './ShareDialog.tsx';
|
|
|
4
4
|
/** Everything the dialog holds, minus what only its shell is concerned with. */
|
|
5
5
|
export type ShareDialogContentProps<Codecs extends ShareParamCodecs = Record<string, never>> = Omit<ShareDialogProps<Codecs>, 'isOpen' | 'usePortal'>;
|
|
6
6
|
/**
|
|
7
|
-
* The
|
|
8
|
-
* the
|
|
7
|
+
* The share dialog's body: what one does with the link above, never scrolled
|
|
8
|
+
* away, then the options on the left and the page they write on the right.
|
|
9
9
|
* @param props - What the site's links can say, how the page is named, and the extra section.
|
|
10
10
|
* @returns The body and the footer of the dialog.
|
|
11
11
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShareDialogContent.d.ts","sourceRoot":"","sources":["../../../src/share/ui/ShareDialogContent.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ShareDialogContent.d.ts","sourceRoot":"","sources":["../../../src/share/ui/ShareDialogContent.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,OAAO,CAAC;AAKzD,OAAO,KAAK,EAGV,gBAAgB,EAIjB,MAAM,kBAAkB,CAAC;AAa1B,OAAO,KAAK,EAAE,gBAAgB,EAAc,MAAM,mBAAmB,CAAC;AActE,gFAAgF;AAChF,MAAM,MAAM,uBAAuB,CACjC,MAAM,SAAS,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IACrD,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC,CAAC;AAE3D;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,SAAS,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACvD,KAAK,EAAE,uBAAuB,CAAC,MAAM,CAAC,GAAG,YAAY,CA0ItD"}
|
|
@@ -1,42 +1,40 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import { useState } from 'react';
|
|
4
|
-
import {
|
|
2
|
+
import { Button, DialogFooter } from '@blueprintjs/core';
|
|
3
|
+
import { useRef, useState } from 'react';
|
|
4
|
+
import { useContainerSize } from "../../hooks/ui/useContainerSize.js";
|
|
5
5
|
import { useChromeT } from "../../i18n/ui/useT.js";
|
|
6
6
|
import { applySharePreset, buildEmbedCode, buildShareUrl, findSharePreset, isShareConfigured, parseShareConfig, suggestedShareConfig, visibleShareParts, } from "../core/index.js";
|
|
7
7
|
import { ShareConfigOptions } from "./ShareConfigOptions.js";
|
|
8
|
+
import { ShareLinkBar } from "./ShareLinkBar.js";
|
|
9
|
+
import { SharePanes } from "./SharePanes.js";
|
|
8
10
|
import { SharePresetTabs } from "./SharePresetTabs.js";
|
|
11
|
+
import { SharePreview } from "./SharePreview.js";
|
|
9
12
|
import { withPart } from "./draft.js";
|
|
10
|
-
const LEAD_STYLE = {
|
|
11
|
-
marginTop: 0,
|
|
12
|
-
color: 'var(--text-muted, #5b6875)',
|
|
13
|
-
};
|
|
14
|
-
const SECTION_STYLE = { marginBottom: 18 };
|
|
15
|
-
const ACTIONS_STYLE = {
|
|
16
|
-
display: 'flex',
|
|
17
|
-
flexWrap: 'wrap',
|
|
18
|
-
gap: 8,
|
|
19
|
-
marginTop: 8,
|
|
20
|
-
};
|
|
21
13
|
const NO_PRESETS = [];
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const
|
|
25
|
-
const BODY_STYLE = { maxHeight: 'none', minHeight: 0 };
|
|
14
|
+
/** Width below which the two panes stop fitting side by side and become tabs. */
|
|
15
|
+
const TWO_PANE_WIDTH = 720;
|
|
16
|
+
const SECTION_STYLE = { marginBottom: 14 };
|
|
26
17
|
/**
|
|
27
|
-
* The
|
|
28
|
-
* the
|
|
18
|
+
* The share dialog's body: what one does with the link above, never scrolled
|
|
19
|
+
* away, then the options on the left and the page they write on the right.
|
|
29
20
|
* @param props - What the site's links can say, how the page is named, and the extra section.
|
|
30
21
|
* @returns The body and the footer of the dialog.
|
|
31
22
|
*/
|
|
32
23
|
export function ShareDialogContent(props) {
|
|
33
|
-
const { onClose, vocabulary, presets = NO_PRESETS, defaultPreset, title, baseUrl, search, frameTitle, frameHeight, children, } = props;
|
|
24
|
+
const { onClose, vocabulary, presets = NO_PRESETS, defaultPreset, title, baseUrl, search, frameTitle, frameHeight, preview = true, partDescriptions = 'inline', children, } = props;
|
|
34
25
|
const t = useChromeT();
|
|
35
26
|
const address = globalThis.location;
|
|
36
27
|
const base = baseUrl ?? address?.href ?? '';
|
|
37
28
|
const query = search ?? address?.search ?? '';
|
|
38
29
|
const [config, setConfig] = useState(() => initialDraft(query, vocabulary, findPreset(presets, defaultPreset ?? null)));
|
|
30
|
+
const [pointed, setPointed] = useState(null);
|
|
39
31
|
const [presetKey, setPresetKey] = useState(() => findSharePreset(config, presets, vocabulary)?.key ?? null);
|
|
32
|
+
const body = useRef(null);
|
|
33
|
+
const { width } = useContainerSize(body);
|
|
34
|
+
// Zero until the body is first measured, and the wide layout is the one that
|
|
35
|
+
// renders both panes, so nothing is missing from a first paint or a render
|
|
36
|
+
// with no layout at all.
|
|
37
|
+
const narrow = width > 0 && width < TWO_PANE_WIDTH;
|
|
40
38
|
function setEmbed(embed) {
|
|
41
39
|
setConfig((previous) => ({ ...previous, embed }));
|
|
42
40
|
}
|
|
@@ -71,15 +69,11 @@ export function ShareDialogContent(props) {
|
|
|
71
69
|
title: frameTitle ?? title,
|
|
72
70
|
height: frameHeight,
|
|
73
71
|
});
|
|
74
|
-
const options = (_jsx(ShareConfigOptions, { embed: config.embed, parts: visibleShareParts(vocabulary.parts, config.embed), hidden: config.hidden, onEmbedChange: setEmbed, onPartChange: setPartHidden }));
|
|
75
|
-
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
// written as a prefix and a suffix.
|
|
80
|
-
function lead(message, title) {
|
|
81
|
-
const [before = '', after = ''] = message.split('{title}');
|
|
82
|
-
return [before, _jsx("b", { children: title }, "title"), after];
|
|
72
|
+
const options = (_jsx(ShareConfigOptions, { embed: config.embed, parts: visibleShareParts(vocabulary.parts, config.embed), hidden: config.hidden, descriptions: partDescriptions, onEmbedChange: setEmbed, onPartChange: setPartHidden, onPartPointed: setPointed }));
|
|
73
|
+
const openPreset = findPreset(presets, presetKey);
|
|
74
|
+
const optionsPane = (_jsxs("div", { className: "share-dialog__options", children: [openPreset === undefined ? (options) : (_jsx("p", { className: "share-dialog__preset", children: openPreset.description })), children === undefined ? null : (_jsx("section", { className: "share-section", style: SECTION_STYLE, children: typeof children === 'function' ? children(draft) : children }))] }));
|
|
75
|
+
const previewPane = preview ? (_jsx(SharePreview, { url: url, title: frameTitle ?? title, highlight: highlightOf(vocabulary.parts, pointed) })) : null;
|
|
76
|
+
return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "share-dialog__body", ref: body, children: [_jsxs("div", { className: "share-dialog__top", children: [presets.length === 0 ? null : (_jsx(SharePresetTabs, { presets: presets, selected: presetKey, onSelect: selectPreset })), _jsx(ShareLinkBar, { url: url, frame: frame })] }), _jsx(SharePanes, { options: optionsPane, preview: previewPane, narrow: narrow })] }), _jsx(DialogFooter, { actions: _jsx(Button, { intent: "primary", text: t('share.done'), onClick: onClose }) })] }));
|
|
83
77
|
}
|
|
84
78
|
function initialDraft(search, vocabulary, preset) {
|
|
85
79
|
const current = parseShareConfig(search, vocabulary);
|
|
@@ -90,6 +84,18 @@ function initialDraft(search, vocabulary, preset) {
|
|
|
90
84
|
? suggested
|
|
91
85
|
: applySharePreset(suggested, preset, vocabulary);
|
|
92
86
|
}
|
|
87
|
+
// The name in the list and the box on the page are the same thing, so the
|
|
88
|
+
// preview is told what the reader is pointing at rather than a key it would
|
|
89
|
+
// have to look a name up for.
|
|
90
|
+
function highlightOf(parts, pointed) {
|
|
91
|
+
if (pointed === null)
|
|
92
|
+
return null;
|
|
93
|
+
for (const part of parts) {
|
|
94
|
+
if (part.key === pointed)
|
|
95
|
+
return { part: part.key, label: part.label };
|
|
96
|
+
}
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
93
99
|
function findPreset(presets, key) {
|
|
94
100
|
if (key === null)
|
|
95
101
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShareDialogContent.js","sourceRoot":"","sources":["../../../src/share/ui/ShareDialogContent.tsx"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"ShareDialogContent.js","sourceRoot":"","sources":["../../../src/share/ui/ShareDialogContent.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ReactElement } from 'react';
|
|
2
|
+
export interface ShareLinkBarProps {
|
|
3
|
+
/** The address the link hands out. */
|
|
4
|
+
url: string;
|
|
5
|
+
/** The markup that frames the page in someone else's site. */
|
|
6
|
+
frame: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* The three things one does with a share link, kept above the options and
|
|
10
|
+
* never scrolled away: a dialog whose Copy button is below the fold is a dialog
|
|
11
|
+
* one scrolls through every single time.
|
|
12
|
+
*
|
|
13
|
+
* Neither the address nor the frame markup is printed. A teacher reads neither
|
|
14
|
+
* before pasting it, and a hundred characters of query string set in monospace
|
|
15
|
+
* is the widest thing in the dialog; what tells them which button to press is
|
|
16
|
+
* the help on it.
|
|
17
|
+
* @param props - The address, and the frame markup the third button copies.
|
|
18
|
+
* @returns The bar.
|
|
19
|
+
*/
|
|
20
|
+
export declare function ShareLinkBar(props: ShareLinkBarProps): ReactElement;
|
|
21
|
+
//# sourceMappingURL=ShareLinkBar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShareLinkBar.d.ts","sourceRoot":"","sources":["../../../src/share/ui/ShareLinkBar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAM1C,MAAM,WAAW,iBAAiB;IAChC,sCAAsC;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,YAAY,CA2CnE"}
|