@chayns-components/core 5.0.0-beta.823 → 5.0.0-beta.824

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.
@@ -18,7 +18,8 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
18
18
  const SharingBar = ({
19
19
  label,
20
20
  link,
21
- popupAlignment
21
+ popupAlignment,
22
+ container
22
23
  }) => {
23
24
  const contextMenuRef = (0, _react.useRef)(null);
24
25
  const handleImageDownload = () => {
@@ -109,7 +110,8 @@ const SharingBar = ({
109
110
  })), /*#__PURE__*/_react.default.createElement(_ContextMenu.default, {
110
111
  items: contextMenuItems,
111
112
  ref: contextMenuRef,
112
- alignment: popupAlignment
113
+ alignment: popupAlignment,
114
+ container: container
113
115
  }, null), /*#__PURE__*/_react.default.createElement(_SharingBar.StyledSharingBarText, null, label));
114
116
  };
115
117
  SharingBar.displayName = 'SharingBar';
@@ -1 +1 @@
1
- {"version":3,"file":"SharingBar.js","names":["_chaynsApi","require","_react","_interopRequireWildcard","_sharingBar","_environment","_sharingBar2","_ContextMenu","_interopRequireDefault","_Icon","_SharingBar","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","SharingBar","label","link","popupAlignment","contextMenuRef","useRef","handleImageDownload","shareWithUrl","SHAREPROVIDER","url","replace","encodeURIComponent","getSite","color","handleShare","key","_contextMenuRef$curre","current","hide","isTouch","getIsTouch","trim","shareWithApp","copyToClipboard","contextMenuItems","icons","onClick","text","handleSharingBarClick","_contextMenuRef$curre2","show","createElement","StyledSharingBar","onTouchStart","StyledSharingBarIconWrapper","items","ref","alignment","StyledSharingBarText","displayName","_default","exports"],"sources":["../../../../src/components/sharing-bar/SharingBar.tsx"],"sourcesContent":["import { getSite } from 'chayns-api';\nimport React, { FC, useRef } from 'react';\nimport { SHAREPROVIDER } from '../../constants/sharingBar';\nimport type { ContextMenuAlignment } from '../../types/contextMenu';\nimport { getIsTouch } from '../../utils/environment';\nimport { copyToClipboard, shareWithApp, shareWithUrl } from '../../utils/sharingBar';\nimport ContextMenu from '../context-menu/ContextMenu';\nimport Icon from '../icon/Icon';\nimport {\n StyledSharingBar,\n StyledSharingBarIconWrapper,\n StyledSharingBarText,\n} from './SharingBar.styles';\n\nexport type SharingBarProps = {\n /**\n * The label that should be displayed.\n */\n label: string;\n /**\n * The link that should be shared.\n */\n link: string;\n /**\n * The alignment of the sharing options.\n */\n popupAlignment: ContextMenuAlignment;\n};\n\nconst SharingBar: FC<SharingBarProps> = ({ label, link, popupAlignment }) => {\n const contextMenuRef = useRef<{ hide: VoidFunction; show: VoidFunction }>(null);\n\n const handleImageDownload = () => {\n shareWithUrl(\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n SHAREPROVIDER[5].url\n .replace('{url}', encodeURIComponent(link))\n .replace('{linkText}', 'Teilen')\n .replace('{color}', getSite().color.replace('#', '')),\n );\n };\n\n const handleShare = (key: string) => {\n contextMenuRef.current?.hide();\n\n const isTouch = getIsTouch();\n\n switch (key) {\n case 'whatsapp':\n shareWithUrl(\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n SHAREPROVIDER[0].url.replace('{url}', encodeURIComponent(`${link}`.trim())),\n );\n break;\n case 'facebook':\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n shareWithUrl(SHAREPROVIDER[3].url.replace('{url}', encodeURIComponent(link)));\n break;\n case 'twitter':\n shareWithUrl(\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n SHAREPROVIDER[4].url\n .replace('{url}', encodeURIComponent(link))\n .replace('{linkText}', ''),\n );\n break;\n case 'mail':\n if (isTouch) {\n shareWithApp(`${link}`.trim());\n } else {\n shareWithUrl(\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n SHAREPROVIDER[2].url.replace('{url}', encodeURIComponent(`${link}`.trim())),\n );\n }\n break;\n case 'copy':\n copyToClipboard(link);\n break;\n default:\n break;\n }\n };\n\n const contextMenuItems = [\n {\n icons: ['fa fa-copy'],\n key: 'copy',\n onClick: () => handleShare('copy'),\n text: 'Zwischenablage',\n },\n {\n icons: ['fa-solid fa-brands fa-whatsapp'],\n key: 'whatsapp',\n onClick: () => handleShare('whatsapp'),\n text: 'Whatsapp',\n },\n {\n icons: ['fa-solid fa-brands fa-facebook-f'],\n key: 'facebook',\n onClick: () => handleShare('facebook'),\n text: 'Facebook',\n },\n {\n icons: ['fa-solid fa-brands fa-x-twitter'],\n key: 'twitter',\n onClick: () => handleShare('twitter'),\n text: 'X',\n },\n {\n icons: ['fa fa-envelope'],\n key: 'mail',\n onClick: () => handleShare('mail'),\n text: 'Mail',\n },\n {\n icons: ['fa fa-qrcode'],\n key: 'callingCode',\n onClick: handleImageDownload,\n text: 'Calling Code herunterladen',\n },\n ];\n\n const handleSharingBarClick = () => {\n contextMenuRef.current?.show();\n };\n\n return (\n <StyledSharingBar onClick={handleSharingBarClick} onTouchStart={handleSharingBarClick}>\n <StyledSharingBarIconWrapper>\n <Icon icons={['fa-solid fa-share-nodes']} />\n </StyledSharingBarIconWrapper>\n <ContextMenu items={contextMenuItems} ref={contextMenuRef} alignment={popupAlignment}>\n {null}\n </ContextMenu>\n <StyledSharingBarText>{label}</StyledSharingBarText>\n </StyledSharingBar>\n );\n};\n\nSharingBar.displayName = 'SharingBar';\n\nexport default SharingBar;\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,uBAAA,CAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAEA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AACA,IAAAM,YAAA,GAAAC,sBAAA,CAAAP,OAAA;AACA,IAAAQ,KAAA,GAAAD,sBAAA,CAAAP,OAAA;AACA,IAAAS,WAAA,GAAAT,OAAA;AAI6B,SAAAO,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,yBAAAH,CAAA,6BAAAI,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAD,wBAAA,YAAAA,CAAAH,CAAA,WAAAA,CAAA,GAAAM,CAAA,GAAAD,CAAA,KAAAL,CAAA;AAAA,SAAAR,wBAAAQ,CAAA,EAAAK,CAAA,SAAAA,CAAA,IAAAL,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAE,OAAA,EAAAF,CAAA,QAAAM,CAAA,GAAAH,wBAAA,CAAAE,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAP,CAAA,UAAAM,CAAA,CAAAE,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAf,CAAA,oBAAAe,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAe,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAf,CAAA,CAAAe,CAAA,YAAAN,CAAA,CAAAP,OAAA,GAAAF,CAAA,EAAAM,CAAA,IAAAA,CAAA,CAAAa,GAAA,CAAAnB,CAAA,EAAAS,CAAA,GAAAA,CAAA;AAiB7B,MAAMW,UAA+B,GAAGA,CAAC;EAAEC,KAAK;EAAEC,IAAI;EAAEC;AAAe,CAAC,KAAK;EACzE,MAAMC,cAAc,GAAG,IAAAC,aAAM,EAA6C,IAAI,CAAC;EAE/E,MAAMC,mBAAmB,GAAGA,CAAA,KAAM;IAC9B,IAAAC,yBAAY;IACR;IACA;IACAC,yBAAa,CAAC,CAAC,CAAC,CAACC,GAAG,CACfC,OAAO,CAAC,OAAO,EAAEC,kBAAkB,CAACT,IAAI,CAAC,CAAC,CAC1CQ,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAC/BA,OAAO,CAAC,SAAS,EAAE,IAAAE,kBAAO,EAAC,CAAC,CAACC,KAAK,CAACH,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAC5D,CAAC;EACL,CAAC;EAED,MAAMI,WAAW,GAAIC,GAAW,IAAK;IAAA,IAAAC,qBAAA;IACjC,CAAAA,qBAAA,GAAAZ,cAAc,CAACa,OAAO,cAAAD,qBAAA,eAAtBA,qBAAA,CAAwBE,IAAI,CAAC,CAAC;IAE9B,MAAMC,OAAO,GAAG,IAAAC,uBAAU,EAAC,CAAC;IAE5B,QAAQL,GAAG;MACP,KAAK,UAAU;QACX,IAAAR,yBAAY;QACR;QACA;QACAC,yBAAa,CAAC,CAAC,CAAC,CAACC,GAAG,CAACC,OAAO,CAAC,OAAO,EAAEC,kBAAkB,CAAC,GAAGT,IAAI,EAAE,CAACmB,IAAI,CAAC,CAAC,CAAC,CAC9E,CAAC;QACD;MACJ,KAAK,UAAU;QACX;QACA;QACA,IAAAd,yBAAY,EAACC,yBAAa,CAAC,CAAC,CAAC,CAACC,GAAG,CAACC,OAAO,CAAC,OAAO,EAAEC,kBAAkB,CAACT,IAAI,CAAC,CAAC,CAAC;QAC7E;MACJ,KAAK,SAAS;QACV,IAAAK,yBAAY;QACR;QACA;QACAC,yBAAa,CAAC,CAAC,CAAC,CAACC,GAAG,CACfC,OAAO,CAAC,OAAO,EAAEC,kBAAkB,CAACT,IAAI,CAAC,CAAC,CAC1CQ,OAAO,CAAC,YAAY,EAAE,EAAE,CACjC,CAAC;QACD;MACJ,KAAK,MAAM;QACP,IAAIS,OAAO,EAAE;UACT,IAAAG,yBAAY,EAAC,GAAGpB,IAAI,EAAE,CAACmB,IAAI,CAAC,CAAC,CAAC;QAClC,CAAC,MAAM;UACH,IAAAd,yBAAY;UACR;UACA;UACAC,yBAAa,CAAC,CAAC,CAAC,CAACC,GAAG,CAACC,OAAO,CAAC,OAAO,EAAEC,kBAAkB,CAAC,GAAGT,IAAI,EAAE,CAACmB,IAAI,CAAC,CAAC,CAAC,CAC9E,CAAC;QACL;QACA;MACJ,KAAK,MAAM;QACP,IAAAE,4BAAe,EAACrB,IAAI,CAAC;QACrB;MACJ;QACI;IACR;EACJ,CAAC;EAED,MAAMsB,gBAAgB,GAAG,CACrB;IACIC,KAAK,EAAE,CAAC,YAAY,CAAC;IACrBV,GAAG,EAAE,MAAM;IACXW,OAAO,EAAEA,CAAA,KAAMZ,WAAW,CAAC,MAAM,CAAC;IAClCa,IAAI,EAAE;EACV,CAAC,EACD;IACIF,KAAK,EAAE,CAAC,gCAAgC,CAAC;IACzCV,GAAG,EAAE,UAAU;IACfW,OAAO,EAAEA,CAAA,KAAMZ,WAAW,CAAC,UAAU,CAAC;IACtCa,IAAI,EAAE;EACV,CAAC,EACD;IACIF,KAAK,EAAE,CAAC,kCAAkC,CAAC;IAC3CV,GAAG,EAAE,UAAU;IACfW,OAAO,EAAEA,CAAA,KAAMZ,WAAW,CAAC,UAAU,CAAC;IACtCa,IAAI,EAAE;EACV,CAAC,EACD;IACIF,KAAK,EAAE,CAAC,iCAAiC,CAAC;IAC1CV,GAAG,EAAE,SAAS;IACdW,OAAO,EAAEA,CAAA,KAAMZ,WAAW,CAAC,SAAS,CAAC;IACrCa,IAAI,EAAE;EACV,CAAC,EACD;IACIF,KAAK,EAAE,CAAC,gBAAgB,CAAC;IACzBV,GAAG,EAAE,MAAM;IACXW,OAAO,EAAEA,CAAA,KAAMZ,WAAW,CAAC,MAAM,CAAC;IAClCa,IAAI,EAAE;EACV,CAAC,EACD;IACIF,KAAK,EAAE,CAAC,cAAc,CAAC;IACvBV,GAAG,EAAE,aAAa;IAClBW,OAAO,EAAEpB,mBAAmB;IAC5BqB,IAAI,EAAE;EACV,CAAC,CACJ;EAED,MAAMC,qBAAqB,GAAGA,CAAA,KAAM;IAAA,IAAAC,sBAAA;IAChC,CAAAA,sBAAA,GAAAzB,cAAc,CAACa,OAAO,cAAAY,sBAAA,eAAtBA,sBAAA,CAAwBC,IAAI,CAAC,CAAC;EAClC,CAAC;EAED,oBACI3D,MAAA,CAAAW,OAAA,CAAAiD,aAAA,CAACpD,WAAA,CAAAqD,gBAAgB;IAACN,OAAO,EAAEE,qBAAsB;IAACK,YAAY,EAAEL;EAAsB,gBAClFzD,MAAA,CAAAW,OAAA,CAAAiD,aAAA,CAACpD,WAAA,CAAAuD,2BAA2B,qBACxB/D,MAAA,CAAAW,OAAA,CAAAiD,aAAA,CAACrD,KAAA,CAAAI,OAAI;IAAC2C,KAAK,EAAE,CAAC,yBAAyB;EAAE,CAAE,CAClB,CAAC,eAC9BtD,MAAA,CAAAW,OAAA,CAAAiD,aAAA,CAACvD,YAAA,CAAAM,OAAW;IAACqD,KAAK,EAAEX,gBAAiB;IAACY,GAAG,EAAEhC,cAAe;IAACiC,SAAS,EAAElC;EAAe,GAChF,IACQ,CAAC,eACdhC,MAAA,CAAAW,OAAA,CAAAiD,aAAA,CAACpD,WAAA,CAAA2D,oBAAoB,QAAErC,KAA4B,CACrC,CAAC;AAE3B,CAAC;AAEDD,UAAU,CAACuC,WAAW,GAAG,YAAY;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAA3D,OAAA,GAEvBkB,UAAU","ignoreList":[]}
1
+ {"version":3,"file":"SharingBar.js","names":["_chaynsApi","require","_react","_interopRequireWildcard","_sharingBar","_environment","_sharingBar2","_ContextMenu","_interopRequireDefault","_Icon","_SharingBar","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","SharingBar","label","link","popupAlignment","container","contextMenuRef","useRef","handleImageDownload","shareWithUrl","SHAREPROVIDER","url","replace","encodeURIComponent","getSite","color","handleShare","key","_contextMenuRef$curre","current","hide","isTouch","getIsTouch","trim","shareWithApp","copyToClipboard","contextMenuItems","icons","onClick","text","handleSharingBarClick","_contextMenuRef$curre2","show","createElement","StyledSharingBar","onTouchStart","StyledSharingBarIconWrapper","items","ref","alignment","StyledSharingBarText","displayName","_default","exports"],"sources":["../../../../src/components/sharing-bar/SharingBar.tsx"],"sourcesContent":["import { getSite } from 'chayns-api';\nimport React, { FC, useRef } from 'react';\nimport { SHAREPROVIDER } from '../../constants/sharingBar';\nimport type { ContextMenuAlignment } from '../../types/contextMenu';\nimport { getIsTouch } from '../../utils/environment';\nimport { copyToClipboard, shareWithApp, shareWithUrl } from '../../utils/sharingBar';\nimport ContextMenu from '../context-menu/ContextMenu';\nimport Icon from '../icon/Icon';\nimport {\n StyledSharingBar,\n StyledSharingBarIconWrapper,\n StyledSharingBarText,\n} from './SharingBar.styles';\n\nexport type SharingBarProps = {\n /**\n * The element where the content of the `SharingBar` should be rendered via React Portal.\n */\n container?: Element;\n /**\n * The label that should be displayed.\n */\n label: string;\n /**\n * The link that should be shared.\n */\n link: string;\n /**\n * The alignment of the sharing options.\n */\n popupAlignment: ContextMenuAlignment;\n};\n\nconst SharingBar: FC<SharingBarProps> = ({ label, link, popupAlignment, container }) => {\n const contextMenuRef = useRef<{ hide: VoidFunction; show: VoidFunction }>(null);\n\n const handleImageDownload = () => {\n shareWithUrl(\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n SHAREPROVIDER[5].url\n .replace('{url}', encodeURIComponent(link))\n .replace('{linkText}', 'Teilen')\n .replace('{color}', getSite().color.replace('#', '')),\n );\n };\n\n const handleShare = (key: string) => {\n contextMenuRef.current?.hide();\n\n const isTouch = getIsTouch();\n\n switch (key) {\n case 'whatsapp':\n shareWithUrl(\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n SHAREPROVIDER[0].url.replace('{url}', encodeURIComponent(`${link}`.trim())),\n );\n break;\n case 'facebook':\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n shareWithUrl(SHAREPROVIDER[3].url.replace('{url}', encodeURIComponent(link)));\n break;\n case 'twitter':\n shareWithUrl(\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n SHAREPROVIDER[4].url\n .replace('{url}', encodeURIComponent(link))\n .replace('{linkText}', ''),\n );\n break;\n case 'mail':\n if (isTouch) {\n shareWithApp(`${link}`.trim());\n } else {\n shareWithUrl(\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n SHAREPROVIDER[2].url.replace('{url}', encodeURIComponent(`${link}`.trim())),\n );\n }\n break;\n case 'copy':\n copyToClipboard(link);\n break;\n default:\n break;\n }\n };\n\n const contextMenuItems = [\n {\n icons: ['fa fa-copy'],\n key: 'copy',\n onClick: () => handleShare('copy'),\n text: 'Zwischenablage',\n },\n {\n icons: ['fa-solid fa-brands fa-whatsapp'],\n key: 'whatsapp',\n onClick: () => handleShare('whatsapp'),\n text: 'Whatsapp',\n },\n {\n icons: ['fa-solid fa-brands fa-facebook-f'],\n key: 'facebook',\n onClick: () => handleShare('facebook'),\n text: 'Facebook',\n },\n {\n icons: ['fa-solid fa-brands fa-x-twitter'],\n key: 'twitter',\n onClick: () => handleShare('twitter'),\n text: 'X',\n },\n {\n icons: ['fa fa-envelope'],\n key: 'mail',\n onClick: () => handleShare('mail'),\n text: 'Mail',\n },\n {\n icons: ['fa fa-qrcode'],\n key: 'callingCode',\n onClick: handleImageDownload,\n text: 'Calling Code herunterladen',\n },\n ];\n\n const handleSharingBarClick = () => {\n contextMenuRef.current?.show();\n };\n\n return (\n <StyledSharingBar onClick={handleSharingBarClick} onTouchStart={handleSharingBarClick}>\n <StyledSharingBarIconWrapper>\n <Icon icons={['fa-solid fa-share-nodes']} />\n </StyledSharingBarIconWrapper>\n <ContextMenu\n items={contextMenuItems}\n ref={contextMenuRef}\n alignment={popupAlignment}\n container={container}\n >\n {null}\n </ContextMenu>\n <StyledSharingBarText>{label}</StyledSharingBarText>\n </StyledSharingBar>\n );\n};\n\nSharingBar.displayName = 'SharingBar';\n\nexport default SharingBar;\n"],"mappings":"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","ignoreList":[]}
@@ -10,7 +10,8 @@ const SharingBar = _ref => {
10
10
  let {
11
11
  label,
12
12
  link,
13
- popupAlignment
13
+ popupAlignment,
14
+ container
14
15
  } = _ref;
15
16
  const contextMenuRef = useRef(null);
16
17
  const handleImageDownload = () => {
@@ -99,7 +100,8 @@ const SharingBar = _ref => {
99
100
  })), /*#__PURE__*/React.createElement(ContextMenu, {
100
101
  items: contextMenuItems,
101
102
  ref: contextMenuRef,
102
- alignment: popupAlignment
103
+ alignment: popupAlignment,
104
+ container: container
103
105
  }, null), /*#__PURE__*/React.createElement(StyledSharingBarText, null, label));
