{"version":3,"file":"share-options-BcrTVR2X.js","sources":["../src/lib/click-tracking.js","../src/webcomponents/share-options.js"],"sourcesContent":["/* global gtag */\r\n\r\nexport async function TrackClick(caller) {\r\n TrackClickById(caller.id);\r\n}\r\nexport async function TrackClickById(id) {\r\n if (typeof gtag != \"undefined\") {\r\n gtag('event', 'click', {\r\n 'link_id': id\r\n });\r\n }\r\n}","import { UnshadowedElement, html } from \"../lib/unshadowed.js\";\r\nimport { SocialEmailLink, SocialFacebookLink } from \"../lib/social-links.js\";\r\nimport { TrackClick } from \"../lib/click-tracking.js\";\r\n\r\n/**\r\n * Buttons for share modal\r\n */\r\nexport class ShareOptions extends UnshadowedElement {\r\n static elementName() { return \"share-options\" }\r\n\r\n static properties = {\r\n name: { type: String },\r\n url: { type: String },\r\n hideFlyer: { type: Boolean },\r\n hideInvite: { type: Boolean },\r\n itemType: { type: String },\r\n };\r\n\r\n constructor() {\r\n super();\r\n // Defaults\r\n this.hideFlyer = false;\r\n this.hideInvite = false;\r\n }\r\n\r\n /** Trigger the native share feature, if available */\r\n async ShareNative() {\r\n if (navigator.share) {\r\n try {\r\n await navigator.share({\r\n title: \"Meal Train for \" + this.name,\r\n text: \"Meal Train for \" + this.name + \"\\n\",\r\n url: window.CurrentTrain.Url,\r\n });\r\n } catch (err) {\r\n console.log('Error sharing:', err);\r\n }\r\n } else {\r\n console.log(\"Browser does not support native share\");\r\n }\r\n }\r\n\r\n /** Copy the URL to the clipboard, and show a \"copied\" message */\r\n async CopyToClipboard(e, url) {\r\n await navigator.clipboard.writeText(url);\r\n if (e && e.target) {\r\n if (!e.target.classList.contains(\"copied\")) {\r\n e.target.classList.add(\"copied\");\r\n setTimeout(() => {\r\n e.target.classList.remove(\"copied\");\r\n }, 3000);\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n const fullName = \"Meal Train for \" + this.name;\r\n let flyerLink = null;\r\n let invitationLink = null;\r\n if (!this.hideFlyer) {\r\n flyerLink = html`\r\n { TrackClick(e.currentTarget); }} href=\"${window.CurrentTrain.OpenUrl}/flyer\" target=\"_blank\" class=\"button button-clear button-rectangle\">\r\n \r\n Print Flyer\r\n `;\r\n }\r\n if (!this.hideInvite) {\r\n invitationLink = html`\r\n
Import from past Meal Trains or add emails to the participant list.
\r\n { TrackClick(e.currentTarget); }} href=\"/trains/${window.CurrentTrain.Id}/invite/\" class=\"button button-condensed button-rectangle button-outline\">Add\r\n \r\n