{"version":3,"file":"js/social-share-box-b770d64a580d72a49a39.chunk.js","mappings":"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","sources":["webpack://agra/./app/javascript/share/campaign/messenger-mixin.js","webpack://agra/./app/javascript/share/campaign/web-share-api-mixin.js","webpack://agra/./node_modules/lodash/kebabCase.js","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","webpack://agra/./app/javascript/share/campaign/whatsapp-mixin.js","webpack://agra/./app/javascript/share/campaign/email-mixin.js","webpack://agra/./app/javascript/share/campaign/sharing-options-mixin.js","webpack://agra/./app/javascript/share/campaign/facebook-mixin.js","webpack://agra/./node_modules/vue-loader/dist/exportHelper.js","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/social-share-box.vue","webpack://agra/./app/javascript/share/campaign/share-box/button-base.vue","webpack://agra/./app/javascript/share/campaign/share-box/button-base.vue?752f","webpack://agra/./app/javascript/share/campaign/share-box/bluesky-button.vue","webpack://agra/./app/javascript/share/campaign/share-box/bluesky-button.vue?fa72","webpack://agra/./app/javascript/share/campaign/share-box/email-button.vue","webpack://agra/./app/javascript/share/campaign/share-box/email-button.vue?eed8","webpack://agra/./app/javascript/share/campaign/share-box/facebook-button.vue","webpack://agra/./app/javascript/share/campaign/share-box/facebook-button.vue?a89d","webpack://agra/./app/javascript/share/campaign/share-box/messenger-button.vue","webpack://agra/./app/javascript/share/campaign/share-box/messenger-button.vue?2119","webpack://agra/./app/javascript/share/campaign/share-box/twitter-button.vue","webpack://agra/./app/javascript/share/campaign/share-box/twitter-button.vue?63fe","webpack://agra/./app/javascript/share/campaign/share-box/web-share-api-button.vue","webpack://agra/./app/javascript/share/campaign/share-box/web-share-api-button.vue?6b27","webpack://agra/./app/javascript/share/campaign/share-box/whatsapp-button.vue","webpack://agra/./app/javascript/share/campaign/share-box/whatsapp-button.vue?ccf9","webpack://agra/./app/javascript/share/campaign/social-share-box.vue?7444","webpack://agra/./app/javascript/utils/web-share-supported.js","webpack://agra/./app/javascript/share/campaign/twitter-mixin.js"],"sourcesContent":["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","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","var createCompounder = require('./_createCompounder');\n\n/**\n * Converts `string` to\n * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the kebab cased string.\n * @example\n *\n * _.kebabCase('Foo Bar');\n * // => 'foo-bar'\n *\n * _.kebabCase('fooBar');\n * // => 'foo-bar'\n *\n * _.kebabCase('__FOO_BAR__');\n * // => 'foo-bar'\n */\nvar kebabCase = createCompounder(function(result, word, index) {\n  return result + (index ? '-' : '') + word.toLowerCase();\n});\n\nmodule.exports = kebabCase;\n","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","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","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 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 '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","\"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","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(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(shareClickToken) {\n      // First, get the URL we will be sharing, and if applicable, add the share click token to it.\n      let campaignUrl = this.sharingOptions.shareUrl\n      if (shareClickToken !== null) {\n        campaignUrl = campaignUrl + `&share=${shareClickToken}`\n      }\n\n      // Then, assemble the text of the Bluesky post, which may contain a message, the URL, and the org's handle.\n      let textParts = [campaignUrl]\n      if (this.sharingOptions.shareText.length > 0) {\n        textParts.unshift(this.sharingOptions.shareText)\n      }\n      if (this.sharingOptions.orgHandle) {\n        textParts.push(`@${this.sharingOptions.orgHandle}`)\n      }\n      const text = textParts.join(' ')\n\n      // Finally, construct the Bluesky intent-to-share URL.\n      const params = new URLSearchParams({ text })\n      return `https://bsky.app/intent/compose?${params.toString()}`\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","<template>\n  <div role=\"group\" :aria-label=\"i18n.t('buttons.share_on')\" class=\"btn-group d-flex share-box\">\n    <label class=\"btn d-none d-md-flex justify-content-center align-items-center\">\n      {{ i18n.t('buttons.share_on') }}\n    </label>\n\n    <component :is=\"shareButtonComponentForChannel(channel)\" v-for=\"channel of channels\" :key=\"channel.kind\"\n               :channel=\"channel\" :sharing-options=\"sharingOptionsForChannel(channel)\"\n               :show-button-labels=\"showButtonLabels\" />\n\n    <web-share-api-button :label=\"webShareApiButtonLabel\" :sharing-options=\"sharing.web_share_api\"\n                          :show-label=\"showButtonLabels\" />\n  </div>\n</template>\n\n<script>\nimport BlueskyButton from './share-box/bluesky-button'\nimport EmailButton from './share-box/email-button'\nimport FacebookButton from './share-box/facebook-button'\nimport MessengerButton from './share-box/messenger-button'\nimport SharingOptionsMixin from './sharing-options-mixin'\nimport TwitterButton from './share-box/twitter-button'\nimport WebShareApiButton from './share-box/web-share-api-button'\nimport WhatsappButton from './share-box/whatsapp-button'\n\nexport default {\n  components: {\n    BlueskyButton, EmailButton, FacebookButton, MessengerButton, TwitterButton, WebShareApiButton, WhatsappButton\n  },\n\n  mixins: [SharingOptionsMixin],\n\n  computed: {\n    channels() {\n      return this.sharing.channels\n    },\n\n    showButtonLabels() {\n      const desktopVisibleChannels = this.channels.filter((c) => !c.mobileOnly)\n\n      // Don't display the button labels on large screens if we're showing more than 2 buttons,\n      // so they fit in one line without breaking into two lines\n      return desktopVisibleChannels.length < 2\n    }\n  }\n}\n</script>\n","<template>\n  <button type=\"button\" :title=\"titleText\" class=\"share btn btn-outline-dark\"\n          :class=\"[channel.medium, {'d-md-none': channel.mobileOnly}]\" v-bind=\"$attrs\"\n          @click=\"$emit('click')\">\n    <i :class=\"iconCssClass\" />\n\n    <span class=\"d-none\" :class=\"{'d-lg-inline': showButtonLabels}\">\n      {{ labelText }}\n    </span>\n  </button>\n</template>\n\n<script>\nimport kebabCase from 'lodash/kebabCase'\n\nexport default {\n  props: {\n    channel: {\n      type: Object,\n      required: true\n    },\n\n    iconClass: {\n      type: String,\n      required: false\n    },\n\n    label: {\n      type: String,\n      required: false\n    },\n\n    showButtonLabels: {\n      type: Boolean,\n      required: true\n    },\n\n    title: {\n      type: String,\n      required: false\n    }\n  },\n\n  emits: ['click'],\n\n  computed: {\n    iconCssClass() {\n      return this.iconClass || `icon-${kebabCase(this.channel.kind)}`\n    },\n\n    labelText() {\n      return this.label || this.i18n.t(`public.social.${this.channel.medium}`)\n    },\n\n    titleText() {\n      return this.title || this.i18n.t(`public.social.share_on_${this.channel.medium}`)\n    }\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\ni + span {\n  margin-left: 10px;\n}\n</style>\n","import { render } from \"./button-base.vue?vue&type=template&id=2cbb847c&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=2cbb847c&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-2cbb847c\"]])\n\nexport default __exports__","<template>\n  <button-base :channel=\"channel\" :show-button-labels=\"showButtonLabels\" @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  props: {\n    channel: {\n      type: Object,\n      required: true\n    },\n\n    showButtonLabels: {\n      type: Boolean,\n      required: true\n    }\n  }\n}\n</script>\n","import { render } from \"./bluesky-button.vue?vue&type=template&id=59f31330\"\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 :channel=\"channel\" :show-button-labels=\"showButtonLabels\" icon-class=\"icon-mail\" @click=\"handleClick\" />\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  props: {\n    channel: {\n      type: Object,\n      required: true\n    },\n\n    showButtonLabels: {\n      type: Boolean,\n      required: true\n    }\n  }\n}\n</script>\n","import { render } from \"./email-button.vue?vue&type=template&id=af679b20\"\nimport script from \"./email-button.vue?vue&type=script&lang=js\"\nexport * from \"./email-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 :channel=\"channel\" :show-button-labels=\"showButtonLabels\" @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  props: {\n    channel: {\n      type: Object,\n      required: true\n    },\n\n    showButtonLabels: {\n      type: Boolean,\n      required: true\n    }\n  }\n}\n</script>\n","import { render } from \"./facebook-button.vue?vue&type=template&id=027927c8\"\nimport script from \"./facebook-button.vue?vue&type=script&lang=js\"\nexport * from \"./facebook-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 :channel=\"channel\" :show-button-labels=\"showButtonLabels\" @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  props: {\n    channel: {\n      type: Object,\n      required: true\n    },\n\n    showButtonLabels: {\n      type: Boolean,\n      required: true\n    }\n  }\n}\n</script>\n","import { render } from \"./messenger-button.vue?vue&type=template&id=1daaac30\"\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 :channel=\"channel\" :show-button-labels=\"showButtonLabels\" icon-class=\"icon-x-twitter\"\n               @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  props: {\n    channel: {\n      type: Object,\n      required: true\n    },\n\n    showButtonLabels: {\n      type: Boolean,\n      required: true\n    }\n  }\n}\n</script>\n","import { render } from \"./twitter-button.vue?vue&type=template&id=4a426007\"\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 v-if=\"showWebShareButton\" :channel=\"channelInfo\" :show-button-labels=\"showLabel\" :label=\"label\"\n               :title=\"label\" :aria-label=\"label\" icon-class=\"icon-share\" @click=\"launchShare\" />\n\n  <span v-else />\n</template>\n\n<script>\nimport ButtonBase from './button-base'\nimport WebShareApiMixin from '@/share/campaign/web-share-api-mixin'\nimport webShareSupported from '@/utils/web-share-supported'\n\nexport default {\n  components: { ButtonBase },\n\n  mixins: [WebShareApiMixin],\n\n  props: {\n    label: {\n      type: String,\n      required: true\n    },\n\n    showLabel: {\n      type: Boolean,\n      required: true\n    }\n  },\n\n  computed: {\n    channelInfo() {\n      return {\n        kind: 'web_share_api',\n        medium: 'web-share-api',\n        mobileOnly: false\n      }\n    },\n\n    showWebShareButton() {\n      return webShareSupported()\n    }\n  }\n}\n</script>\n","import { render } from \"./web-share-api-button.vue?vue&type=template&id=5e7a22f6\"\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 :channel=\"channel\" :show-button-labels=\"showButtonLabels\" @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  props: {\n    channel: {\n      type: Object,\n      required: true\n    },\n\n    showButtonLabels: {\n      type: Boolean,\n      required: true\n    }\n  }\n}\n</script>\n","import { render } from \"./whatsapp-button.vue?vue&type=template&id=5e881ec8\"\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 { render } from \"./social-share-box.vue?vue&type=template&id=9e5ba00e\"\nimport script from \"./social-share-box.vue?vue&type=script&lang=js\"\nexport * from \"./social-share-box.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__","export default function webShareSupported() {\n  return (typeof navigator.share !== 'undefined')\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"],"names":["mixins","ClickTracking","props","sharingOptions","type","Object","required","computed","channelNameForAnalytics","methods","handleClick","shareClickToken","this","trackEvent","url","urlWithShareClickTokenInInnerUrl","href","window","open","WEB_SHARE_MEDIUM","data","sharingOptionsCaseConverted","objectKeysToCamelCase","shareClickCreated","uuid","urlWithShareClickToken","urlObj","URL","shareUrl","searchParams","append","toString","launchShare","trackShareClick","navigator","share","text","shareText","catch","error","name","ajax","post","shareClicksPath","token","medium","successHandler","trackShareOpen","entityType","entitySlug","kebabCase","createCompounder","result","word","index","toLowerCase","module","exports","randomUUID","crypto","bind","getRandomValues","rnds8","Uint8Array","byteToHex","i","push","slice","unsafeStringify","arr","offset","options","buf","rnds","random","rng","Error","length","RangeError","encodeURIComponent","get","emailShareDataHref","params","share_click_token","subject","body","location","assign","sharing","formattedSharing","webShareApiButtonLabel","webShareApi","buttonLabel","shareButtonComponentForChannel","channel","capitalize","sharingOptionsForChannel","camelCase","kind","openShareBox","sfc","target","__vccOpts","key","val","campaignUrl","textParts","unshift","orgHandle","join","URLSearchParams","document","dispatchEvent","Event","innerUrlParamName","innerUrl","search","set","class","iconClass","String","label","showButtonLabels","Boolean","title","emits","iconCssClass","labelText","i18n","t","titleText","_createElementBlock","_mergeProps","$options","$props","mobileOnly","_ctx","$attrs","onClick","_cache","$event","$emit","_createElementVNode","_normalizeClass","_createTextVNode","_hoisted_1","components","ButtonBase","BlueskyMixin","_createBlock","_component_button_base","EmailMixin","FacebookMixin","MessengerMixin","TwitterMixin","WebShareApiMixin","showLabel","channelInfo","showWebShareButton","webShareSupported","WhatsappMixin","BlueskyButton","EmailButton","FacebookButton","MessengerButton","TwitterButton","WebShareApiButton","WhatsappButton","SharingOptionsMixin","channels","filter","c","role","_hoisted_2","_toDisplayString","_Fragment","_renderList","_resolveDynamicComponent","_createVNode","_component_web_share_api_button","web_share_api"],"sourceRoot":""}