104
106
  };
105
107
  SharingBar.displayName = 'SharingBar';
@@ -1 +1 @@
1
- {"version":3,"file":"SharingBar.js","names":["getSite","React","useRef","SHAREPROVIDER","getIsTouch","copyToClipboard","shareWithApp","shareWithUrl","ContextMenu","Icon","StyledSharingBar","StyledSharingBarIconWrapper","StyledSharingBarText","SharingBar","_ref","label","link","popupAlignment","contextMenuRef","handleImageDownload","url","replace","encodeURIComponent","color","handleShare","key","current","hide","isTouch","trim","contextMenuItems","icons","onClick","text","handleSharingBarClick","show","createElement","onTouchStart","items","ref","alignment","displayName"],"sources":["../../../../src/components/sharing-bar/SharingBar.tsx"],"sourcesContent":["import { getSite } from 'chayns-api';\nimport React, { FC, useRef } from 'react';\nimport { SHAREPROVIDER } from '../../constants/sharingBar';\nimport type { ContextMenuAlignment } from '../../types/contextMenu';\nimport { getIsTouch } from '../../utils/environment';\nimport { copyToClipboard, shareWithApp, shareWithUrl } from '../../utils/sharingBar';\nimport ContextMenu from '../context-menu/ContextMenu';\nimport Icon from '../icon/Icon';\nimport {\n StyledSharingBar,\n StyledSharingBarIconWrapper,\n StyledSharingBarText,\n} from './SharingBar.styles';\n\nexport type SharingBarProps = {\n /**\n * The label that should be displayed.\n */\n label: string;\n /**\n * The link that should be shared.\n */\n link: string;\n /**\n * The alignment of the sharing options.\n */\n popupAlignment: ContextMenuAlignment;\n};\n\nconst SharingBar: FC<SharingBarProps> = ({ label, link, popupAlignment }) => {\n const contextMenuRef = useRef<{ hide: VoidFunction; show: VoidFunction }>(null);\n\n const handleImageDownload = () => {\n shareWithUrl(\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n SHAREPROVIDER[5].url\n .replace('{url}', encodeURIComponent(link))\n .replace('{linkText}', 'Teilen')\n .replace('{color}', getSite().color.replace('#', '')),\n );\n };\n\n const handleShare = (key: string) => {\n contextMenuRef.current?.hide();\n\n const isTouch = getIsTouch();\n\n switch (key) {\n case 'whatsapp':\n shareWithUrl(\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n SHAREPROVIDER[0].url.replace('{url}', encodeURIComponent(`${link}`.trim())),\n );\n break;\n case 'facebook':\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n shareWithUrl(SHAREPROVIDER[3].url.replace('{url}', encodeURIComponent(link)));\n break;\n case 'twitter':\n shareWithUrl(\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n SHAREPROVIDER[4].url\n .replace('{url}', encodeURIComponent(link))\n .replace('{linkText}', ''),\n );\n break;\n case 'mail':\n if (isTouch) {\n shareWithApp(`${link}`.trim());\n } else {\n shareWithUrl(\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n SHAREPROVIDER[2].url.replace('{url}', encodeURIComponent(`${link}`.trim())),\n );\n }\n break;\n case 'copy':\n copyToClipboard(link);\n break;\n default:\n break;\n }\n };\n\n const contextMenuItems = [\n {\n icons: ['fa fa-copy'],\n key: 'copy',\n onClick: () => handleShare('copy'),\n text: 'Zwischenablage',\n },\n {\n icons: ['fa-solid fa-brands fa-whatsapp'],\n key: 'whatsapp',\n onClick: () => handleShare('whatsapp'),\n text: 'Whatsapp',\n },\n {\n icons: ['fa-solid fa-brands fa-facebook-f'],\n key: 'facebook',\n onClick: () => handleShare('facebook'),\n text: 'Facebook',\n },\n {\n icons: ['fa-solid fa-brands fa-x-twitter'],\n key: 'twitter',\n onClick: () => handleShare('twitter'),\n text: 'X',\n },\n {\n icons: ['fa fa-envelope'],\n key: 'mail',\n onClick: () => handleShare('mail'),\n text: 'Mail',\n },\n {\n icons: ['fa fa-qrcode'],\n key: 'callingCode',\n onClick: handleImageDownload,\n text: 'Calling Code herunterladen',\n },\n ];\n\n const handleSharingBarClick = () => {\n contextMenuRef.current?.show();\n };\n\n return (\n <StyledSharingBar onClick={handleSharingBarClick} onTouchStart={handleSharingBarClick}>\n <StyledSharingBarIconWrapper>\n <Icon icons={['fa-solid fa-share-nodes']} />\n </StyledSharingBarIconWrapper>\n <ContextMenu items={contextMenuItems} ref={contextMenuRef} alignment={popupAlignment}>\n {null}\n </ContextMenu>\n <StyledSharingBarText>{label}</StyledSharingBarText>\n </StyledSharingBar>\n );\n};\n\nSharingBar.displayName = 'SharingBar';\n\nexport default SharingBar;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SharingBar.js","names":["getSite","React","useRef","SHAREPROVIDER","getIsTouch","copyToClipboard","shareWithApp","shareWithUrl","ContextMenu","Icon","StyledSharingBar","StyledSharingBarIconWrapper","StyledSharingBarText","SharingBar","_ref","label","link","popupAlignment","container","contextMenuRef","handleImageDownload","url","replace","encodeURIComponent","color","handleShare","key","current","hide","isTouch","trim","contextMenuItems","icons","onClick","text","handleSharingBarClick","show","createElement","onTouchStart","items","ref","alignment","displayName"],"sources":["../../../../src/components/sharing-bar/SharingBar.tsx"],"sourcesContent":["import { getSite } from 'chayns-api';\nimport React, { FC, useRef } from 'react';\nimport { SHAREPROVIDER } from '../../constants/sharingBar';\nimport type { ContextMenuAlignment } from '../../types/contextMenu';\nimport { getIsTouch } from '../../utils/environment';\nimport { copyToClipboard, shareWithApp, shareWithUrl } from '../../utils/sharingBar';\nimport ContextMenu from '../context-menu/ContextMenu';\nimport Icon from '../icon/Icon';\nimport {\n StyledSharingBar,\n StyledSharingBarIconWrapper,\n StyledSharingBarText,\n} from './SharingBar.styles';\n\nexport type SharingBarProps = {\n /**\n * The element where the content of the `SharingBar` should be rendered via React Portal.\n */\n container?: Element;\n /**\n * The label that should be displayed.\n */\n label: string;\n /**\n * The link that should be shared.\n */\n link: string;\n /**\n * The alignment of the sharing options.\n */\n popupAlignment: ContextMenuAlignment;\n};\n\nconst SharingBar: FC<SharingBarProps> = ({ label, link, popupAlignment, container }) => {\n const contextMenuRef = useRef<{ hide: VoidFunction; show: VoidFunction }>(null);\n\n const handleImageDownload = () => {\n shareWithUrl(\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n SHAREPROVIDER[5].url\n .replace('{url}', encodeURIComponent(link))\n .replace('{linkText}', 'Teilen')\n .replace('{color}', getSite().color.replace('#', '')),\n );\n };\n\n const handleShare = (key: string) => {\n contextMenuRef.current?.hide();\n\n const isTouch = getIsTouch();\n\n switch (key) {\n case 'whatsapp':\n shareWithUrl(\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n SHAREPROVIDER[0].url.replace('{url}', encodeURIComponent(`${link}`.trim())),\n );\n break;\n case 'facebook':\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n shareWithUrl(SHAREPROVIDER[3].url.replace('{url}', encodeURIComponent(link)));\n break;\n case 'twitter':\n shareWithUrl(\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n SHAREPROVIDER[4].url\n .replace('{url}', encodeURIComponent(link))\n .replace('{linkText}', ''),\n );\n break;\n case 'mail':\n if (isTouch) {\n shareWithApp(`${link}`.trim());\n } else {\n shareWithUrl(\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n SHAREPROVIDER[2].url.replace('{url}', encodeURIComponent(`${link}`.trim())),\n );\n }\n break;\n case 'copy':\n copyToClipboard(link);\n break;\n default:\n break;\n }\n };\n\n const contextMenuItems = [\n {\n icons: ['fa fa-copy'],\n key: 'copy',\n onClick: () => handleShare('copy'),\n text: 'Zwischenablage',\n },\n {\n icons: ['fa-solid fa-brands fa-whatsapp'],\n key: 'whatsapp',\n onClick: () => handleShare('whatsapp'),\n text: 'Whatsapp',\n },\n {\n icons: ['fa-solid fa-brands fa-facebook-f'],\n key: 'facebook',\n onClick: () => handleShare('facebook'),\n text: 'Facebook',\n },\n {\n icons: ['fa-solid fa-brands fa-x-twitter'],\n key: 'twitter',\n onClick: () => handleShare('twitter'),\n text: 'X',\n },\n {\n icons: ['fa fa-envelope'],\n key: 'mail',\n onClick: () => handleShare('mail'),\n text: 'Mail',\n },\n {\n icons: ['fa fa-qrcode'],\n key: 'callingCode',\n onClick: handleImageDownload,\n text: 'Calling Code herunterladen',\n },\n ];\n\n const handleSharingBarClick = () => {\n contextMenuRef.current?.show();\n };\n\n return (\n <StyledSharingBar onClick={handleSharingBarClick} onTouchStart={handleSharingBarClick}>\n <StyledSharingBarIconWrapper>\n <Icon icons={['fa-solid fa-share-nodes']} />\n </StyledSharingBarIconWrapper>\n <ContextMenu\n items={contextMenuItems}\n ref={contextMenuRef}\n alignment={popupAlignment}\n container={container}\n >\n {null}\n </ContextMenu>\n <StyledSharingBarText>{label}</StyledSharingBarText>\n </StyledSharingBar>\n );\n};\n\nSharingBar.displayName = 'SharingBar';\n\nexport default SharingBar;\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,10 @@
1
1
  import { FC } from 'react';
2
2
  import type { ContextMenuAlignment } from '../../types/contextMenu';
3
3
  export type SharingBarProps = {
4
+ /**
5
+ * The element where the content of the `SharingBar` should be rendered via React Portal.
6
+ */
7
+ container?: Element;
4
8
  /**
5
9
  * The label that should be displayed.
6
10
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chayns-components/core",
3
- "version": "5.0.0-beta.823",
3
+ "version": "5.0.0-beta.824",
4
4
  "description": "A set of beautiful React components for developing your own applications with chayns.",
5
5
  "sideEffects": false,
6
6
  "browserslist": [
@@ -85,5 +85,5 @@
85
85
  "publishConfig": {
86
86
  "access": "public"
87
87
  },
88
- "gitHead": "0158e9a398555e8186a99974cd86166d38c1af6b"
88
+ "gitHead": "54d1989a02b288b59895d7ac45fe63e7dc82dada"
89
89
  }