import { ShareButtonViewProps } from "./sqm-share-button-view"; import { DemoData } from "../../global/demo"; /** * @uiName Share Button * @validParents ["sqm-portal-container","div","sqm-divided-layout","sqm-brand","template","sqm-hero","sqb-program-section","sqb-conditional-section"] * @slots [{"name":"", "title":"Button Content"}] * @slotEditor richText * @uiOrder ["medium", "program-id", "*", "pill", "disabled", "hideicon"] * @exampleGroup Sharing * @example Facebook Share Button - Share on Facebook * @example X Share Button - Share via X * @example Email Share Button - Share via Email * @example Mobile Share Sheet Button - Share * @example LinkedIn Share Button - Share on LinkedIn * @example SMS Share Button - Text a friend * @example Messenger Share Button - Share via Messenger * @example WhatsApp Share Button - Share via WhatsApp * @example LINE Share Button - Share via Line Messenger * @example Pinterest Share Button - Share on Pinterest * @csspart button-base - The button base, stable across all button style variants * @csspart icon - The share button icon */ export declare class ShareButton { /** * The social medium to share on. Share messages and links * will be pulled from your program config and tagged for analytics. * * @uiName Share medium * @uiType string * @required * @uiEnum ["facebook", "twitter", "email", "direct", "linkedin", "sms", "fbmessenger", "whatsapp", "linemessenger", "pinterest" ] * @uiEnumNames ["Facebook", "X", "Email", "Web Share Sheet", "Linkedin", "SMS", "Facebook Messenger", "Whatsapp", "Line Messenger", "Pinterest"] */ medium: "facebook" | "twitter" | "email" | "direct" | "linkedin" | "sms" | "fbmessenger" | "whatsapp" | "linemessenger" | "pinterest" | "reminder" | "unknown"; /** * Optional programId, or uses the programId context where this button is rendered. * * @uiName Program ID * @uiWidget programSelector */ programId?: string; /** * Configure border radius with pixel amount * @uiName Border radius * @uiGroup Style */ borderradius?: number; /** * @uiName Button background color * @uiWidget color * @format color * @uiGroup Style */ backgroundcolor?: string; /** * @uiName Border * @uiGroup Style */ border?: string; /** * @uiName Button text color * @uiWidget color * @format color * @uiGroup Style */ textcolor?: string; /** * @uiName Display pill * @uiGroup Style */ pill?: boolean; /** * @uiName Disabled */ disabled?: boolean; /** * @uiType string * @uiName Button style * @uiEnum ["primary", "secondary", "success", "info", "warning", "danger", "default", "text" ] * @uiEnumNames ["Primary", "Secondary", "Success", "Info", "Warning", "Danger", "Default", "Text"] */ type?: "primary" | "secondary" | "success" | "info" | "warning" | "danger" | "default" | "text"; /** * @uiName Button size * @uiType string * @uiEnum ["small", "medium", "large" ] * @uiEnumNames ["Small", "Medium", "Large"] * @uiGroup Style */ size?: "small" | "medium" | "large"; /** * @uiName Icon location * @uiType string * @uiEnum ["prefix", "suffix" ] * @uiEnumNames ["Prefix", "Suffix"] */ iconslot?: "prefix" | "suffix"; /** * Options available at https://shoelace.style/components/icon * * Icon used in button. Will try to select an icon based on the share medium if left empty. * * @uiName Icon */ icon?: string; /** * @uiName Hide icon * @uiGroup Style * @default */ hideicon?: boolean; /** * @uiName Hide text * @uiGroup Style * @default */ hidetext?: boolean; /** * Title used for native sharing (mobile only) * @uiName Share title */ sharetitle?: string; /** * Text used for native sharing (mobile only) * @uiName Share text */ sharetext?: string; /** * Alert text shown if the share link is undefined * @uiName Undefined link text */ undefinedLinkText?: string; /** * Alert text shown if the user's device does not support native sharing * @uiName Unsupported platform text */ unsupportedPlatformText?: string; /** * @undocumented * @uiType object */ demoData?: DemoData; constructor(); disconnectedCallback(): void; render(): any; }