{"version":3,"file":"js/4892-4c6003171fcc16e531f3.chunk.js","mappings":"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","sources":["webpack://agra/./app/javascript/images/icons/ sync ^\\.\\/.*$","webpack://agra/./app/javascript/share/campaign/bluesky-mixin.js","webpack://agra/./app/javascript/share/campaign/click-tracking-mixin.js","webpack://agra/./app/javascript/share/campaign/email-mixin.js","webpack://agra/./app/javascript/share/campaign/facebook-mixin.js","webpack://agra/./app/javascript/share/campaign/messenger-mixin.js","webpack://agra/./app/javascript/share/campaign/buttons/button-base.vue","webpack://agra/./app/javascript/share/campaign/buttons/button-base.vue?1395","webpack://agra/./app/javascript/share/campaign/buttons/bluesky-button.vue","webpack://agra/./app/javascript/share/campaign/buttons/bluesky-button.vue?b0c5","webpack://agra/./app/javascript/share/campaign/buttons/email-button.vue","webpack://agra/./app/javascript/share/campaign/buttons/email-button.vue?ea25","webpack://agra/./app/javascript/share/campaign/buttons/facebook-button.vue","webpack://agra/./app/javascript/share/campaign/buttons/facebook-button.vue?9d8f","webpack://agra/./app/javascript/share/campaign/buttons/messenger-button.vue","webpack://agra/./app/javascript/share/campaign/buttons/messenger-button.vue?7666","webpack://agra/./app/javascript/share/campaign/buttons/twitter-button.vue","webpack://agra/./app/javascript/share/campaign/buttons/twitter-button.vue?fef4","webpack://agra/./app/javascript/share/campaign/buttons/web-share-api-button.vue","webpack://agra/./app/javascript/share/campaign/buttons/web-share-api-button.vue?2b99","webpack://agra/./app/javascript/share/campaign/buttons/whatsapp-button.vue","webpack://agra/./app/javascript/share/campaign/buttons/whatsapp-button.vue?eb30","webpack://agra/./app/javascript/share/campaign/share-mixin.js","webpack://agra/./app/javascript/share/campaign/sharing-options-mixin.js","webpack://agra/./app/javascript/share/campaign/twitter-mixin.js","webpack://agra/./app/javascript/share/campaign/web-share-api-mixin.js","webpack://agra/./app/javascript/share/campaign/whatsapp-mixin.js","webpack://agra/./node_modules/vue-loader/dist/exportHelper.js","webpack://agra/./app/javascript/components/sharing/copy-url.vue","webpack://agra/./app/javascript/components/sharing/copy-url.vue?e1bb","webpack://agra/./node_modules/uuid/dist/esm-browser/native.js","webpack://agra/./node_modules/uuid/dist/esm-browser/rng.js","webpack://agra/./node_modules/uuid/dist/esm-browser/stringify.js","webpack://agra/./node_modules/uuid/dist/esm-browser/v4.js"],"sourcesContent":["var map = {\n\t\"./bluesky.svg\": 42140,\n\t\"./facebook.svg\": 66677,\n\t\"./google-sign-in.svg\": 25558,\n\t\"./mail.svg\": 24836,\n\t\"./messenger-black.svg\": 68476,\n\t\"./messenger.svg\": 6830,\n\t\"./settings.svg\": 25714,\n\t\"./web-share-api.svg\": 29356,\n\t\"./whatsapp.svg\": 50519,\n\t\"./x-twitter.svg\": 29313\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 68593;","import ClickTracking from '@/share/campaign/click-tracking-mixin'\n\nexport default {\n mixins: [ClickTracking],\n\n props: {\n sharingOptions: {\n type: Object,\n required: true\n }\n },\n\n computed: {\n channelNameForAnalytics() {\n return 'Bluesky'\n }\n },\n\n methods: {\n handleClick() {\n const shareClickToken = this.trackEvent()\n const url = this.urlWithShareClickToken(this.sharingOptions.href, shareClickToken)\n this.openShareBox(url)\n },\n\n openShareBox(url) {\n window.open(url, 'sharer', 'toolbar=0,status=0,width=626,height=436')\n },\n\n urlWithShareClickToken(url, shareClickToken) {\n if (shareClickToken !== null) {\n // The original URL ends with a \"text\" parameter that includes some optional text followed by the\n // URL that the person is sharing. We want to edit that internal URL to add the \"share\" parameter to it.\n // The easiest way to do that, since we know it's at the end of the last parameter, is to just\n // stick the URL-encoded \"&share=foo\" on the end of the outer URL. When the \"text\" parameter is decoded,\n // this will result in the inner URL having the \"share\" parameter set.\n // This is kind of janky, but there aren't a lot of better options since the shared URL is within text\n // rather than separated into a parameter of its own.\n return url + encodeURIComponent(`&share=${shareClickToken}`)\n }\n return url\n }\n }\n}\n","import ajax from '@/helpers/ajax'\nimport { trackShareOpen } from '@/analytics/track'\nimport { v4 as uuid } from 'uuid'\n\nexport default {\n methods: {\n trackEvent(shareClickToken) {\n const entityType = this.sharingOptions.entityType\n const entitySlug = this.sharingOptions.entitySlug\n const shareClicksPath = this.sharingOptions.shareClicksPath\n\n // Tell other Javascript on the page\n document.dispatchEvent(new Event('agra:share-button-clicked'))\n\n // Track analytics\n trackShareOpen(this.channelNameForAnalytics, entityType, entitySlug)\n\n // If applicable, return shareClickToken, and create ShareClick asynchronously\n if (shareClicksPath) {\n if (!shareClickToken) {\n shareClickToken = uuid()\n }\n ajax.post({\n url: shareClicksPath,\n data: {\n token: shareClickToken\n }\n })\n return shareClickToken\n }\n return null\n },\n\n urlWithShareClickTokenInInnerUrl(url, shareClickToken, innerUrlParamName) {\n if (shareClickToken === null) {\n return url\n }\n\n const urlObj = new URL(url)\n\n // add the share_click_id param to inner url param\n const searchParams = new URLSearchParams(urlObj.search.slice(1))\n let innerUrl = searchParams.get(innerUrlParamName)\n\n innerUrl += `&share=${shareClickToken}`\n\n urlObj.searchParams.set(innerUrlParamName, innerUrl)\n return urlObj.href\n }\n }\n}\n","import ajax from '@/helpers/ajax'\nimport ClickTracking from './click-tracking-mixin'\n\nexport default {\n mixins: [ClickTracking],\n\n props: {\n sharingOptions: {\n type: Object,\n required: true\n }\n },\n\n computed: {\n channelNameForAnalytics() {\n return 'Email'\n }\n },\n\n methods: {\n handleClick() {\n const shareClickToken = this.trackEvent()\n\n ajax.get({\n url: this.sharingOptions.emailShareDataHref,\n params: {\n share_click_token: shareClickToken\n },\n successHandler: ({ subject, body }) => {\n window.location.assign(`mailto:?subject=${encodeURIComponent(subject)}&body=${encodeURIComponent(body)}`)\n }\n })\n }\n }\n}\n","import ClickTracking from '@/share/campaign/click-tracking-mixin'\n\nexport default {\n mixins: [ClickTracking],\n\n props: {\n sharingOptions: {\n type: Object,\n required: true\n }\n },\n\n computed: {\n channelNameForAnalytics() {\n return 'Facebook'\n }\n },\n\n methods: {\n handleClick() {\n const shareClickToken = this.trackEvent()\n const url = this.urlWithShareClickTokenInInnerUrl(this.sharingOptions.href, shareClickToken, 'u')\n this.openShareBox(url)\n },\n\n openShareBox(url) {\n window.open(url, 'sharer', 'toolbar=0,status=0,width=626,height=436')\n }\n }\n}\n","import ClickTracking from '@/share/campaign/click-tracking-mixin'\n\nexport default {\n mixins: [ClickTracking],\n\n props: {\n sharingOptions: {\n type: Object,\n required: true\n }\n },\n\n computed: {\n channelNameForAnalytics() {\n return 'Messenger'\n }\n },\n\n methods: {\n handleClick() {\n const shareClickToken = this.trackEvent()\n const url = this.urlWithShareClickTokenInInnerUrl(this.sharingOptions.href, shareClickToken, 'link')\n window.open(url)\n }\n }\n}\n","<template>\n <button v-bind=\"$attrs\" type=\"button\" role=\"button\" :title=\"title\"\n class=\"button-base btn share btn-lg d-flex justify-content-start align-items-center\"\n @click=\"$emit('click')\">\n <slot name=\"icon\">\n <img :src=\"iconPath\" class=\"share-icon\" :class=\"`${medium}-icon`\">\n </slot>\n <span>{{ text }}</span>\n </button>\n</template>\n\n<script>\nexport default {\n props: {\n iconFilename: {\n type: String,\n required: false\n },\n\n label: {\n type: String,\n required: false\n },\n\n medium: {\n type: String,\n required: true\n },\n\n title: {\n type: String,\n required: true\n }\n },\n\n emits: ['click'],\n\n computed: {\n iconPath() {\n const filename = this.iconFilename || `${this.medium}.svg`\n return require(`@/images/icons/${filename}`)\n },\n\n text() {\n return this.label || this.i18n.t(`public.social.share_on_${this.medium}`)\n }\n }\n}\n</script>\n\n<style scoped lang=\"scss\">\n @use \"~common_styles/breakpoints\" as breakpoints;\n\n .button-base {\n text-transform: unset;\n }\n\n ::v-deep(.share-icon) {\n width: 22px;\n }\n\n span {\n text-align: left;\n\n @include breakpoints.screen-md-only {\n font-size: 1rem;\n }\n }\n</style>\n","import { render } from \"./button-base.vue?vue&type=template&id=56f8ab8c&scoped=true\"\nimport script from \"./button-base.vue?vue&type=script&lang=js\"\nexport * from \"./button-base.vue?vue&type=script&lang=js\"\n\nimport \"./button-base.vue?vue&type=style&index=0&id=56f8ab8c&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-56f8ab8c\"]])\n\nexport default __exports__","<template>\n <button-base medium=\"bluesky\" :title=\"i18n.t('public.social.share_on_bluesky')\" class=\"bluesky\"\n @click=\"handleClick\" />\n</template>\n\n<script>\nimport ButtonBase from './button-base'\nimport BlueskyMixin from '@/share/campaign/bluesky-mixin'\n\nexport default {\n components: { ButtonBase },\n\n mixins: [BlueskyMixin]\n}\n</script>\n","import { render } from \"./bluesky-button.vue?vue&type=template&id=40293ba8\"\nimport script from \"./bluesky-button.vue?vue&type=script&lang=js\"\nexport * from \"./bluesky-button.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <button-base class=\"email\"\n :title=\"i18n.t('public.social.share_on_email')\"\n medium=\"email\"\n @click=\"handleClick\">\n <template #icon>\n <img src=\"@/images/icons/mail.svg\" class=\"share-icon mail-icon\">\n </template>\n </button-base>\n</template>\n\n<script>\nimport ButtonBase from './button-base'\nimport EmailMixin from '@/share/campaign/email-mixin'\n\nexport default {\n components: { ButtonBase },\n\n mixins: [EmailMixin]\n}\n</script>\n\n<style scoped lang=\"scss\">\n// Override height to avoid squeezing the image\n.share-icon {\n height: auto;\n}\n</style>\n","import { render } from \"./email-button.vue?vue&type=template&id=330e7f2d&scoped=true\"\nimport script from \"./email-button.vue?vue&type=script&lang=js\"\nexport * from \"./email-button.vue?vue&type=script&lang=js\"\n\nimport \"./email-button.vue?vue&type=style&index=0&id=330e7f2d&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-330e7f2d\"]])\n\nexport default __exports__","<template>\n <button-base medium=\"facebook\" :title=\"i18n.t('public.social.share_on_facebook')\" class=\"facebook\"\n @click=\"handleClick\" />\n</template>\n\n<script>\nimport ButtonBase from './button-base'\nimport FacebookMixin from '@/share/campaign/facebook-mixin'\n\nexport default {\n components: { ButtonBase },\n\n mixins: [FacebookMixin]\n}\n</script>\n\n<style lang=\"scss\" scoped>\n $facebook-blue: #1977f2;\n .btn.facebook {\n background-color: $facebook-blue;\n color: white;\n border-color: $facebook-blue;\n }\n</style>\n","import { render } from \"./facebook-button.vue?vue&type=template&id=7e38eb27&scoped=true\"\nimport script from \"./facebook-button.vue?vue&type=script&lang=js\"\nexport * from \"./facebook-button.vue?vue&type=script&lang=js\"\n\nimport \"./facebook-button.vue?vue&type=style&index=0&id=7e38eb27&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7e38eb27\"]])\n\nexport default __exports__","<template>\n <button-base medium=\"messenger\" :title=\"i18n.t('public.social.share_on_messenger')\"\n icon-filename=\"messenger-black.svg\" class=\"messenger d-md-none\" @click=\"handleClick\" />\n</template>\n\n<script>\nimport ButtonBase from './button-base'\nimport MessengerMixin from '@/share/campaign/messenger-mixin'\n\nexport default {\n components: { ButtonBase },\n\n mixins: [MessengerMixin]\n}\n</script>\n","import { render } from \"./messenger-button.vue?vue&type=template&id=75b80aaa\"\nimport script from \"./messenger-button.vue?vue&type=script&lang=js\"\nexport * from \"./messenger-button.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <button-base medium=\"twitter\" :title=\"i18n.t('public.social.share_on_twitter')\" class=\"twitter\"\n icon-filename=\"x-twitter.svg\" @click=\"handleClick\" />\n</template>\n\n<script>\nimport ButtonBase from './button-base'\nimport TwitterMixin from '@/share/campaign/twitter-mixin'\n\nexport default {\n components: { ButtonBase },\n\n mixins: [TwitterMixin]\n}\n</script>\n","import { render } from \"./twitter-button.vue?vue&type=template&id=416eed3e\"\nimport script from \"./twitter-button.vue?vue&type=script&lang=js\"\nexport * from \"./twitter-button.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <button-base medium=\"web-share-api\" :label=\"label\" :title=\"label\" :aria-label=\"label\" class=\"web-share-api\"\n @click=\"launchShare\" />\n</template>\n\n<script>\nimport ButtonBase from './button-base'\nimport { inject } from 'vue'\nimport WebShareApiMixin from '@/share/campaign/web-share-api-mixin'\n\nexport default {\n components: { ButtonBase },\n\n mixins: [WebShareApiMixin],\n\n props: {\n label: {\n type: String,\n required: false,\n default() { return inject('i18n').t('social.share_anywhere') }\n }\n }\n}\n</script>\n","import { render } from \"./web-share-api-button.vue?vue&type=template&id=1690d11c\"\nimport script from \"./web-share-api-button.vue?vue&type=script&lang=js\"\nexport * from \"./web-share-api-button.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <button-base medium=\"whatsapp\" :title=\"i18n.t('public.social.share_on_whatsapp')\" class=\"whatsapp\"\n @click=\"handleClick\" />\n</template>\n\n<script>\nimport ButtonBase from './button-base'\nimport WhatsappMixin from '@/share/campaign/whatsapp-mixin'\n\nexport default {\n components: { ButtonBase },\n\n mixins: [WhatsappMixin]\n}\n</script>\n","import { render } from \"./whatsapp-button.vue?vue&type=template&id=08b77b26\"\nimport script from \"./whatsapp-button.vue?vue&type=script&lang=js\"\nexport * from \"./whatsapp-button.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import BlueskyButton from './buttons/bluesky-button'\nimport CopyUrl from '@/components/sharing/copy-url'\nimport EmailButton from './buttons/email-button'\nimport FacebookButton from './buttons/facebook-button'\nimport MessengerButton from './buttons/messenger-button'\nimport SharingOptionsMixin from './sharing-options-mixin'\nimport TwitterButton from './buttons/twitter-button'\nimport WebShareApiButton from './buttons/web-share-api-button'\nimport webShareSupportedUtil from '@/utils/web-share-supported'\nimport WhatsappButton from './buttons/whatsapp-button'\n\nexport default {\n components: {\n BlueskyButton, CopyUrl, EmailButton, FacebookButton, MessengerButton, TwitterButton, WebShareApiButton,\n WhatsappButton\n },\n\n mixins: [SharingOptionsMixin],\n\n computed: {\n webShareSupported() {\n return webShareSupportedUtil()\n }\n }\n}\n","import camelCase from 'lodash/camelCase'\nimport capitalize from 'lodash/capitalize'\nimport { objectKeysToCamelCase } from '@/helpers/transform-object-keys'\n\nexport default {\n props: {\n sharing: {\n type: Object,\n required: true\n }\n },\n\n computed: {\n formattedSharing() {\n return objectKeysToCamelCase(this.sharing)\n },\n\n webShareApiButtonLabel() {\n return this.formattedSharing.webShareApi.buttonLabel\n }\n },\n\n methods: {\n shareButtonComponentForChannel(channel) {\n return `${capitalize(channel.medium)}Button`\n },\n\n sharingOptionsForChannel(channel) {\n return this.formattedSharing[camelCase(channel.kind)]\n }\n }\n}\n","import ClickTracking from '@/share/campaign/click-tracking-mixin'\n\nexport default {\n mixins: [ClickTracking],\n\n props: {\n sharingOptions: {\n type: Object,\n required: true\n }\n },\n\n computed: {\n channelNameForAnalytics() {\n return 'X (Twitter)'\n }\n },\n\n methods: {\n handleClick() {\n const shareClickToken = this.trackEvent()\n const url = this.urlWithShareClickTokenInInnerUrl(this.sharingOptions.href, shareClickToken, 'url')\n const popup = window.open('about:blank', 'sharer', 'toolbar=0,status=0,width=626,height=436')\n popup.location.href = url\n }\n }\n}\n","import ajax from '@/helpers/ajax'\nimport { objectKeysToCamelCase } from '@/helpers/transform-object-keys'\nimport { trackShareOpen } from '@/analytics/track'\nimport { v4 as uuid } from 'uuid'\n\nconst WEB_SHARE_MEDIUM = 'web_share'\n\nexport default {\n props: {\n sharingOptions: {\n type: Object,\n required: true\n }\n },\n\n data() {\n return {\n sharingOptionsCaseConverted: objectKeysToCamelCase(this.sharingOptions),\n shareClickCreated: false,\n shareClickToken: uuid()\n }\n },\n\n computed: {\n urlWithShareClickToken() {\n const urlObj = new URL(this.sharingOptionsCaseConverted.shareUrl)\n urlObj.searchParams.append('share', this.shareClickToken)\n return urlObj.toString()\n }\n },\n\n methods: {\n launchShare() {\n this.trackShareClick()\n\n navigator.share({\n url: this.urlWithShareClickToken,\n text: this.sharingOptionsCaseConverted.shareText\n }).catch((error) => {\n if (error.name === 'AbortError') {\n // This means the user cancelled the share. This is not a problem we need to handle.\n } else {\n // Something else went wrong. Treat this as an error.\n throw error\n }\n })\n },\n\n trackShareClick() {\n if (!this.shareClickCreated) {\n ajax.post({\n url: this.sharingOptionsCaseConverted.shareClicksPath,\n data: {\n token: this.shareClickToken,\n medium: WEB_SHARE_MEDIUM\n },\n successHandler: () => {\n trackShareOpen(WEB_SHARE_MEDIUM, this.sharingOptionsCaseConverted.entityType, this.sharingOptionsCaseConverted.entitySlug)\n this.shareClickCreated = true\n }\n })\n }\n }\n }\n}\n","import ClickTracking from '@/share/campaign/click-tracking-mixin'\n\nexport default {\n mixins: [ClickTracking],\n\n props: {\n sharingOptions: {\n type: Object,\n required: true\n }\n },\n\n computed: {\n channelNameForAnalytics() {\n return 'WhatsApp'\n }\n },\n\n methods: {\n handleClick() {\n const shareClickToken = this.trackEvent()\n const url = this.urlWithShareClickToken(this.sharingOptions.href, shareClickToken)\n window.open(url)\n },\n\n urlWithShareClickToken(url, shareClickToken) {\n if (shareClickToken !== null) {\n // The original URL ends with a \"text\" parameter that includes some optional text followed by the\n // URL that the person is sharing. We want to edit that internal URL to add the \"share\" parameter to it.\n // The easiest way to do that, since we know it's at the end of the last parameter, is to just\n // stick the URL-encoded \"&share=foo\" on the end of the outer URL. When the \"text\" parameter is decoded,\n // this will result in the inner URL having the \"share\" parameter set.\n // This is kind of janky, but there aren't a lot of better options since the shared URL is within text\n // rather than separated into a parameter of its own.\n return url + encodeURIComponent(`&share=${shareClickToken}`)\n }\n return url\n }\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// runtime helper for setting properties on components\n// in a tree-shakable way\nexports.default = (sfc, props) => {\n const target = sfc.__vccOpts || sfc;\n for (const [key, val] of props) {\n target[key] = val;\n }\n return target;\n};\n","<template>\n <div class=\"input-group\">\n <input :id=\"inputId\" type=\"text\" :class=\"['form-control share copy-url-field', {'form-control-lg': useLargeControls}, inputAdditionalCssClasses]\"\n readonly=\"true\" :value=\"urlWithShareClickToken()\" @focus=\"trackShareFocus\">\n <button ref=\"copyUrlButton\" type=\"button\" :data-clipboard-target=\"inputUrlSelector\"\n :class=\"['btn share copy-url', {'btn-lg': useLargeControls}, buttonAdditionalCssClasses]\">\n {{ copyButtonLabel }}\n </button>\n </div>\n</template>\n\n<script>\nimport ClipboardJS from 'clipboard'\nimport { trackShareOpen } from '../../analytics/track'\nimport { nextTick } from 'vue'\nimport {v4 as uuid} from 'uuid'\nimport ajax from '../../helpers/ajax'\n\nexport default {\n props: {\n buttonAdditionalCssClasses: {\n type: String,\n required: false,\n default: ''\n },\n entitySlug: {\n type: String,\n required: true\n },\n entityType: {\n type: String,\n required: true\n },\n inputAdditionalCssClasses: {\n type: String,\n required: false,\n default: ''\n },\n inputId: {\n type: String,\n default: 'url-field'\n },\n shareClicksPath: {\n type: String,\n required: true\n },\n url: {\n type: String,\n required: true\n },\n useLargeControls: {\n type: Boolean,\n default: false\n }\n },\n\n data() {\n return {\n copiedUrl: false,\n shareClickCreated: false,\n shareClickToken: uuid()\n }\n },\n\n computed: {\n copyButtonLabel() {\n if (this.copiedUrl) {\n return this.i18n.t('social.copied')\n } else {\n return this.i18n.t('public.social.share_on_rawlink')\n }\n },\n\n inputUrlSelector() {\n return `#${this.inputId}`\n }\n },\n\n mounted() {\n nextTick(() => {\n const clipboardOptions = {\n // Define a custom function for text to be copied to clipboard so we can append the share click token\n text: () => {\n this.trackShareClick()\n this.copiedUrl = true\n setTimeout(() => {\n this.copiedUrl = false\n }, 1800)\n\n return this.urlWithShareClickToken()\n }\n }\n\n // clipboard requires setting the 'container' option when it's used in a Bootstrap modal:\n // https://clipboardjs.com/#advanced-usage\n const parentModal = this.$refs.copyUrlButton.closest('.modal')\n if (parentModal) {\n clipboardOptions['container'] = parentModal\n }\n\n new ClipboardJS('button.copy-url', clipboardOptions)\n })\n },\n\n methods: {\n trackShareFocus() {\n this.trackShareClick()\n },\n\n trackShareClick() {\n if (!this.shareClickCreated) {\n ajax.post({\n url: this.shareClicksPath,\n data: {\n token: this.shareClickToken,\n medium: 'rawlink'\n },\n successHandler: () => {\n trackShareOpen('rawlink', this.entityType, this.entitySlug)\n this.shareClickCreated = true\n }\n })\n }\n },\n\n urlWithShareClickToken() {\n const urlObj = new URL(this.url)\n urlObj.searchParams.append('share', this.shareClickToken)\n\n return urlObj.toString()\n }\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n @use \"~common_styles/breakpoints\" as breakpoints;\n\n .copy-url-field {\n color: #999999;\n border-color: #e2e2e2;\n }\n\n .copy-url {\n // Set fixed width to avoid button changing size when switching label after copying\n width: 150px;\n\n text-transform: unset;\n padding: 1rem;\n font-size: 1rem;\n\n &.btn-lg {\n @include breakpoints.screen-md-up {\n width: 200px;\n }\n }\n }\n</style>\n","import { render } from \"./copy-url.vue?vue&type=template&id=626beffa&scoped=true\"\nimport script from \"./copy-url.vue?vue&type=script&lang=js\"\nexport * from \"./copy-url.vue?vue&type=script&lang=js\"\n\nimport \"./copy-url.vue?vue&type=style&index=0&id=626beffa&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-626beffa\"]])\n\nexport default __exports__","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default { randomUUID };\n","let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n","import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;\n","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n const rnds = options.random ?? options.rng?.() ?? rng();\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;\n"],"names":["map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports","mixins","ClickTracking","props","sharingOptions","type","required","computed","channelNameForAnalytics","methods","handleClick","shareClickToken","this","trackEvent","url","urlWithShareClickToken","href","openShareBox","window","open","encodeURIComponent","entityType","entitySlug","shareClicksPath","document","dispatchEvent","Event","trackShareOpen","uuid","ajax","post","data","token","urlWithShareClickTokenInInnerUrl","innerUrlParamName","urlObj","URL","innerUrl","URLSearchParams","search","slice","get","searchParams","set","emailShareDataHref","params","share_click_token","successHandler","subject","body","location","assign","iconFilename","String","label","medium","title","emits","iconPath","filename","require","text","i18n","t","_createElementBlock","_mergeProps","_ctx","$attrs","role","$props","class","onClick","_cache","$event","$emit","_renderSlot","$slots","_createElementVNode","src","$options","_normalizeClass","_hoisted_2","_createTextVNode","_toDisplayString","_hoisted_1","components","ButtonBase","BlueskyMixin","_createBlock","_component_button_base","EmailMixin","icon","_withCtx","_imports_0","_","FacebookMixin","MessengerMixin","TwitterMixin","WebShareApiMixin","default","inject","launchShare","WhatsappMixin","BlueskyButton","CopyUrl","EmailButton","FacebookButton","MessengerButton","TwitterButton","WebShareApiButton","WhatsappButton","SharingOptionsMixin","webShareSupported","webShareSupportedUtil","sharing","formattedSharing","objectKeysToCamelCase","webShareApiButtonLabel","webShareApi","buttonLabel","shareButtonComponentForChannel","channel","capitalize","sharingOptionsForChannel","camelCase","kind","WEB_SHARE_MEDIUM","sharingOptionsCaseConverted","shareClickCreated","shareUrl","append","toString","trackShareClick","navigator","share","shareText","catch","error","name","sfc","target","__vccOpts","key","val","buttonAdditionalCssClasses","inputAdditionalCssClasses","inputId","useLargeControls","Boolean","copiedUrl","copyButtonLabel","inputUrlSelector","mounted","nextTick","clipboardOptions","setTimeout","parentModal","$refs","copyUrlButton","closest","ClipboardJS","trackShareFocus","readonly","value","onFocus","args","ref","_hoisted_3","randomUUID","crypto","bind","getRandomValues","rnds8","Uint8Array","byteToHex","i","push","unsafeStringify","arr","offset","toLowerCase","options","buf","rnds","random","rng","length","RangeError"],"sourceRoot":""}