import { ElementRef, QueryList } from '@angular/core'; import { TsDocumentService, TsWindowService } from '@terminus/ngx-tools/browser'; import { TsTooltipComponent } from '@terminus/ui/tooltip'; import { TsStyleThemeTypes } from '@terminus/ui/utilities'; /** * The possible display formats for {@link TsCopyComponent} */ export declare type TsCopyDisplayFormat = 'standard' | 'minimal' | 'icon'; /** * A component to facilitate the easy copying of text * * @example * My text to copy! * * https://getterminus.github.io/ui-demos-release/components/copy */ export declare class TsCopyComponent { private documentService; private windowService; /** * Store a reference to the document object */ private document; /** * Internal flag to track if the contents have been selected */ hasSelected: boolean; /** * Define the copy icon */ icon: string; /** * Define the color of the material ripple */ rippleColor: string; /** * Store a reference to the window object */ private window; /** * Define access to the wrapper around the content to be copied */ content: ElementRef; /** * Define access to all tooltip instances */ tooltipCollection: QueryList; /** * Define if the initial click should select the contents */ disableInitialSelection: boolean; /** * Define if the copy to clipboard functionality is enabled */ enableQuickCopy: boolean; /** * Define the UI style * * @param value */ set format(value: TsCopyDisplayFormat); get format(): TsCopyDisplayFormat; private _format; /** * Define the component theme */ theme: TsStyleThemeTypes; /** * Inject services * * @param documentService * @param windowService */ constructor(documentService: TsDocumentService, windowService: TsWindowService); /** * Return the inner text content * * @returns The text content of the inner */ get textContent(): string; /** * Select the text content of the passed in element * * @param element - The element whose text should be selected * @param hasSelected - The flag defining if the selection has already been made * @param disabled - The flag defining if the selection functionality should be disabled * @returns The value representing if the copy was successful */ selectText(element: ElementRef, hasSelected: boolean, disabled: boolean): boolean; /** * Reset the text selection * NOTE: The containing div must have a `tabindex` set or no blur event will be fired */ resetSelection(): void; /** * Copy text to the user's clipboard * * @param text - The text to copy */ copyToClipboard(text: string): void; }