/// import type { PublicLitElement as LitElement } from "@arcgis/lumina"; import type { T9nMeta } from "@arcgis/lumina/controllers"; /** * @cssproperty [--solutions-social-share-action-width] - Width of action button * @cssproperty [--solutions-social-share-width--s] - Width of component when scale is set to `s` * @cssproperty [--solutions-social-share-width--m] - Width of component when scale is set to `m` * @cssproperty [--solutions-social-share-width--l] - Width of component when scale is set to `l` * @cssproperty [--solutions-social-share-width-horizontal--s] - Width of component when `share-icons-layout` is set to `horizontal` and scale is set to 's' * @cssproperty [--solutions-social-share-width-horizontal--m] - Width of component when `share-icons-layout` is set to `horizontal` and scale is set to 'm' * @cssproperty [--solutions-social-share-width-horizontal--l] - Width of component when `share-icons-layout` is set to `horizontal` and scale is set to 'l' */ export abstract class SolutionSocialShare extends LitElement { /** * Contains the translations for this component. * All UI strings should be defined here. * * @internal */ protected _translations: { share: { label: string; }; success: { label: string; url: string; }; options: { link: { label: string; tooltip: string; }; facebook: { label: string; tooltip: string; }; twitter: { label: string; tooltip: string; }; linkedIn: { label: string; tooltip: string; }; blueSky: { label: string; tooltip: string; }; }; } & T9nMeta<{ share: { label: string; }; success: { label: string; url: string; }; options: { link: { label: string; tooltip: string; }; facebook: { label: string; tooltip: string; }; twitter: { label: string; tooltip: string; }; linkedIn: { label: string; tooltip: string; }; blueSky: { label: string; tooltip: string; }; }; }>; /** * Control the apperance of the action * * @default 'transparent' */ accessor actionApperance: "solid" | "transparent" | undefined; /** * Auto update share URL. * * @default true */ accessor autoUpdateShareUrl: boolean; /** * Control the apperance of the button * * @default 'transparent' */ accessor buttonAppearance: "outline" | "outline-fill" | "solid" | "transparent" | undefined; /** * Configures the placement of the success message popover for the 'Copy Link' button. * See options here: https://github.com/Esri/calcite-components/blob/v1.0.0-beta.83/src/utils/popper.ts#L34 * * @default 'trailing' */ accessor inlineSuccessPopoverPlacement: any; /** * Renders tool as a popover with a trigger button, or inline to place in a custom container. * * @default 'popover' */ accessor mode: "inline" | "popover"; /** * Adjusts the scale of the popover button icon. * * @default 'm' */ accessor popoverButtonIconScale: "l" | "m" | "s"; /** * Adjusts the overlay-positioning of the popover. * * @default 'absolute' */ accessor popoverPositioning: "absolute" | "fixed"; /** * Remove the pointer and set the vertical offset to 0 for the popover. * * @default false */ accessor removePopoverOffset: boolean; /** * Adjusts the scale of the component. * * @default 's' */ accessor scale: "l" | "m" | "s"; /** * Renders share button with 'inverse' | 'neutral' | 'brand option * * @default 'neutral' */ accessor shareButtonKind: "inverse" | "neutral" | "brand"; /** * Adjust scale of popover button * * @default 'm' */ accessor shareButtonScale: "l" | "m" | "s"; /** * Text to display in share button, not valid when shareButtonType = 'action' * * @default '' */ accessor shareButtonText: string; /** * Renders tool in popover mode with a trigger button or action * * @default 'button' */ accessor shareButtonType: "action" | "button"; /** * Display the share icons in a vertical or horizontal layout. * * @default 'vertical' */ accessor shareIconsLayout: "horizontal" | "vertical"; /** * Additional text to display when sharing to a social option * * @default '' */ accessor shareText: string; /** Generated share URL. Use this property to append custom URL parameters if needed. */ accessor shareUrl: string; /** * Shortens generated URL. * * @default true */ accessor shortenShareUrl: boolean; /** * Show/hide social media icons. * * @default true */ accessor socialMedia: boolean; /** * Solution ID for telemetry tracking * * @default '' */ accessor solutionId: string; /** * Solution title for telemetry tracking * * @default '' */ accessor solutionTitle: string; /** * Solution version for telemetry tracking * * @default '' */ accessor solutionVersion: string; /** * Provides an alternate to the success.url message 'App URL copied to clipboard.' * * @default '' */ accessor successMessage: string; }