UNPKG

ngx-sharebuttons

Version:

<p align="center"> <img height="200px" width="200px" style="text-align: center;" src="https://rawcdn.githack.com/MurhafSousli/ngx-sharebuttons/13279ed77c47fe9dd7b61e4dad3ded6d02488c2f/projects/ngx-sharebuttons-demo/src/assets/img/logo.svg"> <h1 alig

1 lines 11.9 kB
{"version":3,"file":"ngx-sharebuttons-buttons.mjs","sources":["../../../projects/ngx-sharebuttons/buttons/src/expand-button.ts","../../../projects/ngx-sharebuttons/buttons/src/share-buttons.ts","../../../projects/ngx-sharebuttons/buttons/src/share-buttons.html","../../../projects/ngx-sharebuttons/buttons/src/ngx-sharebuttons-buttons.ts"],"sourcesContent":["import {\r\n Component,\r\n output,\r\n input,\r\n InputSignal,\r\n OutputEmitterRef,\r\n ChangeDetectionStrategy\r\n} from '@angular/core';\r\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\r\nimport { ShareButtonsConfig } from 'ngx-sharebuttons';\r\n\r\n@Component({\r\n selector: 'expand-button',\r\n template: `\r\n <button class=\"sb-wrapper sb-expand sb-show-icon\"\r\n [attr.aria-label]=\"expand() ? options().lessButtonAriaLabel : options().moreButtonAriaLabel\"\r\n (click)=\"expandChange.emit(!expand())\">\r\n\r\n <div class=\"sb-content\">\r\n <div class=\"sb-icon\">\r\n <fa-icon [icon]=\"expand() ? options().lessButtonIcon : options().moreButtonIcon\"/>\r\n </div>\r\n </div>\r\n </button>\r\n `,\r\n styleUrl: '../../button/src/share-button.scss',\r\n styles: `\r\n :host {\r\n --button-color: var(--sb-expand-button-color, #FF6651);\r\n }\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [FaIconComponent]\r\n})\r\nexport class ExpandButton {\r\n\r\n options: InputSignal<ShareButtonsConfig> = input<ShareButtonsConfig>();\r\n\r\n expand: InputSignal<boolean> = input<boolean>();\r\n\r\n expandChange: OutputEmitterRef<boolean> = output<boolean>();\r\n\r\n}\r\n","import {\r\n Component,\r\n inject,\r\n output,\r\n computed,\r\n numberAttribute,\r\n booleanAttribute,\r\n input,\r\n model,\r\n Signal,\r\n InputSignal,\r\n ModelSignal,\r\n OutputEmitterRef,\r\n InputSignalWithTransform,\r\n ChangeDetectionStrategy\r\n} from '@angular/core';\r\nimport {\r\n ShareButtonsConfig,\r\n ShareButtonProp,\r\n SHARE_BUTTONS,\r\n SHARE_BUTTONS_CONFIG\r\n} from 'ngx-sharebuttons';\r\nimport { ShareButton } from 'ngx-sharebuttons/button';\r\nimport { ExpandButton } from './expand-button';\r\n\r\n@Component({\r\n selector: 'share-buttons',\r\n templateUrl: './share-buttons.html',\r\n styleUrl: './share-buttons.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [ShareButton, ExpandButton]\r\n})\r\nexport class ShareButtons {\r\n\r\n /** Global default options */\r\n readonly options: ShareButtonsConfig = inject(SHARE_BUTTONS_CONFIG);\r\n\r\n /** Numbers of buttons to show */\r\n show: InputSignalWithTransform<number, number | string> = input<number, number | string>(Object.values(SHARE_BUTTONS).length, { transform: numberAttribute });\r\n\r\n /** Array of included buttons */\r\n include: InputSignal<ShareButtonProp[]> = input<ShareButtonProp[]>(this.options.include || []);\r\n\r\n /** Array of excluded buttons */\r\n exclude: InputSignal<ShareButtonProp[]> = input<ShareButtonProp[]>(this.options.exclude || []);\r\n\r\n expanded: ModelSignal<boolean> = model<boolean>(false);\r\n\r\n selectedButtons: Signal<ShareButtonProp[]> = computed(() => {\r\n const includedButtons: ShareButtonProp[] = this.include().length ? this.include() : Object.keys(SHARE_BUTTONS);\r\n return includedButtons.filter((btn: ShareButtonProp) => this.exclude().indexOf(btn) < 0);\r\n });\r\n\r\n displayButtons: Signal<ShareButtonProp[]> = computed(() => {\r\n const selectedButtons: ShareButtonProp[] = this.selectedButtons()\r\n return selectedButtons.slice(0, this.expanded() ? selectedButtons.length : this.show());\r\n });\r\n\r\n theme: InputSignal<string> = input<string>(this.options.theme);\r\n\r\n /** The sharing link */\r\n url: InputSignal<string> = input<string>();\r\n\r\n /** The title parameter */\r\n title: InputSignal<string> = input<string>();\r\n\r\n /** The description parameter */\r\n description: InputSignal<string> = input<string>();\r\n\r\n /** The image parameter for sharing on Pinterest */\r\n image: InputSignal<string> = input<string>();\r\n\r\n /** The tags parameter for sharing on X and Tumblr */\r\n tags: InputSignal<string> = input<string>();\r\n\r\n /** Sets the fb messenger redirect url to enable sharing on Messenger desktop */\r\n redirectUrl: InputSignal<string> = input<string>();\r\n\r\n /** Show buttons icons */\r\n showIcon: InputSignalWithTransform<boolean, boolean | string> = input<boolean, boolean | string>(true, {\r\n transform: booleanAttribute\r\n });\r\n\r\n /** Show buttons text */\r\n showText: InputSignalWithTransform<boolean, boolean | string> = input<boolean, boolean | string>(false, {\r\n transform: booleanAttribute\r\n });\r\n\r\n /** A flag that indicates if the button's click is disabled */\r\n disabled: InputSignalWithTransform<boolean, boolean | string> = input<boolean, boolean | string>(false, {\r\n transform: booleanAttribute\r\n });\r\n\r\n /** Share dialog opened event */\r\n opened: OutputEmitterRef<string> = output<string>();\r\n\r\n}\r\n\r\n/**\r\n * Explanation of the above code:\r\n * ------------------------------\r\n Include buttons: includes only wanted buttons and excludes the rest\r\n Exclude buttons: excludes only the unwanted buttons\r\n User buttons = Include buttons - exclude buttons\r\n Selected Buttons = User buttons [shown number]\r\n */\r\n","<div class=\"sb-group sb-{{ theme() }}\">\r\n @for (button of displayButtons(); track button) {\r\n <share-button [button]=\"button\"\r\n [theme]=\"theme()\"\r\n [url]=\"url()\"\r\n [title]=\"title()\"\r\n [description]=\"description()\"\r\n [image]=\"image()\"\r\n [tags]=\"tags()\"\r\n [redirectUrl]=\"redirectUrl()\"\r\n [showIcon]=\"showIcon()\"\r\n [showText]=\"showText()\"\r\n (opened)=\"opened.emit($event)\"\r\n [disabled]=\"disabled()\"/>\r\n }\r\n @if (show() < selectedButtons().length) {\r\n <expand-button class=\"sb-button sb-{{ theme() }}\"\r\n [options]=\"options\"\r\n [(expand)]=\"expanded\"/>\r\n }\r\n</div>\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}