{"version":3,"sources":["node_modules/@angular/cdk/fesm2022/clipboard.mjs","node_modules/ngx-sharebuttons/fesm2022/ngx-sharebuttons.mjs"],"sourcesContent":["import { DOCUMENT } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Injectable, Inject, InjectionToken, EventEmitter, Directive, Optional, Input, Output, NgModule } from '@angular/core';\n\n/**\n * A pending copy-to-clipboard operation.\n *\n * The implementation of copying text to the clipboard modifies the DOM and\n * forces a re-layout. This re-layout can take too long if the string is large,\n * causing the execCommand('copy') to happen too long after the user clicked.\n * This results in the browser refusing to copy. This object lets the\n * re-layout happen in a separate tick from copying by providing a copy function\n * that can be called later.\n *\n * Destroy must be called when no longer in use, regardless of whether `copy` is\n * called.\n */\nclass PendingCopy {\n constructor(text, _document) {\n this._document = _document;\n const textarea = this._textarea = this._document.createElement('textarea');\n const styles = textarea.style;\n // Hide the element for display and accessibility. Set a fixed position so the page layout\n // isn't affected. We use `fixed` with `top: 0`, because focus is moved into the textarea\n // for a split second and if it's off-screen, some browsers will attempt to scroll it into view.\n styles.position = 'fixed';\n styles.top = styles.opacity = '0';\n styles.left = '-999em';\n textarea.setAttribute('aria-hidden', 'true');\n textarea.value = text;\n // Making the textarea `readonly` prevents the screen from jumping on iOS Safari (see #25169).\n textarea.readOnly = true;\n // The element needs to be inserted into the fullscreen container, if the page\n // is in fullscreen mode, otherwise the browser won't execute the copy command.\n (this._document.fullscreenElement || this._document.body).appendChild(textarea);\n }\n /** Finishes copying the text. */\n copy() {\n const textarea = this._textarea;\n let successful = false;\n try {\n // Older browsers could throw if copy is not supported.\n if (textarea) {\n const currentFocus = this._document.activeElement;\n textarea.select();\n textarea.setSelectionRange(0, textarea.value.length);\n successful = this._document.execCommand('copy');\n if (currentFocus) {\n currentFocus.focus();\n }\n }\n } catch {\n // Discard error.\n // Initial setting of {@code successful} will represent failure here.\n }\n return successful;\n }\n /** Cleans up DOM changes used to perform the copy operation. */\n destroy() {\n const textarea = this._textarea;\n if (textarea) {\n textarea.remove();\n this._textarea = undefined;\n }\n }\n}\n\n/**\n * A service for copying text to the clipboard.\n */\nlet Clipboard = /*#__PURE__*/(() => {\n class Clipboard {\n constructor(document) {\n this._document = document;\n }\n /**\n * Copies the provided text into the user's clipboard.\n *\n * @param text The string to copy.\n * @returns Whether the operation was successful.\n */\n copy(text) {\n const pendingCopy = this.beginCopy(text);\n const successful = pendingCopy.copy();\n pendingCopy.destroy();\n return successful;\n }\n /**\n * Prepares a string to be copied later. This is useful for large strings\n * which take too long to successfully render and be copied in the same tick.\n *\n * The caller must call `destroy` on the returned `PendingCopy`.\n *\n * @param text The string to copy.\n * @returns the pending copy operation.\n */\n beginCopy(text) {\n return new PendingCopy(text, this._document);\n }\n static {\n this.ɵfac = function Clipboard_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || Clipboard)(i0.ɵɵinject(DOCUMENT));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: Clipboard,\n factory: Clipboard.ɵfac,\n providedIn: 'root'\n });\n }\n }\n return Clipboard;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/** Injection token that can be used to provide the default options to `CdkCopyToClipboard`. */\nconst CDK_COPY_TO_CLIPBOARD_CONFIG = /*#__PURE__*/new InjectionToken('CDK_COPY_TO_CLIPBOARD_CONFIG');\n/**\n * Provides behavior for a button that when clicked copies content into user's\n * clipboard.\n */\nlet CdkCopyToClipboard = /*#__PURE__*/(() => {\n class CdkCopyToClipboard {\n constructor(_clipboard, _ngZone, config) {\n this._clipboard = _clipboard;\n this._ngZone = _ngZone;\n /** Content to be copied. */\n this.text = '';\n /**\n * How many times to attempt to copy the text. This may be necessary for longer text, because\n * the browser needs time to fill an intermediate textarea element and copy the content.\n */\n this.attempts = 1;\n /**\n * Emits when some text is copied to the clipboard. The\n * emitted value indicates whether copying was successful.\n */\n this.copied = new EventEmitter();\n /** Copies that are currently being attempted. */\n this._pending = new Set();\n if (config && config.attempts != null) {\n this.attempts = config.attempts;\n }\n }\n /** Copies the current text to the clipboard. */\n copy(attempts = this.attempts) {\n if (attempts > 1) {\n let remainingAttempts = attempts;\n const pending = this._clipboard.beginCopy(this.text);\n this._pending.add(pending);\n const attempt = () => {\n const successful = pending.copy();\n if (!successful && --remainingAttempts && !this._destroyed) {\n // We use 1 for the timeout since it's more predictable when flushing in unit tests.\n this._currentTimeout = this._ngZone.runOutsideAngular(() => setTimeout(attempt, 1));\n } else {\n this._currentTimeout = null;\n this._pending.delete(pending);\n pending.destroy();\n this.copied.emit(successful);\n }\n };\n attempt();\n } else {\n this.copied.emit(this._clipboard.copy(this.text));\n }\n }\n ngOnDestroy() {\n if (this._currentTimeout) {\n clearTimeout(this._currentTimeout);\n }\n this._pending.forEach(copy => copy.destroy());\n this._pending.clear();\n this._destroyed = true;\n }\n static {\n this.ɵfac = function CdkCopyToClipboard_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || CdkCopyToClipboard)(i0.ɵɵdirectiveInject(Clipboard), i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(CDK_COPY_TO_CLIPBOARD_CONFIG, 8));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: CdkCopyToClipboard,\n selectors: [[\"\", \"cdkCopyToClipboard\", \"\"]],\n hostBindings: function CdkCopyToClipboard_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"click\", function CdkCopyToClipboard_click_HostBindingHandler() {\n return ctx.copy();\n });\n }\n },\n inputs: {\n text: [0, \"cdkCopyToClipboard\", \"text\"],\n attempts: [0, \"cdkCopyToClipboardAttempts\", \"attempts\"]\n },\n outputs: {\n copied: \"cdkCopyToClipboardCopied\"\n },\n standalone: true\n });\n }\n }\n return CdkCopyToClipboard;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet ClipboardModule = /*#__PURE__*/(() => {\n class ClipboardModule {\n static {\n this.ɵfac = function ClipboardModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || ClipboardModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: ClipboardModule\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({});\n }\n }\n return ClipboardModule;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { CDK_COPY_TO_CLIPBOARD_CONFIG, CdkCopyToClipboard, Clipboard, ClipboardModule, PendingCopy };\n","import * as i0 from '@angular/core';\nimport { InjectionToken, inject, Injectable, ElementRef, signal, computed, input, output, effect, untracked, Directive } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { HttpParams } from '@angular/common/http';\nimport { Meta } from '@angular/platform-browser';\nimport { Platform } from '@angular/cdk/platform';\nimport { Clipboard } from '@angular/cdk/clipboard';\n\n/** Returns a valid URL or falls back to current URL */\nfunction getValidUrl(url) {\n const isValidUrl = /^(http|https):\\/\\//.test(url);\n if (isValidUrl) {\n return url;\n }\n console.warn(`[ShareButtons]: Sharing link '${url}' is invalid!`);\n return null;\n}\nfunction printPage() {\n return document.defaultView.print();\n}\nfunction copyToClipboard({\n params,\n data,\n clipboard,\n uiState\n}) {\n clipboard.copy(params.url);\n // Disable copy button\n uiState.set({\n icon: data.successIcon,\n text: data.successText,\n disabled: true\n });\n setTimeout(() => {\n uiState.set({\n icon: data.icon,\n text: data.text,\n disabled: false\n });\n }, data.delay);\n}\nconst SHARE_BUTTONS_CONFIG = new InjectionToken('SHARE_BUTTONS_CONFIG', {\n providedIn: 'root',\n factory: () => DEFAULT_OPTIONS\n});\nconst SHARE_ICONS = new InjectionToken('SHARE_ICONS');\nfunction provideShareButtonsOptions(...providers) {\n return providers;\n}\nfunction withConfig(options) {\n return {\n provide: SHARE_BUTTONS_CONFIG,\n useValue: {\n ...DEFAULT_OPTIONS,\n ...options\n }\n };\n}\nclass IShareButton {}\nvar SharerMethods = /*#__PURE__*/function (SharerMethods) {\n SharerMethods[\"Anchor\"] = \"anchor\";\n SharerMethods[\"Window\"] = \"window\";\n return SharerMethods;\n}(SharerMethods || {});\nconst DEFAULT_OPTIONS = {\n sharerMethod: SharerMethods.Anchor,\n theme: 'default',\n windowWidth: 800,\n windowHeight: 500,\n moreButtonIcon: ['fas', 'ellipsis-h'],\n lessButtonIcon: ['fas', 'minus'],\n moreButtonAriaLabel: 'Show more share buttons',\n lessButtonAriaLabel: 'Show less share buttons'\n};\n// Create message body that includes the sharing link used for Email, SMS and WhatsApp buttons\nconst linkInDescription = {\n description: p => {\n return p.description ? `${p.description}\\r\\n${p.url}` : p.url;\n }\n};\nconst facebookParams = {\n type: 'facebook',\n text: 'Facebook',\n ariaLabel: 'Share on Facebook',\n icon: ['fab', 'facebook-f'],\n color: '#4267B2',\n share: {\n desktop: 'https://facebook.com/sharer/sharer.php'\n },\n params: {\n url: 'u'\n }\n};\nconst xParams = {\n type: 'x',\n text: 'X',\n ariaLabel: 'Post on X',\n icon: ['fab', 'x-twitter'],\n color: '#000',\n share: {\n desktop: 'https://x.com/intent/post'\n },\n params: {\n url: 'url',\n description: 'text',\n tags: 'hashtags',\n via: 'via'\n }\n};\nconst linkedInParams = {\n type: 'linkedin',\n text: 'LinkedIn',\n ariaLabel: 'Share on LinkedIn',\n icon: ['fab', 'linkedin-in'],\n color: '#0a66c2',\n share: {\n desktop: 'https://www.linkedin.com/sharing/share-offsite'\n },\n params: {\n url: 'url'\n }\n};\nconst pinterestParams = {\n type: 'pinterest',\n text: 'Pinterest',\n ariaLabel: 'Share on Pinterest',\n icon: ['fab', 'pinterest-p'],\n color: '#e60023',\n share: {\n desktop: 'https://pinterest.com/pin/create/button/'\n },\n params: {\n url: 'url',\n description: 'description',\n image: 'media'\n }\n};\nconst redditParams = {\n type: 'reddit',\n text: 'Reddit',\n ariaLabel: 'Share on Reddit',\n icon: ['fab', 'reddit-alien'],\n color: '#FF4006',\n share: {\n desktop: 'https://www.reddit.com/submit'\n },\n params: {\n url: 'url',\n title: 'title'\n }\n};\nconst tumblrParams = {\n type: 'tumblr',\n text: 'Tumblr',\n ariaLabel: 'Share on Tumblr',\n icon: ['fab', 'tumblr'],\n color: '#36465D',\n share: {\n desktop: 'https://tumblr.com/widgets/share/tool'\n },\n params: {\n url: 'canonicalUrl',\n description: 'caption',\n tags: 'tags'\n }\n};\nconst mixParams = {\n type: 'mix',\n text: 'Mix',\n ariaLabel: 'Share on Mix',\n icon: ['fab', 'mix'],\n color: '#eb4924',\n share: {\n desktop: 'https://mix.com/add'\n },\n params: {\n url: 'url'\n }\n};\nconst viberParams = {\n type: 'viber',\n text: 'Viber',\n ariaLabel: 'Share on Viber',\n icon: ['fab', 'viber'],\n color: '#665ca7',\n share: {\n android: 'viber://forward',\n ios: 'viber://forward'\n },\n params: {\n description: 'text'\n },\n paramsFunc: linkInDescription,\n requiredParams: {\n description: true\n }\n};\nconst vkParams = {\n type: 'vk',\n text: 'VKontakte',\n ariaLabel: 'Share on VKontakte',\n icon: ['fab', 'vk'],\n color: '#4C75A3',\n share: {\n desktop: 'https://vk.com/share.php'\n },\n params: {\n url: 'url'\n }\n};\nconst telegramParams = {\n type: 'telegram',\n text: 'Telegram',\n ariaLabel: 'Share on Telegram',\n icon: ['fab', 'telegram-plane'],\n color: '#0088cc',\n share: {\n desktop: 'https://t.me/share/url'\n },\n params: {\n url: 'url',\n description: 'text'\n }\n};\nconst messengerParams = {\n type: 'messenger',\n text: 'Messenger',\n ariaLabel: 'Share on Messenger',\n icon: ['fab', 'facebook-messenger'],\n color: '#168AFF',\n share: {\n desktop: 'https://www.facebook.com/dialog/send',\n android: 'fb-messenger://share/',\n ios: 'fb-messenger://share/'\n },\n params: {\n url: 'link',\n appId: 'app_id',\n redirectUrl: 'redirect_uri'\n }\n};\nconst whatsappParams = {\n type: 'whatsapp',\n text: 'WhatsApp',\n ariaLabel: 'Share on WhatsApp',\n icon: ['fab', 'whatsapp'],\n color: '#25D366',\n share: {\n desktop: 'https://api.whatsapp.com/send',\n android: 'whatsapp://send',\n ios: 'https://api.whatsapp.com/send'\n },\n params: {\n url: 'link',\n description: 'text'\n },\n requiredParams: {\n description: true\n },\n paramsFunc: linkInDescription\n};\nconst xingParams = {\n type: 'xing',\n text: 'Xing',\n ariaLabel: 'Share on Xing',\n icon: ['fab', 'xing'],\n color: '#006567',\n share: {\n desktop: 'https://www.xing.com/spi/shares/new'\n },\n params: {\n url: 'url'\n }\n};\nconst lineParams = {\n type: 'line',\n text: 'Line',\n ariaLabel: 'Share on Line',\n icon: ['fab', 'line'],\n color: '#00b900',\n share: {\n desktop: 'https://social-plugins.line.me/lineit/share'\n },\n params: {\n url: 'url'\n }\n};\nconst smsParams = {\n type: 'sms',\n text: 'SMS',\n ariaLabel: 'Share link via SMS',\n icon: ['fas', 'sms'],\n color: '#20c16c',\n share: {\n desktop: 'sms:',\n ios: 'sms:&'\n },\n params: {\n description: 'body'\n },\n paramsFunc: linkInDescription,\n requiredParams: {\n description: true\n }\n};\nconst emailParams = {\n type: 'email',\n text: 'Email',\n ariaLabel: 'Share link via email',\n icon: ['fas', 'envelope'],\n color: '#FF961C',\n share: {\n desktop: 'mailto:'\n },\n params: {\n title: 'subject',\n description: 'body'\n },\n paramsFunc: linkInDescription,\n requiredParams: {\n description: true\n }\n};\nconst printerParams = {\n type: 'print',\n text: 'Print',\n ariaLabel: 'Print page',\n icon: ['fas', 'print'],\n color: '#765AA2',\n func: printPage\n};\nconst copyParams = {\n type: 'copy',\n text: 'Copy link',\n ariaLabel: 'Copy link',\n icon: ['fas', 'link'],\n color: '#607D8B',\n data: {\n text: 'Copy link',\n icon: ['fas', 'link'],\n successText: 'Copied',\n successIcon: ['fas', 'check'],\n delay: 2000\n },\n func: copyToClipboard\n};\nconst SHARE_BUTTONS = {\n facebook: facebookParams,\n x: xParams,\n linkedin: linkedInParams,\n pinterest: pinterestParams,\n reddit: redditParams,\n tumblr: tumblrParams,\n mix: mixParams,\n viber: viberParams,\n vk: vkParams,\n telegram: telegramParams,\n messenger: messengerParams,\n whatsapp: whatsappParams,\n xing: xingParams,\n line: lineParams,\n sms: smsParams,\n email: emailParams,\n print: printerParams,\n copy: copyParams\n};\nlet ShareService = /*#__PURE__*/(() => {\n class ShareService {\n constructor() {\n this.document = inject(DOCUMENT);\n // This declaration just to allow SHARE_ICONS to load the icons\n this.icons = inject(SHARE_ICONS, {\n optional: true\n });\n this.meta = inject(Meta);\n this.platform = inject(Platform);\n this.clipboard = inject(Clipboard);\n }\n /**\n * Get meta tag content\n */\n getMetaTagContent(key) {\n const metaUsingProperty = this.meta.getTag(`property=\"${key}\"`);\n const metaUsingName = this.meta.getTag(`name=\"${key}\"`);\n return (metaUsingProperty || metaUsingName)?.getAttribute('content') ?? null;\n }\n getComputedUrl(url) {\n return getValidUrl(url || this.getMetaTagContent('og:url') || this.document.location.href);\n }\n getComputedParams(params) {\n // If user provided a URL, then we cannot use the meta tag of the current page for the sharing parameters\n if (params.url) {\n return {\n title: params.title,\n description: params.description,\n image: params.image,\n tags: params.tags,\n via: params.via,\n url: this.getComputedUrl(params.url),\n appId: params.appId || this.getMetaTagContent('fb:app_id'),\n redirectUrl: params.redirectUrl || this.document.location.href\n };\n }\n return {\n title: params.title || this.getMetaTagContent('og:title'),\n description: params.description || this.getMetaTagContent('og:description'),\n image: params.image || this.getMetaTagContent('og:image'),\n tags: params.tags,\n via: params.via,\n url: this.getComputedUrl(params.url),\n appId: params.appId || this.getMetaTagContent('fb:app_id'),\n redirectUrl: params.redirectUrl || this.document.location.href\n };\n }\n getComputedUrlParams(shareButton, params) {\n const computedParams = this.getComputedParams(params);\n return Object.entries(shareButton.params).reduce((params, [key, realKey]) => {\n // Check if param has a value\n if (shareButton.requiredParams && shareButton.requiredParams[key] || computedParams[key]) {\n // Check if param has a resolver function\n const resolver = shareButton.paramsFunc?.[key];\n params[realKey] = resolver ? resolver(computedParams) : computedParams[key];\n }\n return params;\n }, {});\n }\n getShareButtonInstance(name, props) {\n /** Combine injected option with default options */\n const button = props ? {\n ...SHARE_BUTTONS[name],\n ...props\n } : SHARE_BUTTONS[name];\n if (button) {\n return button;\n }\n throw new Error(`[ShareButtons]: The share button '${button}' does not exist!`);\n }\n share(shareButton, options) {\n let sharerLink;\n if (this.platform.IOS && shareButton.share.ios) {\n sharerLink = shareButton.share.ios;\n } else if (this.platform.ANDROID && shareButton.share.android) {\n sharerLink = shareButton.share.android;\n } else {\n sharerLink = shareButton.share.desktop;\n }\n const params = this.getComputedUrlParams(shareButton, options.params);\n if (sharerLink) {\n switch (options.method) {\n case SharerMethods.Anchor:\n this.openViaAnchor({\n params,\n url: sharerLink,\n target: options.target\n }, options.debug);\n break;\n case SharerMethods.Window:\n this.openViaWindow({\n params,\n url: sharerLink,\n target: options.target\n }, options.windowOptions, options.debug);\n break;\n }\n }\n }\n open(options) {\n const button = this.getShareButtonInstance(options.name, options.props);\n this.openInstance(options, button);\n }\n openInstance(options, button) {\n if (button.share) {\n this.share(button, options);\n } else {\n button.func({\n params: this.getComputedParams(options.params),\n data: button.data,\n clipboard: this.clipboard,\n uiState: options.uiState\n });\n }\n }\n openViaWindow(args, windowOptions, debug) {\n const finalUrl = `${args.url}?${new HttpParams({\n fromObject: args.params\n }).toString()}`;\n if (debug) {\n console.log('[SHARE BUTTONS]: open link via window', finalUrl);\n }\n const windowRef = windowOptions?.windowObj || this.document.defaultView;\n // Open link using Window object\n const openWindow = windowRef?.[windowOptions?.openFunc] || this.document.defaultView.open;\n openWindow(finalUrl, args.target ?? '_blank', `width=${windowOptions?.width || 800}, height=${windowOptions?.height || 500}`);\n // Prevent security vulnerability https://medium.com/@jitbit/target-blank-the-most-underestimated-vulnerability-ever-96e328301f4c\n windowRef.opener ??= null;\n }\n openViaAnchor(args, debug) {\n const finalUrl = `${args.url}?${new HttpParams({\n fromObject: args.params\n }).toString()}`;\n if (debug) {\n console.log('[SHARE BUTTONS]: open link via anchor', finalUrl);\n }\n const linkElement = this.document.createElement('a');\n // Make it open in a new tab/window (depends on user's browser configuration)\n linkElement.setAttribute('target', args.target ?? '_blank');\n // Prevent security vulnerability https://medium.com/@jitbit/target-blank-the-most-underestimated-vulnerability-ever-96e328301f4c\n linkElement.setAttribute('rel', 'noopener noreferrer');\n linkElement.href = finalUrl;\n linkElement.click();\n linkElement.remove();\n }\n static {\n this.ɵfac = function ShareService_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || ShareService)();\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: ShareService,\n factory: ShareService.ɵfac,\n providedIn: 'root'\n });\n }\n }\n return ShareService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst SHARE_BUTTONS_PROP = new InjectionToken('SHARE_BUTTONS_PROP', {\n providedIn: 'root',\n factory: () => SHARE_BUTTONS\n});\nfunction customShareButton(key, button) {\n SHARE_BUTTONS[key] = {\n ...SHARE_BUTTONS[key],\n ...button\n };\n return {\n provide: SHARE_BUTTONS_PROP,\n useValue: SHARE_BUTTONS\n };\n}\nlet ShareButtonDirective = /*#__PURE__*/(() => {\n class ShareButtonDirective {\n constructor() {\n this.shareButtonsProps = inject(SHARE_BUTTONS_PROP);\n /** Injected options */\n this.options = inject(SHARE_BUTTONS_CONFIG);\n /** Share directive element ref */\n this.shareService = inject(ShareService);\n this.nativeElement = inject(ElementRef).nativeElement;\n /** Share button UI state */\n this.uiState = signal({});\n /** Share button color */\n this.color = computed(() => this.shareButtonInstance().color);\n /** Share button text */\n this.text = computed(() => this.uiState().text);\n /** Share button icon */\n this.icon = computed(() => this.uiState().icon);\n /** Share button disabled */\n this.disabled = computed(() => this.uiState().disabled);\n /** Share button type */\n this.shareButton = input.required();\n this.shareButtonInstance = computed(() => {\n /** Combine injected option with default options */\n const key = this.shareButton();\n const button = this.shareButtonsProps[key];\n if (button) {\n return button;\n }\n throw new Error(`[ShareButtons]: The share button '${button}' does not exist!`);\n });\n /** Sets the title parameter */\n this.title = input();\n /** Sets the description parameter */\n this.description = input();\n /** Sets the image parameter for sharing on Pinterest */\n this.image = input();\n /** Sets the tags parameter for sharing on X and Tumblr */\n this.tags = input();\n /** Sets the fb messenger redirect url to enable sharing on Messenger desktop */\n this.redirectUrl = input();\n /** Sharing link */\n this.url = input();\n /** Stream that emits when share dialog is opened */\n this.opened = output();\n effect(() => {\n const button = this.shareButtonInstance();\n untracked(() => {\n // Set share button properties\n this.uiState.set({\n icon: button.icon,\n text: button.text,\n disabled: false\n });\n });\n });\n effect(() => {\n // Set disabled attribute only when disabled state is true, because disabled=\"false\" will also disable the button\n this.nativeElement.toggleAttribute('disabled', this.uiState().disabled);\n });\n }\n /**\n * Share the link\n */\n share() {\n this.shareService.openInstance({\n params: {\n url: this.url(),\n title: this.title(),\n description: this.description(),\n image: this.image(),\n tags: this.tags(),\n redirectUrl: this.redirectUrl()\n },\n target: this.options.sharerTarget,\n debug: this.options.debug,\n method: this.options.sharerMethod,\n uiState: this.uiState\n }, this.shareButtonInstance());\n // Emit after share action is done\n this.opened.emit(this.shareButton());\n }\n static {\n this.ɵfac = function ShareButtonDirective_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || ShareButtonDirective)();\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: ShareButtonDirective,\n selectors: [[\"\", \"shareButton\", \"\"]],\n hostVars: 3,\n hostBindings: function ShareButtonDirective_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"click\", function ShareButtonDirective_click_HostBindingHandler() {\n return ctx.share();\n });\n }\n if (rf & 2) {\n i0.ɵɵattribute(\"aria-label\", ctx.shareButtonInstance().ariaLabel);\n i0.ɵɵstyleProp(\"--button-color\", ctx.color());\n }\n },\n inputs: {\n shareButton: [1, \"shareButton\"],\n title: [1, \"title\"],\n description: [1, \"description\"],\n image: [1, \"image\"],\n tags: [1, \"tags\"],\n redirectUrl: [1, \"redirectUrl\"],\n url: [1, \"url\"]\n },\n outputs: {\n opened: \"opened\"\n },\n exportAs: [\"shareButton\"],\n standalone: true\n });\n }\n }\n return ShareButtonDirective;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { DEFAULT_OPTIONS, IShareButton, SHARE_BUTTONS, SHARE_BUTTONS_CONFIG, SHARE_BUTTONS_PROP, SHARE_ICONS, ShareButtonDirective, ShareService, SharerMethods, copyParams, customShareButton, emailParams, facebookParams, lineParams, linkedInParams, messengerParams, mixParams, pinterestParams, printerParams, provideShareButtonsOptions, redditParams, smsParams, telegramParams, tumblrParams, viberParams, vkParams, whatsappParams, withConfig, xParams, xingParams };\n"],"mappings":"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","names":["PendingCopy","text","_document","textarea","styles","successful","currentFocus","Clipboard","document","pendingCopy","__ngFactoryType__","ɵɵinject","DOCUMENT","ɵɵdefineInjectable","getValidUrl","url","printPage","copyToClipboard","params","data","clipboard","uiState","SHARE_BUTTONS_CONFIG","InjectionToken","DEFAULT_OPTIONS","SHARE_ICONS","provideShareButtonsOptions","providers","SharerMethods","DEFAULT_OPTIONS","linkInDescription","p","facebookParams","xParams","linkedInParams","pinterestParams","redditParams","tumblrParams","mixParams","viberParams","vkParams","telegramParams","messengerParams","whatsappParams","xingParams","lineParams","smsParams","emailParams","printerParams","printPage","copyParams","copyToClipboard","SHARE_BUTTONS","ShareService","inject","DOCUMENT","SHARE_ICONS","Meta","Platform","Clipboard","key","metaUsingProperty","metaUsingName","url","getValidUrl","params","shareButton","computedParams","realKey","resolver","name","props","button","__spreadValues","options","sharerLink","args","windowOptions","debug","finalUrl","HttpParams","windowRef","linkElement","__ngFactoryType__","ɵɵdefineInjectable","SHARE_BUTTONS_PROP","InjectionToken","ShareButtonDirective","inject","SHARE_BUTTONS_PROP","SHARE_BUTTONS_CONFIG","ShareService","ElementRef","signal","computed","input","key","button","output","effect","untracked","__ngFactoryType__","ɵɵdefineDirective","rf","ctx","ɵɵlistener","ɵɵattribute","ɵɵstyleProp"],"x_google_ignoreList":[0,1]}