UNPKG

@ribajs/bs5

Version:

Bootstrap 5 module for Riba.js

75 lines (74 loc) 2.5 kB
import { Component, TemplateFunction, ScopeBase } from "@ribajs/core"; import { ShareItem, ShareUrlType } from "../../types/index.js"; import { Dropdown } from "@ribajs/bs5"; export interface Scope extends ScopeBase { type: ShareUrlType; title: string; text: string; url?: string; label: string; labelTemplate: string; filename?: string; isAndroid: boolean; isIos: boolean; isDesktop: boolean; isNative: boolean; dropdownId: string; shareItems: ShareItem[]; dropdownDirection: "up" | "down" | "start" | "end"; dropdownAlignment: "end" | "start" | "auto"; labelFacebook: string; labelTwitter: string; labelPinterest: string; labelWhatsapp: string; labelTelegram: string; labelEmail: string; labelDownload: string; labelClipboard: string; shareOnService: Bs5ShareComponent["shareOnService"]; share: Bs5ShareComponent["share"]; getFilename: Bs5ShareComponent["getFilename"]; } export interface NavigatorShareParam { url: string; text: string; title: string; } declare global { interface Navigator { share: (data?: ShareData) => Promise<void>; } } export declare class Bs5ShareComponent extends Component { static tagName: string; _debug: boolean; static get observedAttributes(): string[]; protected dropdown?: Dropdown; static count: number; scope: Scope; constructor(); getFilename(item: ShareItem): string | undefined; protected getDefaultShareServices(): ShareItem[]; protected isIos(): boolean; protected isAndroid(): boolean; protected browserSupportsNativeShare(): boolean; protected getScopeDefaults(): Scope; protected onExternalOpenEvent(): void; protected onExternalCloseEvent(): void; protected connectedCallback(): void; protected disconnectedCallback(): void; protected addEventListeners(): void; protected removeEventListeners(): void; protected getURLForShare(): string; protected getMediaUrlForShare(): string; protected getTextForShare(): string; protected getTitleForShare(): string; protected updateShareURLs(): void; protected initDropdown(): void; shareOnService(item: ShareItem, event: Event): Promise<boolean>; share(event: Event): Promise<any>; protected beforeBind(): Promise<void>; protected afterBind(): Promise<void>; protected requiredAttributes(): string[]; protected template(): ReturnType<TemplateFunction>; }