@xyo-network/react-share 7.5.6 → 7.5.8
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/dist/browser/index.mjs +5 -1
- package/dist/browser/index.mjs.map +1 -1
- package/package.json +2 -1
- package/dist/browser/button/ShareButton.stories.d.ts +0 -9
- package/dist/browser/button/ShareButton.stories.d.ts.map +0 -1
- package/dist/browser/out/CopyLinkStack.stories.d.ts +0 -15
- package/dist/browser/out/CopyLinkStack.stories.d.ts.map +0 -1
- package/dist/browser/out/CopyLinkTextField.stories.d.ts +0 -8
- package/dist/browser/out/CopyLinkTextField.stories.d.ts.map +0 -1
- package/dist/browser/out/Dialog.stories.d.ts +0 -8
- package/dist/browser/out/Dialog.stories.d.ts.map +0 -1
- package/dist/browser/out/GenerateShareLinkButton.stories.d.ts +0 -8
- package/dist/browser/out/GenerateShareLinkButton.stories.d.ts.map +0 -1
- package/dist/browser/out/SocialButtonsFlexbox.stories.d.ts +0 -10
- package/dist/browser/out/SocialButtonsFlexbox.stories.d.ts.map +0 -1
package/dist/browser/index.mjs
CHANGED
|
@@ -266,7 +266,11 @@ var CopyLinkStack = /* @__PURE__ */ __name(({ addToXnsName, copiedLinkText, copy
|
|
|
266
266
|
setError(e);
|
|
267
267
|
}
|
|
268
268
|
}
|
|
269
|
-
}, [
|
|
269
|
+
}, [
|
|
270
|
+
addToXnsName,
|
|
271
|
+
shareUrl,
|
|
272
|
+
xnsNameProp
|
|
273
|
+
]);
|
|
270
274
|
const [part1, xnsName, part3] = parsedXnsName || [];
|
|
271
275
|
return /* @__PURE__ */ React7.createElement(Stack, {
|
|
272
276
|
direction: "row",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/button/ShareButton.tsx","../../src/icons/social/Facebook.tsx","../../src/icons/social/XTwitter.tsx","../../src/meta-server/dynamic-share/DynamicShareImage.tsx","../../src/meta-server/live-share/HideParentsFlexbox.tsx","../../src/out/CopyLinkStack.tsx","../../src/out/CopyIconButton.tsx","../../src/out/lib/AnimatedGradientTypography.tsx","../../src/out/lib/splitAroundSubstring.ts","../../src/out/CopyLinkTextField.tsx","../../src/out/Dialog.tsx","../../src/out/Explanation.tsx","../../src/out/GenerateShareLinkButton.tsx","../../src/out/HeadingFlexbox.tsx","../../src/out/SocialButtonsFlexbox.tsx"],"sourcesContent":["import {\n Facebook as FacebookIcon, Share as ShareIcon,\n X as XIcon,\n} from '@mui/icons-material'\nimport type { PopoverProps } from '@mui/material'\nimport { Popover } from '@mui/material'\nimport type { ButtonExProps } from '@xylabs/react-button'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { LinkEx } from '@xylabs/react-link'\nimport React, { useRef, useState } from 'react'\n\nexport type ShareButtonProps = ButtonExProps & {\n prepared?: boolean\n shareLink?: string\n slot?: { popover?: PopoverProps }\n}\n\nexport const ShareButton: React.FC<ShareButtonProps> = ({\n prepared = true, shareLink, slot, ...props\n}) => {\n const [expanded, setExpanded] = useState(false)\n const anchorRef = useRef(null)\n const link = shareLink ?? globalThis.location.href\n\n return (\n <FlexRow gap={1}>\n <ButtonEx\n variant=\"text\"\n minWidth={32}\n size=\"small\"\n disabled={!prepared}\n onClick={() => {\n setExpanded(true)\n }}\n {...props}\n >\n <ShareIcon htmlColor=\"gray\" fontSize=\"small\" ref={anchorRef} />\n </ButtonEx>\n <Popover\n open={prepared ? expanded : false}\n anchorEl={anchorRef.current}\n anchorOrigin={{ vertical: 'top', horizontal: 'right' }}\n onClose={() => setExpanded(false)}\n transitionDuration={500}\n sx={{\n ml: 1, top: -4, ...slot?.popover?.sx,\n }}\n {...slot?.popover}\n >\n <FlexRow gap={0.5} padding={0.5}>\n <LinkEx\n lineHeight={0}\n onClick={() => {\n window.open(`https://x.com/intent/tweet?url=${encodeURIComponent(link)}`)\n setExpanded(false)\n }}\n >\n <XIcon fontSize=\"small\" />\n </LinkEx>\n <LinkEx\n lineHeight={0}\n style={{ color: '#4267b2' }}\n onClick={() => {\n window.open(`https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(link)}`)\n setExpanded(false)\n }}\n >\n <FacebookIcon fontSize=\"small\" />\n </LinkEx>\n </FlexRow>\n </Popover>\n </FlexRow>\n )\n}\n","/* eslint-disable @stylistic/max-len */\nimport { createSvgIcon } from '@mui/material'\nimport React from 'react'\n\nexport const FacebookSvgIcon = createSvgIcon(\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"800\" width=\"1200\" viewBox=\"-204.79995 -341.33325 1774.9329 2047.9995\">\n <path d=\"M1365.333 682.667C1365.333 305.64 1059.693 0 682.667 0 305.64 0 0 305.64 0 682.667c0 340.738 249.641 623.16 576 674.373V880H402.667V682.667H576v-150.4c0-171.094 101.917-265.6 257.853-265.6 74.69 0 152.814 13.333 152.814 13.333v168h-86.083c-84.804 0-111.25 52.623-111.25 106.61v128.057h189.333L948.4 880H789.333v477.04c326.359-51.213 576-333.635 576-674.373\" fill=\"#1877f2\" />\n <path d=\"M948.4 880l30.267-197.333H789.333V554.609C789.333 500.623 815.78 448 900.584 448h86.083V280s-78.124-13.333-152.814-13.333c-155.936 0-257.853 94.506-257.853 265.6v150.4H402.667V880H576v477.04a687.805 687.805 0 00106.667 8.293c36.288 0 71.91-2.84 106.666-8.293V880H948.4\" fill=\"#fff\" />\n </svg>,\n 'Facebook',\n)\n","/* eslint-disable @stylistic/max-len */\nimport { createSvgIcon } from '@mui/material'\nimport React from 'react'\n\nexport const XTwitterSvgIcon = createSvgIcon(\n <svg viewBox=\"0 0 1200 1227\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M714.163 519.284L1160.89 0H1055.03L667.137 450.887L357.328 0H0L468.492 681.821L0 1226.37H105.866L515.491 750.218L842.672 1226.37H1200L714.137 519.284H714.163ZM569.165 687.828L521.697 619.934L144.011 79.6944H306.615L611.412 515.685L658.88 583.579L1055.08 1150.3H892.476L569.165 687.854V687.828Z\" fill=\"white\" />\n </svg>,\n 'XTwitterSvgIcon',\n)\n","import React from 'react'\nimport { Helmet } from 'react-helmet'\n\n/**\n * The props for the DynamicShareImage component.\n */\nexport interface DynamicShareImageProps {\n /**\n * The URL of the share image for the page.\n */\n image: string\n}\n\n/**\n * Used in conjunction with the XY Meta Server to dynamically set the share image for a page.\n */\nexport const DynamicShareImage: React.FC<DynamicShareImageProps> = ({ image }) => {\n return (\n <Helmet>\n <meta property=\"xyo:og:image\" content={image} />\n </Helmet>\n )\n}\n","import type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport type { PropsWithChildren } from 'react'\nimport React, { useEffect } from 'react'\n\nexport const HideParentsFlexbox: React.FC<PropsWithChildren & FlexBoxProps> = ({ children, ...props }) => {\n useEffect(() => {\n const style = document.createElement('style')\n document.head.append(style)\n style.innerHTML = `\n /** make all elements hidden */\n * {\n visibility: hidden;\n }\n\n /** move the preview area to the top of the page */\n #preview-area {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n z-index: 9999;\n }\n\n /** make the preview area and all its children visible */\n #preview-area * {\n visibility: visible;\n }`\n\n return () => {\n style.remove()\n }\n }, [])\n\n return (\n <FlexGrowRow alignItems=\"stretch\" id=\"preview-area\" justifyContent=\"start\" {...props}>\n {children}\n </FlexGrowRow>\n )\n}\n","import { Cancel } from '@mui/icons-material'\nimport type { StackProps } from '@mui/material'\nimport {\n Stack,\n Tooltip,\n Typography,\n} from '@mui/material'\nimport React, {\n useCallback, useMemo, useState,\n} from 'react'\n\nimport { CopyIconButton } from './CopyIconButton.tsx'\nimport {\n AnimatedGradientTypography, type ShareLinkProps, splitAroundSubstring,\n} from './lib/index.ts'\n\nexport interface CopyLinkStackProps extends ShareLinkProps, StackProps {\n addToXnsName?: boolean\n copiedLinkText?: string\n copyLinkText?: string\n xnsEndColor?: string\n xnsStartColor?: string\n}\n\nexport const CopyLinkStack: React.FC<CopyLinkStackProps> = ({\n addToXnsName, copiedLinkText, copyLinkText, shareLinkName, shareUrl, xnsName: xnsNameProp, xnsEndColor, uploadPayloads, xnsStartColor, ...props\n}) => {\n const [error, setError] = useState<Error>()\n\n const onClickError = useCallback((error: Error) => {\n setError(error)\n }, [])\n\n const parsedXnsName = useMemo(() => {\n if (shareUrl && xnsNameProp && addToXnsName) {\n try {\n const parts = splitAroundSubstring(shareUrl, xnsNameProp)\n return parts\n } catch (e) {\n setError(e as Error)\n }\n }\n }, [])\n\n const [part1, xnsName, part3] = parsedXnsName || []\n\n return (\n <Stack direction=\"row\" alignItems=\"center\" gap={0.25} {...props}>\n {xnsName && addToXnsName\n ? (\n <Stack direction=\"row\" maxWidth=\"100%\" sx={{ overflowX: 'auto' }}>\n <Typography sx={{ display: 'inline-flex' }}>{part1}</Typography>\n <AnimatedGradientTypography color1={xnsStartColor} color2={xnsEndColor} sx={{ display: 'inline-flex' }}>{xnsName}</AnimatedGradientTypography>\n <Typography sx={{ display: 'inline-flex' }}>{part3}</Typography>\n </Stack>\n )\n : (\n <Typography sx={{\n display: 'inline-flex', maxWidth: '100%', overflow: 'auto',\n }}\n >\n {shareUrl}\n </Typography>\n )}\n <CopyIconButton\n copiedLinkText={copiedLinkText}\n copyLinkText={copyLinkText}\n onClickError={onClickError}\n shareLinkName={shareLinkName}\n shareUrl={shareUrl}\n sx={{ display: 'inline-flex' }}\n uploadPayloads={uploadPayloads}\n />\n {error ? <Tooltip title={error.message}><Cancel color=\"error\" sx={{ display: 'inline-flex' }} /></Tooltip> : null}\n </Stack>\n )\n}\n","import { CopyAllRounded } from '@mui/icons-material'\nimport {\n type ButtonProps, CircularProgress, IconButton, Tooltip,\n} from '@mui/material'\nimport { forget } from '@xylabs/sdk-js'\nimport React, { useState } from 'react'\n\nimport type { ShareLinkProps } from './lib/index.ts'\n\nexport interface CopyIconButtonProps extends ButtonProps, ShareLinkProps {\n onClickError?: (error: Error) => void\n}\n\nexport const CopyIconButton: React.FC<CopyIconButtonProps> = ({\n copyLinkText, copiedLinkText, onClickError, shareLinkName, shareUrl, uploadPayloads, ...props\n}) => {\n const CopyLink = copyLinkText ?? 'Copy Link'\n const Copied = copiedLinkText ?? 'Copied!'\n\n const [copyTooltipTitle, setCopyToolTipTitle] = useState(CopyLink)\n const [loading, setLoading] = useState(false)\n\n const copyToClipboard = async (link?: string) => {\n if (link) {\n try {\n setLoading(true)\n await uploadPayloads?.()\n await navigator.clipboard.writeText(link)\n setCopyToolTipTitle(Copied)\n setTimeout(() => setCopyToolTipTitle(CopyLink), 2000)\n setLoading(false)\n } catch (e) {\n setLoading(false)\n const message = 'Error copying shareUrl to clipboard'\n console.error(message, e, link)\n onClickError?.(new Error(message))\n }\n } else {\n console.warn('tried to copy shareUrl before it was generated')\n }\n }\n\n return (\n <Tooltip title={copyTooltipTitle}>\n {loading\n ? (\n <IconButton>\n <CircularProgress size=\"24px\" />\n </IconButton>\n )\n : (\n <IconButton aria-label={`copy ${shareLinkName} link`} onClick={() => forget(copyToClipboard(shareUrl))} edge=\"end\" {...props}>\n <CopyAllRounded />\n </IconButton>\n )}\n </Tooltip>\n )\n}\n","import {\n keyframes, styled, Typography,\n} from '@mui/material'\n\n/**\n * Start the animation at 100% to give the gradient a left to right effect\n */\nconst moveBg = keyframes(`\n 0% {\n background-position: 100% 0%;\n }\n 100% {\n background-position: 0% 0%;\n }\n`)\n\n/**\n * Adapted from - https://codepen.io/web-dot-dev/pen/vYrGPNE\n */\nexport const AnimatedGradientTypography = styled(Typography, { name: 'AnimatedGradientTypography' })<{ color1?: string; color2?: string }>(({\n theme, color1, color2,\n}) => {\n return {\n // Set the color variables for the gradient\n '--color-one': color1 ?? theme.vars.palette.secondary.dark,\n '--color-two': color2 ?? theme.vars.palette.primary.light,\n // set the gradient so it has the same start and end color for looping effect\n 'background': `linear-gradient(\n .25turn,\n var(--color-one),\n var(--color-two),\n var(--color-one)\n )`,\n // Set the text color to transparent so the gradient shows through\n 'color': 'transparent',\n // Clip the background to the text shape\n 'backgroundClip': 'text',\n // Set the background size to 800% so we don't see the third color initially creating the looping effect\n 'backgroundSize': '800%',\n // Set the text to bold so the gradient is more visible\n 'fontWeight': 'bold',\n // Set the animation\n '@media (prefers-reduced-motion: no-preference)': {\n animationName: moveBg,\n animationDuration: '2s',\n animationIterationCount: 'infinite',\n },\n // reset for users that prefer reduced motion\n '@media (prefers-reduced-motion)': {\n background: 'none',\n color: theme.vars.palette.text.primary,\n },\n }\n})\n","export const splitAroundSubstring = (path: string, substring: string): [string, string, string] => {\n // Find the index of the substring\n const index = path.indexOf(substring)\n\n if (index === -1) {\n throw new Error(`XNS name \"${substring}\" not found in path.`)\n }\n\n // Extract the part before the substring\n const part1 = path.slice(0, index)\n\n // The substring itself is part2\n const part2 = substring\n\n // Extract the part after the substring\n const part3 = path.slice(index + substring.length)\n\n return [part1, part2, part3]\n}\n","import type { StandardTextFieldProps } from '@mui/material'\nimport { InputAdornment, TextField } from '@mui/material'\nimport React, { useCallback, useState } from 'react'\n\nimport { CopyIconButton } from './CopyIconButton.tsx'\n\nexport interface CopyLinkTextFieldProps extends StandardTextFieldProps {\n shareLinkName?: string\n shareUrl?: string\n}\n\nexport const CopyLinkTextField: React.FC<CopyLinkTextFieldProps> = ({\n shareLinkName, shareUrl, ...props\n}) => {\n const [error, setError] = useState<Error>()\n\n const onClickError = useCallback((error?: Error) => {\n setError(error)\n }, [])\n\n return (\n <TextField\n disabled\n error={!!error}\n helperText={error?.message}\n // to override the color that appears when it's a text field, only on dark mode\n sx={{ input: { WebkitTextFillColor: 'lightgray !important' } }}\n value={shareUrl}\n {...props}\n slotProps={{\n input: {\n endAdornment: (\n <InputAdornment position=\"end\">\n <CopyIconButton shareLinkName={shareLinkName} shareUrl={shareUrl} onClickError={onClickError} />\n </InputAdornment>\n ),\n },\n }}\n />\n )\n}\n","import type { DialogProps } from '@mui/material'\nimport {\n Dialog, DialogActions, DialogContent, DialogTitle, Stack, Typography,\n} from '@mui/material'\nimport { FlexCol, FlexGrowCol } from '@xylabs/react-flexbox'\nimport type { ComponentType, ReactNode } from 'react'\nimport React from 'react'\n\nexport interface ShareOutDialogProps extends DialogProps {\n ShareOutDialogActions?: ComponentType<{ onClose?: () => void }>\n cardImg?: ReactNode\n shareOutDialogContent?: ReactNode\n subtitle?: string\n title?: string\n}\n\nexport const ShareOutDialog: React.FC<ShareOutDialogProps> = ({\n ShareOutDialogActions, cardImg, open, onClose, shareOutDialogContent, subtitle, title, ...props\n}) => {\n const handleClose = () => {\n onClose?.('', 'backdropClick')\n }\n\n return (\n <Dialog onClose={onClose} open={open} {...props}>\n <DialogTitle>\n <Stack direction=\"row\" spacing={2}>\n <FlexGrowCol alignItems=\"flex-start\" width=\"60%\">\n <Typography variant=\"h5\">{title}</Typography>\n <Typography variant=\"body1\">\n {' '}\n {subtitle}\n </Typography>\n </FlexGrowCol>\n <FlexGrowCol alignItems=\"flex-end\" width=\"40%\">\n {cardImg}\n </FlexGrowCol>\n </Stack>\n </DialogTitle>\n <DialogContent>\n {shareOutDialogContent}\n <FlexCol alignItems=\"stretch\">\n </FlexCol>\n </DialogContent>\n {ShareOutDialogActions ? <DialogActions><ShareOutDialogActions onClose={handleClose} /></DialogActions> : null}\n </Dialog>\n )\n}\n","import { InfoOutlined } from '@mui/icons-material'\nimport {\n Tooltip, Typography, useTheme,\n} from '@mui/material'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nexport interface ShareOutExplanationProps {\n toolTipTitle?: string\n}\n\nexport const ShareOutExplanation: React.FC<ShareOutExplanationProps> = ({ toolTipTitle }) => {\n const theme = useTheme()\n // eslint-disable-next-line @stylistic/max-len\n const title = toolTipTitle ?? 'In order for your data to be publicly viewable, it needs to be saved to the XYO Network Public Archivist. Public data can be seen by your friends, and XYO can generate preview images for easier sharing on social media.'\n return (\n <FlexGrowRow alignItems=\"center\">\n <Typography variant=\"body2\" paddingRight={0.5}>\n What am I sharing?\n </Typography>\n <Tooltip\n title={title}\n placement=\"bottom\"\n >\n <InfoOutlined fontSize=\"small\" sx={{ fontSize: theme.typography.caption.fontSize }} />\n </Tooltip>\n </FlexGrowRow>\n )\n}\n","import type { ButtonProps } from '@mui/material'\nimport {\n Button, CircularProgress, styled,\n} from '@mui/material'\nimport React from 'react'\n\nexport interface GenerateShareLinkButtonProps extends ButtonProps {\n loading?: boolean\n}\n\nexport const GenerateShareLinkButton: React.FC<GenerateShareLinkButtonProps> = ({\n children = 'Generate My Share Link', loading, ...props\n}) => {\n return (\n <Button\n variant=\"contained\"\n startIcon={loading ? <StyledCircularProgress size=\"small\" /> : null}\n {...props}\n >\n {children}\n </Button>\n )\n}\n\nconst StyledCircularProgress = styled(CircularProgress, { name: 'StyledCircularProgress' })(({ theme }) => ({\n // ensure the color of the spinner is the same as the button color\n color: theme.vars.palette.primary.contrastText,\n height: '20px',\n opacity: '.87',\n width: '20px',\n}))\n","import { Typography } from '@mui/material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexGrowCol } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nexport interface ShareOutHeadingFlexboxProps extends FlexBoxProps {\n shareLinkName?: string\n shareUrl?: string\n}\n\nexport const ShareOutHeadingFlexbox: React.FC<ShareOutHeadingFlexboxProps> = ({\n children, shareLinkName, shareUrl, ...props\n}) => {\n const GenerateShareLinkExplanation = \"When you generate your share link, we'll make a small amount of your data public so friends can check it out!\"\n\n return (\n <FlexGrowCol alignItems=\"flex-start\" paddingBottom={1} {...props}>\n <Typography variant=\"body1\" gutterBottom>\n <strong>Your Share Link</strong>\n </Typography>\n <Typography variant=\"body1\">\n {shareUrl ? `Use this link or the buttons below to share ${shareLinkName}` : GenerateShareLinkExplanation}\n </Typography>\n {children}\n </FlexGrowCol>\n )\n}\n","import { Typography } from '@mui/material'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { ErrorRender } from '@xylabs/react-error'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexGrowCol, FlexRow } from '@xylabs/react-flexbox'\nimport React, { useState } from 'react'\n\nimport { FacebookSvgIcon, XTwitterSvgIcon } from '../icons/index.ts'\n\nexport interface SocialButtonsFlexboxProps extends FlexBoxProps {\n shareUrl?: string\n uploadPayloads?: () => Promise<void>\n}\n\nexport const SocialButtonsFlexbox: React.FC<SocialButtonsFlexboxProps> = ({\n shareUrl, uploadPayloads, ...props\n}) => {\n const [error, setError] = useState<Error>()\n const [xLoading, setXLoading] = useState(false)\n const [fbLoading, setFbLoading] = useState(false)\n\n const handleClick = async (openUrl: () => void, buttonName: 'x' | 'fb') => {\n const setLoading = buttonName === 'x' ? setXLoading : setFbLoading\n try {\n setLoading(true)\n await uploadPayloads?.()\n setLoading(false)\n openUrl()\n } catch (e) {\n setLoading(false)\n console.error('Error uploading payloads', e)\n setError(e as Error)\n }\n }\n\n return (\n <FlexGrowCol alignItems=\"stretch\" paddingTop={2} {...props}>\n <Typography variant=\"body1\" gutterBottom>\n <strong>Share on Social Media</strong>\n </Typography>\n <FlexRow\n gap={0.5}\n sx={{ flexDirection: { md: 'row', xs: 'column' } }}\n >\n {shareUrl\n ? (\n <>\n <ButtonEx\n variant=\"contained\"\n style={{ backgroundColor: '#000', color: '#fff' }}\n busy={xLoading}\n onClick={async () => {\n const openUrl = () => window.open(`https://twitter.com/intent/tweet?url=${encodeURIComponent(shareUrl)}`)\n await handleClick(openUrl, 'x')\n }}\n startIcon={<XTwitterSvgIcon width=\"20px\" />}\n >\n Share on X (Twitter)\n </ButtonEx>\n <ButtonEx\n busy={fbLoading}\n variant=\"contained\"\n style={{ backgroundColor: '#4267b2', color: '#fff' }}\n onClick={async () => {\n const openUrl = () => window.open(`https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(shareUrl)}`)\n await handleClick(openUrl, 'fb')\n }}\n startIcon={<FacebookSvgIcon />}\n >\n Share on Facebook\n </ButtonEx>\n </>\n )\n : null}\n </FlexRow>\n <ErrorRender error={error} scope=\"SocialButtonsFlexbox\" />\n </FlexGrowCol>\n )\n}\n"],"mappings":"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","names":["Facebook","FacebookIcon","Share","ShareIcon","X","XIcon","Popover","ButtonEx","FlexRow","LinkEx","React","useRef","useState","ShareButton","prepared","shareLink","slot","props","expanded","setExpanded","useState","anchorRef","useRef","link","globalThis","location","href","FlexRow","gap","ButtonEx","variant","minWidth","size","disabled","onClick","ShareIcon","htmlColor","fontSize","ref","Popover","open","anchorEl","current","anchorOrigin","vertical","horizontal","onClose","transitionDuration","sx","ml","top","popover","padding","LinkEx","lineHeight","window","encodeURIComponent","XIcon","style","color","FacebookIcon","createSvgIcon","React","FacebookSvgIcon","svg","xmlns","height","width","viewBox","path","d","fill","createSvgIcon","React","XTwitterSvgIcon","svg","viewBox","fill","xmlns","path","d","React","Helmet","DynamicShareImage","image","React","Helmet","meta","property","content","FlexGrowRow","React","useEffect","HideParentsFlexbox","children","props","useEffect","style","document","createElement","head","append","innerHTML","remove","React","FlexGrowRow","alignItems","id","justifyContent","Cancel","Stack","Tooltip","Typography","React","useCallback","useMemo","useState","CopyAllRounded","CircularProgress","IconButton","Tooltip","forget","React","useState","CopyIconButton","copyLinkText","copiedLinkText","onClickError","shareLinkName","shareUrl","uploadPayloads","props","CopyLink","Copied","copyTooltipTitle","setCopyToolTipTitle","useState","loading","setLoading","copyToClipboard","link","navigator","clipboard","writeText","setTimeout","e","message","console","error","Error","warn","React","Tooltip","title","IconButton","CircularProgress","size","aria-label","onClick","forget","edge","CopyAllRounded","keyframes","styled","Typography","moveBg","AnimatedGradientTypography","name","theme","color1","color2","vars","palette","secondary","dark","primary","light","animationName","animationDuration","animationIterationCount","background","color","text","splitAroundSubstring","path","substring","index","indexOf","Error","part1","slice","part2","part3","length","CopyLinkStack","addToXnsName","copiedLinkText","copyLinkText","shareLinkName","shareUrl","xnsName","xnsNameProp","xnsEndColor","uploadPayloads","xnsStartColor","props","error","setError","useState","onClickError","useCallback","parsedXnsName","useMemo","parts","splitAroundSubstring","e","part1","part3","React","Stack","direction","alignItems","gap","maxWidth","sx","overflowX","Typography","display","AnimatedGradientTypography","color1","color2","overflow","CopyIconButton","Tooltip","title","message","Cancel","color","InputAdornment","TextField","React","useCallback","useState","CopyLinkTextField","shareLinkName","shareUrl","props","error","setError","useState","onClickError","useCallback","React","TextField","disabled","helperText","message","sx","input","WebkitTextFillColor","value","slotProps","endAdornment","InputAdornment","position","CopyIconButton","Dialog","DialogActions","DialogContent","DialogTitle","Stack","Typography","FlexCol","FlexGrowCol","React","ShareOutDialog","ShareOutDialogActions","cardImg","open","onClose","shareOutDialogContent","subtitle","title","props","handleClose","React","Dialog","DialogTitle","Stack","direction","spacing","FlexGrowCol","alignItems","width","Typography","variant","DialogContent","FlexCol","DialogActions","InfoOutlined","Tooltip","Typography","useTheme","FlexGrowRow","React","ShareOutExplanation","toolTipTitle","theme","useTheme","title","React","FlexGrowRow","alignItems","Typography","variant","paddingRight","Tooltip","placement","InfoOutlined","fontSize","sx","typography","caption","Button","CircularProgress","styled","React","GenerateShareLinkButton","children","loading","props","React","Button","variant","startIcon","StyledCircularProgress","size","styled","CircularProgress","name","theme","color","vars","palette","primary","contrastText","height","opacity","width","Typography","FlexGrowCol","React","ShareOutHeadingFlexbox","children","shareLinkName","shareUrl","props","GenerateShareLinkExplanation","React","FlexGrowCol","alignItems","paddingBottom","Typography","variant","gutterBottom","strong","Typography","ButtonEx","ErrorRender","FlexGrowCol","FlexRow","React","useState","SocialButtonsFlexbox","shareUrl","uploadPayloads","props","error","setError","useState","xLoading","setXLoading","fbLoading","setFbLoading","handleClick","openUrl","buttonName","setLoading","e","console","React","FlexGrowCol","alignItems","paddingTop","Typography","variant","gutterBottom","strong","FlexRow","gap","sx","flexDirection","md","xs","ButtonEx","style","backgroundColor","color","busy","onClick","window","open","encodeURIComponent","startIcon","XTwitterSvgIcon","width","FacebookSvgIcon","ErrorRender","scope"]}
|
|
1
|
+
{"version":3,"sources":["../../src/button/ShareButton.tsx","../../src/icons/social/Facebook.tsx","../../src/icons/social/XTwitter.tsx","../../src/meta-server/dynamic-share/DynamicShareImage.tsx","../../src/meta-server/live-share/HideParentsFlexbox.tsx","../../src/out/CopyLinkStack.tsx","../../src/out/CopyIconButton.tsx","../../src/out/lib/AnimatedGradientTypography.tsx","../../src/out/lib/splitAroundSubstring.ts","../../src/out/CopyLinkTextField.tsx","../../src/out/Dialog.tsx","../../src/out/Explanation.tsx","../../src/out/GenerateShareLinkButton.tsx","../../src/out/HeadingFlexbox.tsx","../../src/out/SocialButtonsFlexbox.tsx"],"sourcesContent":["import {\n Facebook as FacebookIcon, Share as ShareIcon,\n X as XIcon,\n} from '@mui/icons-material'\nimport type { PopoverProps } from '@mui/material'\nimport { Popover } from '@mui/material'\nimport type { ButtonExProps } from '@xylabs/react-button'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { LinkEx } from '@xylabs/react-link'\nimport React, { useRef, useState } from 'react'\n\nexport type ShareButtonProps = ButtonExProps & {\n prepared?: boolean\n shareLink?: string\n slot?: { popover?: PopoverProps }\n}\n\nexport const ShareButton: React.FC<ShareButtonProps> = ({\n prepared = true, shareLink, slot, ...props\n}) => {\n const [expanded, setExpanded] = useState(false)\n const anchorRef = useRef(null)\n const link = shareLink ?? globalThis.location.href\n\n return (\n <FlexRow gap={1}>\n <ButtonEx\n variant=\"text\"\n minWidth={32}\n size=\"small\"\n disabled={!prepared}\n onClick={() => {\n setExpanded(true)\n }}\n {...props}\n >\n <ShareIcon htmlColor=\"gray\" fontSize=\"small\" ref={anchorRef} />\n </ButtonEx>\n <Popover\n open={prepared ? expanded : false}\n anchorEl={anchorRef.current}\n anchorOrigin={{ vertical: 'top', horizontal: 'right' }}\n onClose={() => setExpanded(false)}\n transitionDuration={500}\n sx={{\n ml: 1, top: -4, ...slot?.popover?.sx,\n }}\n {...slot?.popover}\n >\n <FlexRow gap={0.5} padding={0.5}>\n <LinkEx\n lineHeight={0}\n onClick={() => {\n window.open(`https://x.com/intent/tweet?url=${encodeURIComponent(link)}`)\n setExpanded(false)\n }}\n >\n <XIcon fontSize=\"small\" />\n </LinkEx>\n <LinkEx\n lineHeight={0}\n style={{ color: '#4267b2' }}\n onClick={() => {\n window.open(`https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(link)}`)\n setExpanded(false)\n }}\n >\n <FacebookIcon fontSize=\"small\" />\n </LinkEx>\n </FlexRow>\n </Popover>\n </FlexRow>\n )\n}\n","/* eslint-disable @stylistic/max-len */\nimport { createSvgIcon } from '@mui/material'\nimport React from 'react'\n\nexport const FacebookSvgIcon = createSvgIcon(\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"800\" width=\"1200\" viewBox=\"-204.79995 -341.33325 1774.9329 2047.9995\">\n <path d=\"M1365.333 682.667C1365.333 305.64 1059.693 0 682.667 0 305.64 0 0 305.64 0 682.667c0 340.738 249.641 623.16 576 674.373V880H402.667V682.667H576v-150.4c0-171.094 101.917-265.6 257.853-265.6 74.69 0 152.814 13.333 152.814 13.333v168h-86.083c-84.804 0-111.25 52.623-111.25 106.61v128.057h189.333L948.4 880H789.333v477.04c326.359-51.213 576-333.635 576-674.373\" fill=\"#1877f2\" />\n <path d=\"M948.4 880l30.267-197.333H789.333V554.609C789.333 500.623 815.78 448 900.584 448h86.083V280s-78.124-13.333-152.814-13.333c-155.936 0-257.853 94.506-257.853 265.6v150.4H402.667V880H576v477.04a687.805 687.805 0 00106.667 8.293c36.288 0 71.91-2.84 106.666-8.293V880H948.4\" fill=\"#fff\" />\n </svg>,\n 'Facebook',\n)\n","/* eslint-disable @stylistic/max-len */\nimport { createSvgIcon } from '@mui/material'\nimport React from 'react'\n\nexport const XTwitterSvgIcon = createSvgIcon(\n <svg viewBox=\"0 0 1200 1227\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M714.163 519.284L1160.89 0H1055.03L667.137 450.887L357.328 0H0L468.492 681.821L0 1226.37H105.866L515.491 750.218L842.672 1226.37H1200L714.137 519.284H714.163ZM569.165 687.828L521.697 619.934L144.011 79.6944H306.615L611.412 515.685L658.88 583.579L1055.08 1150.3H892.476L569.165 687.854V687.828Z\" fill=\"white\" />\n </svg>,\n 'XTwitterSvgIcon',\n)\n","import React from 'react'\nimport { Helmet } from 'react-helmet'\n\n/**\n * The props for the DynamicShareImage component.\n */\nexport interface DynamicShareImageProps {\n /**\n * The URL of the share image for the page.\n */\n image: string\n}\n\n/**\n * Used in conjunction with the XY Meta Server to dynamically set the share image for a page.\n */\nexport const DynamicShareImage: React.FC<DynamicShareImageProps> = ({ image }) => {\n return (\n <Helmet>\n <meta property=\"xyo:og:image\" content={image} />\n </Helmet>\n )\n}\n","import type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport type { PropsWithChildren } from 'react'\nimport React, { useEffect } from 'react'\n\nexport const HideParentsFlexbox: React.FC<PropsWithChildren & FlexBoxProps> = ({ children, ...props }) => {\n useEffect(() => {\n const style = document.createElement('style')\n document.head.append(style)\n style.innerHTML = `\n /** make all elements hidden */\n * {\n visibility: hidden;\n }\n\n /** move the preview area to the top of the page */\n #preview-area {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n z-index: 9999;\n }\n\n /** make the preview area and all its children visible */\n #preview-area * {\n visibility: visible;\n }`\n\n return () => {\n style.remove()\n }\n }, [])\n\n return (\n <FlexGrowRow alignItems=\"stretch\" id=\"preview-area\" justifyContent=\"start\" {...props}>\n {children}\n </FlexGrowRow>\n )\n}\n","import { Cancel } from '@mui/icons-material'\nimport type { StackProps } from '@mui/material'\nimport {\n Stack,\n Tooltip,\n Typography,\n} from '@mui/material'\nimport React, {\n useCallback, useMemo, useState,\n} from 'react'\n\nimport { CopyIconButton } from './CopyIconButton.tsx'\nimport {\n AnimatedGradientTypography, type ShareLinkProps, splitAroundSubstring,\n} from './lib/index.ts'\n\nexport interface CopyLinkStackProps extends ShareLinkProps, StackProps {\n addToXnsName?: boolean\n copiedLinkText?: string\n copyLinkText?: string\n xnsEndColor?: string\n xnsStartColor?: string\n}\n\nexport const CopyLinkStack: React.FC<CopyLinkStackProps> = ({\n addToXnsName, copiedLinkText, copyLinkText, shareLinkName, shareUrl, xnsName: xnsNameProp, xnsEndColor, uploadPayloads, xnsStartColor, ...props\n}) => {\n const [error, setError] = useState<Error>()\n\n const onClickError = useCallback((error: Error) => {\n setError(error)\n }, [])\n\n const parsedXnsName = useMemo(() => {\n if (shareUrl && xnsNameProp && addToXnsName) {\n try {\n const parts = splitAroundSubstring(shareUrl, xnsNameProp)\n return parts\n } catch (e) {\n setError(e as Error)\n }\n }\n }, [addToXnsName, shareUrl, xnsNameProp])\n\n const [part1, xnsName, part3] = parsedXnsName || []\n\n return (\n <Stack direction=\"row\" alignItems=\"center\" gap={0.25} {...props}>\n {xnsName && addToXnsName\n ? (\n <Stack direction=\"row\" maxWidth=\"100%\" sx={{ overflowX: 'auto' }}>\n <Typography sx={{ display: 'inline-flex' }}>{part1}</Typography>\n <AnimatedGradientTypography color1={xnsStartColor} color2={xnsEndColor} sx={{ display: 'inline-flex' }}>{xnsName}</AnimatedGradientTypography>\n <Typography sx={{ display: 'inline-flex' }}>{part3}</Typography>\n </Stack>\n )\n : (\n <Typography sx={{\n display: 'inline-flex', maxWidth: '100%', overflow: 'auto',\n }}\n >\n {shareUrl}\n </Typography>\n )}\n <CopyIconButton\n copiedLinkText={copiedLinkText}\n copyLinkText={copyLinkText}\n onClickError={onClickError}\n shareLinkName={shareLinkName}\n shareUrl={shareUrl}\n sx={{ display: 'inline-flex' }}\n uploadPayloads={uploadPayloads}\n />\n {error ? <Tooltip title={error.message}><Cancel color=\"error\" sx={{ display: 'inline-flex' }} /></Tooltip> : null}\n </Stack>\n )\n}\n","import { CopyAllRounded } from '@mui/icons-material'\nimport {\n type ButtonProps, CircularProgress, IconButton, Tooltip,\n} from '@mui/material'\nimport { forget } from '@xylabs/sdk-js'\nimport React, { useState } from 'react'\n\nimport type { ShareLinkProps } from './lib/index.ts'\n\nexport interface CopyIconButtonProps extends ButtonProps, ShareLinkProps {\n onClickError?: (error: Error) => void\n}\n\nexport const CopyIconButton: React.FC<CopyIconButtonProps> = ({\n copyLinkText, copiedLinkText, onClickError, shareLinkName, shareUrl, uploadPayloads, ...props\n}) => {\n const CopyLink = copyLinkText ?? 'Copy Link'\n const Copied = copiedLinkText ?? 'Copied!'\n\n const [copyTooltipTitle, setCopyToolTipTitle] = useState(CopyLink)\n const [loading, setLoading] = useState(false)\n\n const copyToClipboard = async (link?: string) => {\n if (link) {\n try {\n setLoading(true)\n await uploadPayloads?.()\n await navigator.clipboard.writeText(link)\n setCopyToolTipTitle(Copied)\n setTimeout(() => setCopyToolTipTitle(CopyLink), 2000)\n setLoading(false)\n } catch (e) {\n setLoading(false)\n const message = 'Error copying shareUrl to clipboard'\n console.error(message, e, link)\n onClickError?.(new Error(message))\n }\n } else {\n console.warn('tried to copy shareUrl before it was generated')\n }\n }\n\n return (\n <Tooltip title={copyTooltipTitle}>\n {loading\n ? (\n <IconButton>\n <CircularProgress size=\"24px\" />\n </IconButton>\n )\n : (\n <IconButton aria-label={`copy ${shareLinkName} link`} onClick={() => forget(copyToClipboard(shareUrl))} edge=\"end\" {...props}>\n <CopyAllRounded />\n </IconButton>\n )}\n </Tooltip>\n )\n}\n","import {\n keyframes, styled, Typography,\n} from '@mui/material'\n\n/**\n * Start the animation at 100% to give the gradient a left to right effect\n */\nconst moveBg = keyframes(`\n 0% {\n background-position: 100% 0%;\n }\n 100% {\n background-position: 0% 0%;\n }\n`)\n\n/**\n * Adapted from - https://codepen.io/web-dot-dev/pen/vYrGPNE\n */\nexport const AnimatedGradientTypography = styled(Typography, { name: 'AnimatedGradientTypography' })<{ color1?: string; color2?: string }>(({\n theme, color1, color2,\n}) => {\n return {\n // Set the color variables for the gradient\n '--color-one': color1 ?? theme.vars.palette.secondary.dark,\n '--color-two': color2 ?? theme.vars.palette.primary.light,\n // set the gradient so it has the same start and end color for looping effect\n 'background': `linear-gradient(\n .25turn,\n var(--color-one),\n var(--color-two),\n var(--color-one)\n )`,\n // Set the text color to transparent so the gradient shows through\n 'color': 'transparent',\n // Clip the background to the text shape\n 'backgroundClip': 'text',\n // Set the background size to 800% so we don't see the third color initially creating the looping effect\n 'backgroundSize': '800%',\n // Set the text to bold so the gradient is more visible\n 'fontWeight': 'bold',\n // Set the animation\n '@media (prefers-reduced-motion: no-preference)': {\n animationName: moveBg,\n animationDuration: '2s',\n animationIterationCount: 'infinite',\n },\n // reset for users that prefer reduced motion\n '@media (prefers-reduced-motion)': {\n background: 'none',\n color: theme.vars.palette.text.primary,\n },\n }\n})\n","export const splitAroundSubstring = (path: string, substring: string): [string, string, string] => {\n // Find the index of the substring\n const index = path.indexOf(substring)\n\n if (index === -1) {\n throw new Error(`XNS name \"${substring}\" not found in path.`)\n }\n\n // Extract the part before the substring\n const part1 = path.slice(0, index)\n\n // The substring itself is part2\n const part2 = substring\n\n // Extract the part after the substring\n const part3 = path.slice(index + substring.length)\n\n return [part1, part2, part3]\n}\n","import type { StandardTextFieldProps } from '@mui/material'\nimport { InputAdornment, TextField } from '@mui/material'\nimport React, { useCallback, useState } from 'react'\n\nimport { CopyIconButton } from './CopyIconButton.tsx'\n\nexport interface CopyLinkTextFieldProps extends StandardTextFieldProps {\n shareLinkName?: string\n shareUrl?: string\n}\n\nexport const CopyLinkTextField: React.FC<CopyLinkTextFieldProps> = ({\n shareLinkName, shareUrl, ...props\n}) => {\n const [error, setError] = useState<Error>()\n\n const onClickError = useCallback((error?: Error) => {\n setError(error)\n }, [])\n\n return (\n <TextField\n disabled\n error={!!error}\n helperText={error?.message}\n // to override the color that appears when it's a text field, only on dark mode\n sx={{ input: { WebkitTextFillColor: 'lightgray !important' } }}\n value={shareUrl}\n {...props}\n slotProps={{\n input: {\n endAdornment: (\n <InputAdornment position=\"end\">\n <CopyIconButton shareLinkName={shareLinkName} shareUrl={shareUrl} onClickError={onClickError} />\n </InputAdornment>\n ),\n },\n }}\n />\n )\n}\n","import type { DialogProps } from '@mui/material'\nimport {\n Dialog, DialogActions, DialogContent, DialogTitle, Stack, Typography,\n} from '@mui/material'\nimport { FlexCol, FlexGrowCol } from '@xylabs/react-flexbox'\nimport type { ComponentType, ReactNode } from 'react'\nimport React from 'react'\n\nexport interface ShareOutDialogProps extends DialogProps {\n ShareOutDialogActions?: ComponentType<{ onClose?: () => void }>\n cardImg?: ReactNode\n shareOutDialogContent?: ReactNode\n subtitle?: string\n title?: string\n}\n\nexport const ShareOutDialog: React.FC<ShareOutDialogProps> = ({\n ShareOutDialogActions, cardImg, open, onClose, shareOutDialogContent, subtitle, title, ...props\n}) => {\n const handleClose = () => {\n onClose?.('', 'backdropClick')\n }\n\n return (\n <Dialog onClose={onClose} open={open} {...props}>\n <DialogTitle>\n <Stack direction=\"row\" spacing={2}>\n <FlexGrowCol alignItems=\"flex-start\" width=\"60%\">\n <Typography variant=\"h5\">{title}</Typography>\n <Typography variant=\"body1\">\n {' '}\n {subtitle}\n </Typography>\n </FlexGrowCol>\n <FlexGrowCol alignItems=\"flex-end\" width=\"40%\">\n {cardImg}\n </FlexGrowCol>\n </Stack>\n </DialogTitle>\n <DialogContent>\n {shareOutDialogContent}\n <FlexCol alignItems=\"stretch\">\n </FlexCol>\n </DialogContent>\n {ShareOutDialogActions ? <DialogActions><ShareOutDialogActions onClose={handleClose} /></DialogActions> : null}\n </Dialog>\n )\n}\n","import { InfoOutlined } from '@mui/icons-material'\nimport {\n Tooltip, Typography, useTheme,\n} from '@mui/material'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nexport interface ShareOutExplanationProps {\n toolTipTitle?: string\n}\n\nexport const ShareOutExplanation: React.FC<ShareOutExplanationProps> = ({ toolTipTitle }) => {\n const theme = useTheme()\n // eslint-disable-next-line @stylistic/max-len\n const title = toolTipTitle ?? 'In order for your data to be publicly viewable, it needs to be saved to the XYO Network Public Archivist. Public data can be seen by your friends, and XYO can generate preview images for easier sharing on social media.'\n return (\n <FlexGrowRow alignItems=\"center\">\n <Typography variant=\"body2\" paddingRight={0.5}>\n What am I sharing?\n </Typography>\n <Tooltip\n title={title}\n placement=\"bottom\"\n >\n <InfoOutlined fontSize=\"small\" sx={{ fontSize: theme.typography.caption.fontSize }} />\n </Tooltip>\n </FlexGrowRow>\n )\n}\n","import type { ButtonProps } from '@mui/material'\nimport {\n Button, CircularProgress, styled,\n} from '@mui/material'\nimport React from 'react'\n\nexport interface GenerateShareLinkButtonProps extends ButtonProps {\n loading?: boolean\n}\n\nexport const GenerateShareLinkButton: React.FC<GenerateShareLinkButtonProps> = ({\n children = 'Generate My Share Link', loading, ...props\n}) => {\n return (\n <Button\n variant=\"contained\"\n startIcon={loading ? <StyledCircularProgress size=\"small\" /> : null}\n {...props}\n >\n {children}\n </Button>\n )\n}\n\nconst StyledCircularProgress = styled(CircularProgress, { name: 'StyledCircularProgress' })(({ theme }) => ({\n // ensure the color of the spinner is the same as the button color\n color: theme.vars.palette.primary.contrastText,\n height: '20px',\n opacity: '.87',\n width: '20px',\n}))\n","import { Typography } from '@mui/material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexGrowCol } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nexport interface ShareOutHeadingFlexboxProps extends FlexBoxProps {\n shareLinkName?: string\n shareUrl?: string\n}\n\nexport const ShareOutHeadingFlexbox: React.FC<ShareOutHeadingFlexboxProps> = ({\n children, shareLinkName, shareUrl, ...props\n}) => {\n const GenerateShareLinkExplanation = \"When you generate your share link, we'll make a small amount of your data public so friends can check it out!\"\n\n return (\n <FlexGrowCol alignItems=\"flex-start\" paddingBottom={1} {...props}>\n <Typography variant=\"body1\" gutterBottom>\n <strong>Your Share Link</strong>\n </Typography>\n <Typography variant=\"body1\">\n {shareUrl ? `Use this link or the buttons below to share ${shareLinkName}` : GenerateShareLinkExplanation}\n </Typography>\n {children}\n </FlexGrowCol>\n )\n}\n","import { Typography } from '@mui/material'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { ErrorRender } from '@xylabs/react-error'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexGrowCol, FlexRow } from '@xylabs/react-flexbox'\nimport React, { useState } from 'react'\n\nimport { FacebookSvgIcon, XTwitterSvgIcon } from '../icons/index.ts'\n\nexport interface SocialButtonsFlexboxProps extends FlexBoxProps {\n shareUrl?: string\n uploadPayloads?: () => Promise<void>\n}\n\nexport const SocialButtonsFlexbox: React.FC<SocialButtonsFlexboxProps> = ({\n shareUrl, uploadPayloads, ...props\n}) => {\n const [error, setError] = useState<Error>()\n const [xLoading, setXLoading] = useState(false)\n const [fbLoading, setFbLoading] = useState(false)\n\n const handleClick = async (openUrl: () => void, buttonName: 'x' | 'fb') => {\n const setLoading = buttonName === 'x' ? setXLoading : setFbLoading\n try {\n setLoading(true)\n await uploadPayloads?.()\n setLoading(false)\n openUrl()\n } catch (e) {\n setLoading(false)\n console.error('Error uploading payloads', e)\n setError(e as Error)\n }\n }\n\n return (\n <FlexGrowCol alignItems=\"stretch\" paddingTop={2} {...props}>\n <Typography variant=\"body1\" gutterBottom>\n <strong>Share on Social Media</strong>\n </Typography>\n <FlexRow\n gap={0.5}\n sx={{ flexDirection: { md: 'row', xs: 'column' } }}\n >\n {shareUrl\n ? (\n <>\n <ButtonEx\n variant=\"contained\"\n style={{ backgroundColor: '#000', color: '#fff' }}\n busy={xLoading}\n onClick={async () => {\n const openUrl = () => window.open(`https://twitter.com/intent/tweet?url=${encodeURIComponent(shareUrl)}`)\n await handleClick(openUrl, 'x')\n }}\n startIcon={<XTwitterSvgIcon width=\"20px\" />}\n >\n Share on X (Twitter)\n </ButtonEx>\n <ButtonEx\n busy={fbLoading}\n variant=\"contained\"\n style={{ backgroundColor: '#4267b2', color: '#fff' }}\n onClick={async () => {\n const openUrl = () => window.open(`https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(shareUrl)}`)\n await handleClick(openUrl, 'fb')\n }}\n startIcon={<FacebookSvgIcon />}\n >\n Share on Facebook\n </ButtonEx>\n </>\n )\n : null}\n </FlexRow>\n <ErrorRender error={error} scope=\"SocialButtonsFlexbox\" />\n </FlexGrowCol>\n )\n}\n"],"mappings":"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","names":["Facebook","FacebookIcon","Share","ShareIcon","X","XIcon","Popover","ButtonEx","FlexRow","LinkEx","React","useRef","useState","ShareButton","prepared","shareLink","slot","props","expanded","setExpanded","useState","anchorRef","useRef","link","globalThis","location","href","FlexRow","gap","ButtonEx","variant","minWidth","size","disabled","onClick","ShareIcon","htmlColor","fontSize","ref","Popover","open","anchorEl","current","anchorOrigin","vertical","horizontal","onClose","transitionDuration","sx","ml","top","popover","padding","LinkEx","lineHeight","window","encodeURIComponent","XIcon","style","color","FacebookIcon","createSvgIcon","React","FacebookSvgIcon","svg","xmlns","height","width","viewBox","path","d","fill","createSvgIcon","React","XTwitterSvgIcon","svg","viewBox","fill","xmlns","path","d","React","Helmet","DynamicShareImage","image","React","Helmet","meta","property","content","FlexGrowRow","React","useEffect","HideParentsFlexbox","children","props","useEffect","style","document","createElement","head","append","innerHTML","remove","React","FlexGrowRow","alignItems","id","justifyContent","Cancel","Stack","Tooltip","Typography","React","useCallback","useMemo","useState","CopyAllRounded","CircularProgress","IconButton","Tooltip","forget","React","useState","CopyIconButton","copyLinkText","copiedLinkText","onClickError","shareLinkName","shareUrl","uploadPayloads","props","CopyLink","Copied","copyTooltipTitle","setCopyToolTipTitle","useState","loading","setLoading","copyToClipboard","link","navigator","clipboard","writeText","setTimeout","e","message","console","error","Error","warn","React","Tooltip","title","IconButton","CircularProgress","size","aria-label","onClick","forget","edge","CopyAllRounded","keyframes","styled","Typography","moveBg","AnimatedGradientTypography","name","theme","color1","color2","vars","palette","secondary","dark","primary","light","animationName","animationDuration","animationIterationCount","background","color","text","splitAroundSubstring","path","substring","index","indexOf","Error","part1","slice","part2","part3","length","CopyLinkStack","addToXnsName","copiedLinkText","copyLinkText","shareLinkName","shareUrl","xnsName","xnsNameProp","xnsEndColor","uploadPayloads","xnsStartColor","props","error","setError","useState","onClickError","useCallback","parsedXnsName","useMemo","parts","splitAroundSubstring","e","part1","part3","React","Stack","direction","alignItems","gap","maxWidth","sx","overflowX","Typography","display","AnimatedGradientTypography","color1","color2","overflow","CopyIconButton","Tooltip","title","message","Cancel","color","InputAdornment","TextField","React","useCallback","useState","CopyLinkTextField","shareLinkName","shareUrl","props","error","setError","useState","onClickError","useCallback","React","TextField","disabled","helperText","message","sx","input","WebkitTextFillColor","value","slotProps","endAdornment","InputAdornment","position","CopyIconButton","Dialog","DialogActions","DialogContent","DialogTitle","Stack","Typography","FlexCol","FlexGrowCol","React","ShareOutDialog","ShareOutDialogActions","cardImg","open","onClose","shareOutDialogContent","subtitle","title","props","handleClose","React","Dialog","DialogTitle","Stack","direction","spacing","FlexGrowCol","alignItems","width","Typography","variant","DialogContent","FlexCol","DialogActions","InfoOutlined","Tooltip","Typography","useTheme","FlexGrowRow","React","ShareOutExplanation","toolTipTitle","theme","useTheme","title","React","FlexGrowRow","alignItems","Typography","variant","paddingRight","Tooltip","placement","InfoOutlined","fontSize","sx","typography","caption","Button","CircularProgress","styled","React","GenerateShareLinkButton","children","loading","props","React","Button","variant","startIcon","StyledCircularProgress","size","styled","CircularProgress","name","theme","color","vars","palette","primary","contrastText","height","opacity","width","Typography","FlexGrowCol","React","ShareOutHeadingFlexbox","children","shareLinkName","shareUrl","props","GenerateShareLinkExplanation","React","FlexGrowCol","alignItems","paddingBottom","Typography","variant","gutterBottom","strong","Typography","ButtonEx","ErrorRender","FlexGrowCol","FlexRow","React","useState","SocialButtonsFlexbox","shareUrl","uploadPayloads","props","error","setError","useState","xLoading","setXLoading","fbLoading","setFbLoading","handleClick","openUrl","buttonName","setLoading","e","console","React","FlexGrowCol","alignItems","paddingTop","Typography","variant","gutterBottom","strong","FlexRow","gap","sx","flexDirection","md","xs","ButtonEx","style","backgroundColor","color","busy","onClick","window","open","encodeURIComponent","startIcon","XTwitterSvgIcon","width","FacebookSvgIcon","ErrorRender","scope"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyo-network/react-share",
|
|
3
|
-
"version": "7.5.
|
|
3
|
+
"version": "7.5.8",
|
|
4
4
|
"description": "Common React library for all XYO projects that use React",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"xyo",
|
|
@@ -56,6 +56,7 @@
|
|
|
56
56
|
"@storybook/react-vite": "~10.3.3",
|
|
57
57
|
"@types/react": "^19.2.14",
|
|
58
58
|
"@types/react-helmet": "~6.1.11",
|
|
59
|
+
"@xylabs/ts-scripts-common": "~7.5.6",
|
|
59
60
|
"@xylabs/ts-scripts-yarn3": "~7.5.6",
|
|
60
61
|
"react": "^19.2.4",
|
|
61
62
|
"react-dom": "^19.2.4",
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { Meta } from '@storybook/react-vite';
|
|
2
|
-
import { ShareButton } from './ShareButton.tsx';
|
|
3
|
-
declare const _default: Meta<typeof ShareButton>;
|
|
4
|
-
export default _default;
|
|
5
|
-
declare const Default: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("./ShareButton.tsx").ShareButtonProps>;
|
|
6
|
-
declare const WithUnPrepared: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("./ShareButton.tsx").ShareButtonProps>;
|
|
7
|
-
declare const WithCustomShareLink: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("./ShareButton.tsx").ShareButtonProps>;
|
|
8
|
-
export { Default, WithCustomShareLink, WithUnPrepared, };
|
|
9
|
-
//# sourceMappingURL=ShareButton.stories.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ShareButton.stories.d.ts","sourceRoot":"","sources":["../../../src/button/ShareButton.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAW,MAAM,uBAAuB,CAAA;AAG1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;wBAEI,IAAI,CAAC,OAAO,WAAW,CAAC;AAA3E,wBAA2E;AAM3E,QAAA,MAAM,OAAO,2IAAoB,CAAA;AAGjC,QAAA,MAAM,cAAc,2IAAoB,CAAA;AAGxC,QAAA,MAAM,mBAAmB,2IAAoB,CAAA;AAG7C,OAAO,EACL,OAAO,EAAE,mBAAmB,EAAE,cAAc,GAC7C,CAAA"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { Meta } from '@storybook/react-vite';
|
|
2
|
-
import { CopyLinkStack } from './CopyLinkStack.tsx';
|
|
3
|
-
declare const _default: Meta<typeof CopyLinkStack>;
|
|
4
|
-
export default _default;
|
|
5
|
-
declare const Default: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("./CopyLinkStack.tsx").CopyLinkStackProps>;
|
|
6
|
-
declare const WithShareUrl: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("./CopyLinkStack.tsx").CopyLinkStackProps>;
|
|
7
|
-
declare const WithXnsName: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("./CopyLinkStack.tsx").CopyLinkStackProps>;
|
|
8
|
-
declare const WithNoAddToXnsName: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("./CopyLinkStack.tsx").CopyLinkStackProps>;
|
|
9
|
-
declare const WithXnsNameShortened: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("./CopyLinkStack.tsx").CopyLinkStackProps>;
|
|
10
|
-
declare const WithXnsNameInSubdomain: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("./CopyLinkStack.tsx").CopyLinkStackProps>;
|
|
11
|
-
declare const WithXnsNameCustomColors: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("./CopyLinkStack.tsx").CopyLinkStackProps>;
|
|
12
|
-
declare const WithError: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("./CopyLinkStack.tsx").CopyLinkStackProps>;
|
|
13
|
-
declare const WithUploadPayloads: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("./CopyLinkStack.tsx").CopyLinkStackProps>;
|
|
14
|
-
export { Default, WithError, WithNoAddToXnsName, WithShareUrl, WithUploadPayloads, WithXnsName, WithXnsNameCustomColors, WithXnsNameInSubdomain, WithXnsNameShortened, };
|
|
15
|
-
//# sourceMappingURL=CopyLinkStack.stories.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CopyLinkStack.stories.d.ts","sourceRoot":"","sources":["../../../src/out/CopyLinkStack.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAW,MAAM,uBAAuB,CAAA;AAG1D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;wBAEW,IAAI,CAAC,OAAO,aAAa,CAAC;AAAxF,wBAAwF;AAMxF,QAAA,MAAM,OAAO,+IAAoB,CAAA;AAGjC,QAAA,MAAM,YAAY,+IAAoB,CAAA;AAGtC,QAAA,MAAM,WAAW,+IAAoB,CAAA;AAKrC,QAAA,MAAM,kBAAkB,+IAAoB,CAAA;AAK5C,QAAA,MAAM,oBAAoB,+IAAoB,CAAA;AAK9C,QAAA,MAAM,sBAAsB,+IAAoB,CAAA;AAKhD,QAAA,MAAM,uBAAuB,+IAAoB,CAAA;AAKjD,QAAA,MAAM,SAAS,+IAAoB,CAAA;AAKnC,QAAA,MAAM,kBAAkB,+IAAoB,CAAA;AAe5C,OAAO,EACL,OAAO,EAAE,SAAS,EAClB,kBAAkB,EAClB,YAAY,EAAE,kBAAkB,EAChC,WAAW,EAAE,uBAAuB,EACpC,sBAAsB,EAAE,oBAAoB,GAC7C,CAAA"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { Meta } from '@storybook/react-vite';
|
|
2
|
-
import { CopyLinkTextField } from './CopyLinkTextField.tsx';
|
|
3
|
-
declare const _default: Meta<typeof CopyLinkTextField>;
|
|
4
|
-
export default _default;
|
|
5
|
-
declare const Default: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("./CopyLinkTextField.tsx").CopyLinkTextFieldProps>;
|
|
6
|
-
declare const WithShareUrl: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("./CopyLinkTextField.tsx").CopyLinkTextFieldProps>;
|
|
7
|
-
export { Default, WithShareUrl };
|
|
8
|
-
//# sourceMappingURL=CopyLinkTextField.stories.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CopyLinkTextField.stories.d.ts","sourceRoot":"","sources":["../../../src/out/CopyLinkTextField.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAW,MAAM,uBAAuB,CAAA;AAG1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;wBAEO,IAAI,CAAC,OAAO,iBAAiB,CAAC;AAAhG,wBAAgG;AAMhG,QAAA,MAAM,OAAO,uJAAoB,CAAA;AAGjC,QAAA,MAAM,YAAY,uJAAoB,CAAA;AAGtC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,CAAA"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { Meta } from '@storybook/react-vite';
|
|
2
|
-
import { ShareOutDialog } from './Dialog.tsx';
|
|
3
|
-
declare const _default: Meta<typeof ShareOutDialog>;
|
|
4
|
-
export default _default;
|
|
5
|
-
declare const Default: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("./Dialog.tsx").ShareOutDialogProps>;
|
|
6
|
-
declare const WithContent: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("./Dialog.tsx").ShareOutDialogProps>;
|
|
7
|
-
export { Default, WithContent };
|
|
8
|
-
//# sourceMappingURL=Dialog.stories.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.stories.d.ts","sourceRoot":"","sources":["../../../src/out/Dialog.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAW,MAAM,uBAAuB,CAAA;AAK1D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;wBAMU,IAAI,CAAC,OAAO,cAAc,CAAC;AAAlF,wBAAkF;AA4DlF,QAAA,MAAM,OAAO,yIAAoB,CAAA;AAEjC,QAAA,MAAM,WAAW,yIAA+B,CAAA;AAGhD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAA"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { Meta } from '@storybook/react-vite';
|
|
2
|
-
import { GenerateShareLinkButton } from './GenerateShareLinkButton.tsx';
|
|
3
|
-
declare const _default: Meta<typeof GenerateShareLinkButton>;
|
|
4
|
-
export default _default;
|
|
5
|
-
declare const Default: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("./GenerateShareLinkButton.tsx").GenerateShareLinkButtonProps>;
|
|
6
|
-
declare const WithLoading: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("./GenerateShareLinkButton.tsx").GenerateShareLinkButtonProps>;
|
|
7
|
-
export { Default, WithLoading };
|
|
8
|
-
//# sourceMappingURL=GenerateShareLinkButton.stories.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GenerateShareLinkButton.stories.d.ts","sourceRoot":"","sources":["../../../src/out/GenerateShareLinkButton.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAW,MAAM,uBAAuB,CAAA;AAG1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAA;wBAEC,IAAI,CAAC,OAAO,uBAAuB,CAAC;AAA5G,wBAA4G;AAM5G,QAAA,MAAM,OAAO,mKAAoB,CAAA;AAGjC,QAAA,MAAM,WAAW,mKAAoB,CAAA;AAGrC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAA"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { Meta } from '@storybook/react-vite';
|
|
2
|
-
import { SocialButtonsFlexbox } from './SocialButtonsFlexbox.tsx';
|
|
3
|
-
declare const _default: Meta<typeof SocialButtonsFlexbox>;
|
|
4
|
-
export default _default;
|
|
5
|
-
declare const Default: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("./SocialButtonsFlexbox.tsx").SocialButtonsFlexboxProps>;
|
|
6
|
-
declare const WithShareUrl: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("./SocialButtonsFlexbox.tsx").SocialButtonsFlexboxProps>;
|
|
7
|
-
declare const WithUploadPayloads: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("./SocialButtonsFlexbox.tsx").SocialButtonsFlexboxProps>;
|
|
8
|
-
declare const WithUploadPayloadsError: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("./SocialButtonsFlexbox.tsx").SocialButtonsFlexboxProps>;
|
|
9
|
-
export { Default, WithShareUrl, WithUploadPayloads, WithUploadPayloadsError, };
|
|
10
|
-
//# sourceMappingURL=SocialButtonsFlexbox.stories.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SocialButtonsFlexbox.stories.d.ts","sourceRoot":"","sources":["../../../src/out/SocialButtonsFlexbox.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAW,MAAM,uBAAuB,CAAA;AAG1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;wBAEI,IAAI,CAAC,OAAO,oBAAoB,CAAC;AAAtG,wBAAsG;AAMtG,QAAA,MAAM,OAAO,6JAAoB,CAAA;AAGjC,QAAA,MAAM,YAAY,6JAAoB,CAAA;AAGtC,QAAA,MAAM,kBAAkB,6JAAoB,CAAA;AAW5C,QAAA,MAAM,uBAAuB,6JAAoB,CAAA;AAUjD,OAAO,EACL,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,uBAAuB,GACnE,CAAA"}
|