SYMBOL INDEX (401 symbols across 133 files) FILE: source/background/library/domain.ts function extractDomainFromCredentials (line 3) | function extractDomainFromCredentials(credentials: UsedCredentials): str... FILE: source/background/services/autoLogin.ts type RegisteredItem (line 4) | interface RegisteredItem { constant REGISTER_MAX_AGE (line 9) | const REGISTER_MAX_AGE = 30 * 1000; function getAutoLoginForTab (line 13) | function getAutoLoginForTab(tabID: number): SearchResult | null { function getRegister (line 24) | function getRegister(): ExpiryMap { function registerAutoLogin (line 31) | function registerAutoLogin(entry: SearchResult, tabID: number): void { FILE: source/background/services/config.ts constant DEFAULTS (line 5) | const DEFAULTS: Configuration = { function getConfig (line 15) | function getConfig(): Configuration { function initialise (line 22) | async function initialise() { function updateConfigValue (line 26) | async function updateConfigValue(key: T, ... function updateConfigWithDefaults (line 34) | async function updateConfigWithDefaults(): Promise { FILE: source/background/services/crypto.ts function decryptPayload (line 4) | async function decryptPayload( function encryptPayload (line 15) | async function encryptPayload( FILE: source/background/services/cryptoKeys.ts function createKeys (line 9) | async function createKeys(): Promise<{ function deriveSecretKey (line 31) | async function deriveSecretKey(privateKey: CryptoKey, publicKey: CryptoK... function exportECDHKey (line 54) | async function exportECDHKey(key: CryptoKey): Promise { function generateKeys (line 63) | async function generateKeys(): Promise { function importECDHKey (line 79) | async function importECDHKey(key: string): Promise { FILE: source/background/services/desktop/actions.ts function authenticateBrowserAccess (line 8) | async function authenticateBrowserAccess(code: string): Promise { function getEntrySearchResults (line 32) | async function getEntrySearchResults( function getOTPs (line 49) | async function getOTPs(): Promise> { function getVaultSources (line 61) | async function getVaultSources(): Promise> { function getVaultsTree (line 73) | async function getVaultsTree(): Promise { function hasConnection (line 94) | async function hasConnection(): Promise { function initiateConnection (line 99) | async function initiateConnection(): Promise { function promptSourceLock (line 111) | async function promptSourceLock(sourceID: VaultSourceID): Promise { function saveExistingEntry (line 131) | async function saveExistingEntry( function saveNewEntry (line 148) | async function saveNewEntry( function searchEntriesByURL (line 169) | async function searchEntriesByURL(url: string): Promise { FILE: source/background/services/desktop/header.ts function generateAuthHeader (line 5) | async function generateAuthHeader(): Promise { FILE: source/background/services/desktop/request.ts type OutputType (line 8) | type OutputType = "body" | "status" | undefined; type DesktopRequestConfig (line 10) | interface DesktopRequestConfig { constant DESKTOP_URL_BASE (line 18) | const DESKTOP_URL_BASE = `http://localhost:${DESKTOP_API_PORT}`; function sendDesktopRequest (line 27) | async function sendDesktopRequest( FILE: source/background/services/disabledDomains.ts function disableLoginsOnDomain (line 4) | async function disableLoginsOnDomain(domain: string): Promise { function getDisabledDomains (line 10) | async function getDisabledDomains(): Promise> { function removeDisabledFlagForDomain (line 15) | async function removeDisabledFlagForDomain(domain: string): Promise { FILE: source/background/services/entry.ts function openEntryPageInNewTab (line 5) | async function openEntryPageInNewTab(_: SearchResult, url: string): Prom... FILE: source/background/services/init.ts type Initialisation (line 11) | enum Initialisation { function initialise (line 20) | async function initialise(): Promise { function resetInitialisation (line 35) | async function resetInitialisation(): Promise { function waitForInitialisation (line 41) | async function waitForInitialisation(): Promise { FILE: source/background/services/log.ts constant LOG_NAME (line 3) | const LOG_NAME = "buttercup:browser:background"; function log (line 7) | function log(...args: Array): void { FILE: source/background/services/loginMemory.ts type LoginMemoryItem (line 6) | interface LoginMemoryItem { constant LOGIN_MAX_AGE (line 11) | const LOGIN_MAX_AGE = 15 * 60 * 1000; function clearCredentials (line 15) | function clearCredentials(id: string): void { function credentialsAlreadyStored (line 28) | async function credentialsAlreadyStored(credentials: UsedCredentials): P... function getAllCredentials (line 49) | function getAllCredentials(): Array { function getCredentialsForID (line 59) | function getCredentialsForID(id: string): UsedCredentials | null { function getLastCredentials (line 64) | function getLastCredentials(tabID: number): UsedCredentials | null { function getLoginMemory (line 71) | function getLoginMemory(): ExpiryMap { function stopPromptForID (line 78) | function stopPromptForID(id: string): void { function updateUsedCredentials (line 102) | function updateUsedCredentials(credentials: UsedCredentials, tabID: numb... FILE: source/background/services/messaging.ts function handleMessage (line 50) | async function handleMessage( function initialise (line 403) | function initialise() { FILE: source/background/services/notifications.ts function getPendingNotifications (line 6) | async function getPendingNotifications(): Promise> { function markNotificationRead (line 12) | async function markNotificationRead(name: string): Promise { function showPendingNotifications (line 21) | async function showPendingNotifications(): Promise { FILE: source/background/services/recents.ts type RecentItem (line 7) | interface RecentItem { constant MAX_USE_AGE (line 13) | const MAX_USE_AGE = ms("30d"); function getQueue (line 17) | function getQueue(): ChannelQueue { function getRecents (line 24) | async function getRecents(sourceIDs: Array): Promise): Array { function trackRecentUsage (line 52) | async function trackRecentUsage(sourceID: VaultSourceID, entryID: EntryI... FILE: source/background/services/storage.ts constant VALID_LOCAL_KEYS (line 5) | const VALID_LOCAL_KEYS = Object.values(LocalStorageItem); constant VALID_SYNC_KEYS (line 6) | const VALID_SYNC_KEYS = Object.values(SyncStorageItem); function clearLocalStorage (line 8) | async function clearLocalStorage(): Promise { function getLocalStorage (line 19) | function getLocalStorage(): BrowserStorageInterface { function getLocalValue (line 23) | async function getLocalValue(key: LocalStorageItem): Promise { function getSynchronisedStorage (line 31) | function getSynchronisedStorage(): BrowserStorageInterface { function initialise (line 35) | async function initialise() { function removeLocalValue (line 60) | async function removeLocalValue(key: LocalStorageItem): Promise { function removeSyncValue (line 64) | async function removeSyncValue(key: SyncStorageItem): Promise { function setLocalValue (line 68) | async function setLocalValue(key: LocalStorageItem, value: string): Prom... function setSyncValue (line 72) | async function setSyncValue(key: SyncStorageItem, value: string): Promis... FILE: source/background/services/storage/BrowserStorageInterface.ts function getSyncStorage (line 4) | function getSyncStorage() { function getNonSyncStorage (line 8) | function getNonSyncStorage() { class BrowserStorageInterface (line 12) | class BrowserStorageInterface extends StorageInterface { method constructor (line 15) | constructor(storage: chrome.storage.StorageArea = getSyncStorage()) { method storage (line 20) | get storage() { method getAllKeys (line 24) | async getAllKeys() { method getValue (line 32) | async getValue(name: string) { method removeKey (line 40) | async removeKey(name: string) { method setValue (line 46) | async setValue(name: string, value: any) { FILE: source/background/services/tabs.ts function sendTabsMessage (line 4) | async function sendTabsMessage(payload: TabEvent, tabIDs: Array ... FILE: source/background/types.ts type LocalStorageItem (line 3) | enum LocalStorageItem { type SyncStorageItem (line 10) | enum SyncStorageItem { FILE: source/full/components/App.tsx constant ROUTER (line 15) | const ROUTER = createHashRouter([ function App (line 48) | function App() { FILE: source/full/components/Layout.tsx type LayoutProps (line 8) | interface LayoutProps { function Layout (line 50) | function Layout({ children, title }: LayoutProps) { FILE: source/full/components/pages/AttributionsPage.tsx function AttributionsPage (line 19) | function AttributionsPage() { FILE: source/full/components/pages/DisabledDomainsPage.tsx function DisabledDomainsPage (line 36) | function DisabledDomainsPage() { FILE: source/full/components/pages/NotificationsPage.tsx function NotificationsPage (line 11) | function NotificationsPage() { FILE: source/full/components/pages/connect/CodeInput.tsx type CodeInputProps (line 6) | interface CodeInputProps { function CodeInput (line 22) | function CodeInput(props: CodeInputProps) { FILE: source/full/components/pages/connect/ConnectPage.tsx function ConnectPage (line 12) | function ConnectPage() { FILE: source/full/components/pages/connect/index.tsx function ConnectPage (line 5) | function ConnectPage() { FILE: source/full/components/pages/saveCredentials/CredentialsSaver.tsx type CredentialsSaverProps (line 15) | interface CredentialsSaverProps { type NodeInfo (line 22) | interface NodeInfo { function buildGroupNodes (line 38) | function buildGroupNodes( function buildVaultRootNodes (line 103) | function buildVaultRootNodes( function countGroupChildren (line 122) | function countGroupChildren( function CredentialsSaver (line 139) | function CredentialsSaver(props: CredentialsSaverProps) { FILE: source/full/components/pages/saveCredentials/CredentialsSelector.tsx type CredentialsSelectorProps (line 11) | interface CredentialsSelectorProps { constant URL (line 64) | const URL = styled.span` function CredentialsSelector (line 68) | function CredentialsSelector(props: CredentialsSelectorProps) { FILE: source/full/components/pages/saveCredentials/NewEntrySavePrompt.tsx type NewEntrySavePromptProps (line 9) | interface NewEntrySavePromptProps { function isValidInput (line 37) | function isValidInput(input: string): boolean { function NewEntrySavePrompt (line 41) | function NewEntrySavePrompt(props: NewEntrySavePromptProps) { FILE: source/full/components/pages/saveCredentials/index.tsx type TabID (line 14) | enum TabID { function SaveCredentialsPage (line 19) | function SaveCredentialsPage() { FILE: source/full/hooks/credentials.ts function useCapturedCredentials (line 5) | function useCapturedCredentials(): [ FILE: source/full/hooks/disabledDomains.ts constant REFRESH_DELAY (line 4) | const REFRESH_DELAY = 2500; function useDisabledDomains (line 6) | function useDisabledDomains( FILE: source/full/hooks/document.ts constant TITLE_SEPARATOR (line 3) | const TITLE_SEPARATOR = "⋅"; function useTitle (line 7) | function useTitle(title: string) { FILE: source/full/hooks/vaultContents.ts function vaultTreesDiffer (line 5) | function vaultTreesDiffer(existingValue: VaultsTree, newValue: VaultsTre... function useAllVaultsContents (line 25) | function useAllVaultsContents(): { FILE: source/full/services/credentials.ts function clearSavedCredentials (line 6) | async function clearSavedCredentials(id: string): Promise { function getCredentials (line 16) | async function getCredentials(): Promise> { function saveCredentialsToEntry (line 26) | async function saveCredentialsToEntry(credentials: SavedCredentials): Pr... FILE: source/full/services/disabledDomains.ts function getDisabledDomains (line 5) | async function getDisabledDomains(): Promise> { function removeDisabledDomain (line 15) | async function removeDisabledDomain(domain: string): Promise { FILE: source/full/services/init.ts function initialise (line 5) | async function initialise() { FILE: source/full/services/log.ts constant LOG_NAME (line 3) | const LOG_NAME = "buttercup:browser:page"; function log (line 7) | function log(...args: Array): void { FILE: source/full/services/notifications.ts function updateReadNotifications (line 5) | async function updateReadNotifications(notificationName: string): Promis... FILE: source/full/services/vaults.ts function getVaultsTree (line 5) | async function getVaultsTree(): Promise { FILE: source/popup/components/App.tsx constant ROUTER (line 18) | const ROUTER = createHashRouter([ function App (line 45) | function App() { function InPageApp (line 55) | function InPageApp() { function SavePromptApp (line 80) | function SavePromptApp() { function ToolbarApp (line 92) | function ToolbarApp() { FILE: source/popup/components/contexts/LaunchContext.tsx type LaunchContextProps (line 3) | interface LaunchContextProps { type LaunchContextDefaultValue (line 11) | interface LaunchContextDefaultValue { function LaunchContextProvider (line 21) | function LaunchContextProvider(props: LaunchContextProps) { FILE: source/popup/components/entries/EntryInfoDialog.tsx type EntryInfoDialogProps (line 11) | interface EntryInfoDialogProps { type EntryProperty (line 16) | interface EntryProperty { function EntryInfoDialog (line 38) | function EntryInfoDialog(props: EntryInfoDialogProps) { function orderProperties (line 95) | function orderProperties(properties: Record): Array { function useOTPs (line 74) | function useOTPs(): [Array, boolean] { function useRecentEntries (line 111) | function useRecentEntries(): Array { function useSearchedEntries (line 126) | function useSearchedEntries(term: string): Array { function useVaultSources (line 154) | function useVaultSources(): Array { FILE: source/popup/hooks/document.ts function useBodyClass (line 3) | function useBodyClass(className: string): void { FILE: source/popup/hooks/otp.ts type PreparedOTP (line 8) | interface PreparedOTP extends OTP { function getPeriodTimeLeft (line 15) | function getPeriodTimeLeft(period: number): number { function usePreparedOTPs (line 19) | function usePreparedOTPs(otps: Array): Array { FILE: source/popup/hooks/tab.ts function useCurrentTabURL (line 5) | function useCurrentTabURL(): [loading: boolean, url: string | null] { FILE: source/popup/queries/desktop.ts function clearDesktopConnectionAuth (line 6) | async function clearDesktopConnectionAuth(): Promise { function getDesktopConnectionAvailable (line 15) | async function getDesktopConnectionAvailable(): Promise { function getOTPs (line 25) | async function getOTPs(): Promise> { function getRecentEntries (line 35) | async function getRecentEntries(): Promise> { function getVaultSources (line 46) | async function getVaultSources(): Promise> { function initiateDesktopConnectionRequest (line 56) | async function initiateDesktopConnectionRequest(): Promise { function promptLockVault (line 65) | async function promptLockVault(sourceID: VaultSourceID): Promise { function promptUnlockVault (line 76) | async function promptUnlockVault(sourceID: VaultSourceID): Promise { function searchEntriesByTerm (line 86) | async function searchEntriesByTerm(term: string): Promise { FILE: source/popup/queries/loginMemory.ts function clearSavedLoginPrompt (line 5) | async function clearSavedLoginPrompt(loginID: string): Promise { FILE: source/popup/services/clipboard.ts function copyTextToClipboard (line 3) | async function copyTextToClipboard(text: string): Promise { FILE: source/popup/services/entry.ts function openPageForEntry (line 6) | async function openPageForEntry(item: SearchResult, autoLogin: boolean):... FILE: source/popup/services/init.ts function initialise (line 5) | async function initialise() { FILE: source/popup/services/log.ts constant LOG_NAME (line 3) | const LOG_NAME = "buttercup:browser:popup"; function log (line 7) | function log(...args: Array): void { FILE: source/popup/services/recents.ts function trackEntryRecentUse (line 6) | async function trackEntryRecentUse(item: SearchResult): Promise { FILE: source/popup/services/reset.ts function resetApplicationSettings (line 5) | async function resetApplicationSettings(): Promise { FILE: source/popup/services/tab.ts function sendEntryResultToTabForInput (line 9) | function sendEntryResultToTabForInput(formID: string, entry: SearchResul... function sendOTPToTabForInput (line 23) | function sendOTPToTabForInput(formID: string, otp: OTP): void { function sendTabEvent (line 47) | function sendTabEvent(event: TabEvent, target: MessageEventSource = wind... FILE: source/popup/state/app.ts constant APP_STATE (line 4) | const APP_STATE = createStateObject<{ FILE: source/popup/types.ts type DesktopConnectionState (line 1) | enum DesktopConnectionState { FILE: source/shared/components/ConfirmDialog.tsx type ConfirmDialogProps (line 7) | interface ConfirmDialogProps { function ConfirmDialog (line 21) | function ConfirmDialog(props: ConfirmDialogProps) { FILE: source/shared/components/ErrorBoundary.tsx function stripBlanks (line 17) | function stripBlanks(txt = "") { class ErrorBoundary (line 24) | class ErrorBoundary extends Component { method getDerivedStateFromError (line 25) | static getDerivedStateFromError(error: Error) { method componentDidCatch (line 37) | componentDidCatch(error: Error, errorInfo) { method render (line 41) | render() { FILE: source/shared/components/ErrorMessage.tsx type ErrorMessageProps (line 5) | interface ErrorMessageProps { function ErrorMessage (line 18) | function ErrorMessage(props: ErrorMessageProps) { FILE: source/shared/components/RouteError.tsx function stripBlanks (line 18) | function stripBlanks(txt = "") { function RouteError (line 25) | function RouteError() { FILE: source/shared/components/ThemeProvider.tsx type ThemeProviderProps (line 6) | interface ThemeProviderProps { function ThemeProvider (line 11) | function ThemeProvider(props: ThemeProviderProps) { FILE: source/shared/components/loading/BusyLoader.tsx type BusyLoaderProps (line 6) | interface BusyLoaderProps { function BusyLoader (line 23) | function BusyLoader(props: BusyLoaderProps) { FILE: source/shared/extension.ts function getExtensionAPI (line 1) | function getExtensionAPI(): typeof chrome { FILE: source/shared/hooks/async.ts type AsyncResult (line 4) | interface AsyncResult { function useAsync (line 10) | function useAsync( function useAsyncWithTimer (line 93) | function useAsyncWithTimer( FILE: source/shared/hooks/config.ts function useConfig (line 8) | function useConfig(): [ FILE: source/shared/hooks/global.ts type Globals (line 4) | interface Globals { function useGlobal (line 13) | function useGlobal(key: K): [Globals[K], (value... FILE: source/shared/hooks/theme.ts function useBodyThemeClass (line 7) | function useBodyThemeClass(theme: "dark" | "light"): void { function useTheme (line 25) | function useTheme(): "dark" | "light" { FILE: source/shared/hooks/timer.ts function useTimer (line 4) | function useTimer(callback: () => void, delay: number, dependencies: Dep... FILE: source/shared/i18n/trans.ts constant DEFAULT_LANGUAGE (line 6) | const DEFAULT_LANGUAGE = "en"; constant TRANSLATIONS (line 7) | const TRANSLATIONS = { function changeLanguage (line 13) | async function changeLanguage(lang: string) { function initialise (line 17) | async function initialise(lang: string) { function onLanguageChanged (line 34) | function onLanguageChanged(callback: (lang: string) => void): () => void { function t (line 42) | function t(key: string, options?: TOptions) { FILE: source/shared/library/buffer.ts function arrayBufferToHex (line 1) | function arrayBufferToHex(buffer: ArrayBuffer): string { function arrayBufferToString (line 5) | function arrayBufferToString(buffer: ArrayBuffer): string { function base64DecodeUnicode (line 9) | function base64DecodeUnicode(str: string): string { function base64EncodeUnicode (line 13) | function base64EncodeUnicode(str: string): string { function stringToArrayBuffer (line 17) | function stringToArrayBuffer(str: string): ArrayBuffer { FILE: source/shared/library/clone.ts function naiveClone (line 1) | function naiveClone | Record>(item: T)... function naiveCloneArray (line 8) | function naiveCloneArray>(arr: T): T { function naiveCloneObject (line 20) | function naiveCloneObject>(obj: T): T { FILE: source/shared/library/domain.ts function domainsReferToSameParent (line 4) | function domainsReferToSameParent(domain1: string, domain2: string): boo... function extractDomain (line 16) | function extractDomain(str: string): string { function extractEntryDomain (line 24) | function extractEntryDomain(entryProperties: PropertyKeyValueObject): st... FILE: source/shared/library/error.ts function errorToString (line 4) | function errorToString(error: Error | Layerr): string { function localisedErrorMessage (line 8) | function localisedErrorMessage(error: Error | Layerr): string { function stringToError (line 20) | function stringToError(error: Error | Layerr | string): Layerr | Error { FILE: source/shared/library/extension.ts function createNewTab (line 5) | async function createNewTab(url: string): Promise { function closeCurrentTab (line 15) | function closeCurrentTab() { function getAllTabs (line 23) | async function getAllTabs(): Promise> { function getCurrentTab (line 32) | async function getCurrentTab(): Promise { function getExtensionURL (line 41) | function getExtensionURL(path: string): string { function sendTabMessage (line 45) | async function sendTabMessage(tabID: number, message: any) { FILE: source/shared/library/i18n.ts function getLanguage (line 1) | function getLanguage(/*preferences: Preferences, locale: string*/): stri... FILE: source/shared/library/log.ts type Logger (line 3) | type Logger = ReturnType; function createLog (line 5) | function createLog(name: string, force: boolean = false): (...args: Arra... FILE: source/shared/library/otp.ts function extractFirstOTPURI (line 5) | function extractFirstOTPURI(entry: SearchResult): string | null { function otpURIToDigits (line 18) | function otpURIToDigits(uri: string): string { function searchResultToOTP (line 27) | function searchResultToOTP(entry: SearchResult): string | null { FILE: source/shared/library/url.ts function formatURL (line 1) | function formatURL(base: string): string { FILE: source/shared/library/vaultTypes.ts type VaultTypeDescription (line 7) | interface VaultTypeDescription { constant VAULT_TYPES (line 12) | const VAULT_TYPES: Record = { FILE: source/shared/library/version.ts constant BUILD_DATE (line 3) | const BUILD_DATE = "2024-04-09"; constant VERSION (line 4) | const VERSION = "3.2.0"; FILE: source/shared/notifications/index.ts constant NOTIFICATIONS (line 3) | const NOTIFICATIONS: Record JSX.Element]> = { constant NOTIFICATION_NAMES (line 7) | const NOTIFICATION_NAMES = Object.keys(NOTIFICATIONS); FILE: source/shared/notifications/pages/WelcomeV3.tsx constant TITLE (line 4) | const TITLE = "notifications.page.welcome-v3.title"; function Page (line 6) | function Page() { FILE: source/shared/queries/config.ts function getConfig (line 5) | async function getConfig(): Promise { function setConfigValue (line 18) | async function setConfigValue( FILE: source/shared/services/messaging.ts function sendBackgroundMessage (line 6) | async function sendBackgroundMessage( FILE: source/shared/services/notifications.ts function getToaster (line 7) | function getToaster(): ToasterInstance { FILE: source/shared/symbols.ts constant API_KEY_ALGO (line 1) | const API_KEY_ALGO = "ECDH"; constant API_KEY_CURVE (line 2) | const API_KEY_CURVE = "P-256"; constant BRAND_COLOUR (line 4) | const BRAND_COLOUR = "#00B7AC"; constant BRAND_COLOUR_DARK (line 5) | const BRAND_COLOUR_DARK = "#179E94"; constant DESKTOP_API_PORT (line 7) | const DESKTOP_API_PORT = 12822; constant MESSAGE_DEFAULT_TIMEOUT (line 9) | const MESSAGE_DEFAULT_TIMEOUT = 15000; FILE: source/shared/types.ts type AddVaultPayload (line 13) | interface AddVaultPayload { type BackgroundMessage (line 22) | interface BackgroundMessage { type BackgroundMessageType (line 45) | enum BackgroundMessageType { type BackgroundResponse (line 78) | interface BackgroundResponse { type ChildElement (line 94) | type ChildElement = ReactChild | ReactChildren | false | null; type ChildElements (line 95) | type ChildElements = ChildElement | Array; type Configuration (line 97) | interface Configuration { type ElementRect (line 105) | interface ElementRect { type InputButtonType (line 112) | enum InputButtonType { type InputType (line 117) | enum InputType { type OTP (line 122) | interface OTP { type PopupPage (line 132) | enum PopupPage { type SavedCredentials (line 140) | interface SavedCredentials extends UsedCredentials { type TabEvent (line 146) | interface TabEvent { type TabEventType (line 160) | enum TabEventType { type UsedCredentials (line 167) | interface UsedCredentials { type VaultSourceDescription (line 178) | interface VaultSourceDescription { type VaultsTree (line 187) | interface VaultsTree { type VaultsTreeItem (line 191) | interface VaultsTreeItem extends VaultFacade { type VaultType (line 195) | enum VaultType { FILE: source/tab/library/disable.ts function itemIsIgnored (line 1) | function itemIsIgnored(element: HTMLElement): boolean { FILE: source/tab/library/dismount.ts function onElementDismount (line 1) | function onElementDismount(el: HTMLElement, callback: () => void): void { FILE: source/tab/library/frames.ts function findIframeForWindow (line 1) | function findIframeForWindow(url: string): HTMLIFrameElement | null { FILE: source/tab/library/page.ts function currentDomainDisabled (line 3) | function currentDomainDisabled( function getCurrentDomain (line 13) | function getCurrentDomain(): string { function getCurrentTitle (line 17) | function getCurrentTitle(): string { function getCurrentURL (line 21) | function getCurrentURL(): string { FILE: source/tab/library/position.ts function getElementRectInDocument (line 3) | function getElementRectInDocument(el: HTMLElement): ElementRect { function recalculateRectForIframe (line 13) | function recalculateRectForIframe(rect: ElementRect, iframe: HTMLIFrameE... FILE: source/tab/library/resize.ts function onBodyResize (line 1) | function onBodyResize( function onBodyWidthResize (line 20) | function onBodyWidthResize(callback: (newWidth: number, lastWidth: numbe... FILE: source/tab/library/styles.ts constant CLEAR_STYLES (line 1) | const CLEAR_STYLES = { function findBestZIndexInContainer (line 8) | function findBestZIndexInContainer(parentElement: HTMLElement) { FILE: source/tab/library/zIndex.ts function findBestZIndexInContainer (line 1) | function findBestZIndexInContainer(parentElement: HTMLElement): number { FILE: source/tab/services/LoginTracker.ts type Connection (line 6) | interface Connection { type LoginTrackerEvents (line 16) | interface LoginTrackerEvents { class LoginTracker (line 22) | class LoginTracker extends EventEmitter { method title (line 27) | get title() { method url (line 31) | get url() { method getConnection (line 35) | getConnection(loginTarget: LoginTarget): Connection | null { method registerConnection (line 43) | registerConnection(loginTarget: LoginTarget) { function getSharedTracker (line 80) | function getSharedTracker(): LoginTracker { FILE: source/tab/services/autoLogin.ts function getAutoLogin (line 8) | async function getAutoLogin(): Promise { function processTargetAutoLogin (line 18) | async function processTargetAutoLogin(loginTarget: LoginTarget): Promise... FILE: source/tab/services/config.ts function getConfig (line 5) | async function getConfig(): Promise { FILE: source/tab/services/form.ts function fillFormDetails (line 11) | function fillFormDetails(frameEvent: FrameEvent) { function initialise (line 34) | async function initialise() { FILE: source/tab/services/formDetection.ts constant TARGET_SEARCH_INTERVAL (line 8) | const TARGET_SEARCH_INTERVAL = 1000; function filterLoginTarget (line 10) | function filterLoginTarget(_: LoginTargetFeature, element: HTMLElement):... function onIdentifiedTarget (line 17) | function onIdentifiedTarget(callback: (target: LoginTarget) => void) { function waitAndAttachLaunchButtons (line 39) | async function waitAndAttachLaunchButtons( FILE: source/tab/services/init.ts function initialise (line 5) | async function initialise() { FILE: source/tab/services/log.ts constant LOG_NAME (line 3) | const LOG_NAME = "buttercup:browser:tab"; function log (line 7) | function log(...args: Array): void { FILE: source/tab/services/logins/disabled.ts function getDisabledDomains (line 5) | async function getDisabledDomains(): Promise> { FILE: source/tab/services/logins/saving.ts function getCredentialsForID (line 5) | async function getCredentialsForID(id: string, excludeSaved: boolean = f... function getLastSavedCredentials (line 17) | async function getLastSavedCredentials(excludeSaved: boolean = false): P... function transferLoginCredentials (line 28) | function transferLoginCredentials(details: UsedCredentials) { FILE: source/tab/services/logins/watcher.ts function checkForLoginSaveAbility (line 11) | async function checkForLoginSaveAbility(loginID?: string) { function initialise (line 27) | async function initialise() { function watchCredentialsOnTarget (line 44) | function watchCredentialsOnTarget(loginTarget: LoginTarget): void { function watchLogin (line 73) | function watchLogin( FILE: source/tab/services/messaging.ts function broadcastFrameMessage (line 9) | function broadcastFrameMessage(event: FrameEvent): void { function initialise (line 13) | async function initialise() { function handleFramesBroadcast (line 20) | function handleFramesBroadcast(event: MessageEvent) { function handleTabMessage (line 30) | function handleTabMessage(payload: unknown) { function listenForTabEvents (line 44) | function listenForTabEvents(callback: (event: TabEvent) => void) { function sendTabEvent (line 55) | function sendTabEvent(event: TabEvent, destination: MessageEventSource):... FILE: source/tab/state/form.ts constant FORM (line 4) | const FORM = createStateObject<{ FILE: source/tab/state/frame.ts constant FRAME (line 3) | const FRAME = createStateObject<{ FILE: source/tab/types.ts type FrameEvent (line 5) | interface FrameEvent { type FrameEventType (line 16) | enum FrameEventType { FILE: source/tab/ui/launch.ts constant BUTTON_BACKGROUND_IMAGE (line 11) | const BUTTON_BACKGROUND_IMAGE = getExtensionURL(BUTTON_BACKGROUND_IMAGE_... constant INPUT_BACKGROUND_IMAGE (line 12) | const INPUT_BACKGROUND_IMAGE = getExtensionURL(INPUT_BACKGROUND_IMAGE_RES); function attachLaunchButton (line 14) | function attachLaunchButton( function renderInternalStyle (line 41) | function renderInternalStyle(input: HTMLInputElement, onClick: () => voi... function renderButtonStyle (line 81) | function renderButtonStyle(input: HTMLInputElement, onClick: () => void,... function updateOffsetParentPositioning (line 154) | function updateOffsetParentPositioning(offsetParent: HTMLElement): void { FILE: source/tab/ui/popup.ts type LastPopup (line 9) | interface LastPopup { constant CLEAR_STYLES (line 15) | const CLEAR_STYLES = { constant POPUP_HEIGHT (line 21) | const POPUP_HEIGHT = 300; constant POPUP_WIDTH (line 22) | const POPUP_WIDTH = 320; function buildNewPopup (line 26) | function buildNewPopup(inputRect: ElementRect, forInputType: InputType) { function closePopup (line 73) | function closePopup() { function togglePopup (line 81) | function togglePopup(inputRect: ElementRect, forInputType: InputType) { function updatePopupPosition (line 90) | function updatePopupPosition(inputRect: ElementRect): void { FILE: source/tab/ui/saveDialog.ts type LastSaveDialog (line 5) | interface LastSaveDialog { constant CLEAR_STYLES (line 11) | const CLEAR_STYLES = { constant DIALOG_WIDTH (line 17) | const DIALOG_WIDTH = 380; constant DIALOG_HEIGHT (line 18) | const DIALOG_HEIGHT = 230; function buildNewSaveDialog (line 22) | function buildNewSaveDialog(loginID: string) { function closeDialog (line 60) | function closeDialog() { function openDialog (line 67) | function openDialog(loginID: string) { FILE: webpack.config.js constant V3_BROWSERS (line 18) | const V3_BROWSERS = ["chrome", "edge"]; constant DIST (line 21) | const DIST = path.resolve(__dirname, "dist"); constant ICONS_PATH (line 22) | const ICONS_PATH = path.join(path.dirname(require.resolve("@buttercup/ui... function buildManifest (line 28) | function buildManifest(assetNames, manifest) { function getBaseConfig (line 44) | function getBaseConfig() {