{"version":3,"file":"StytchProduct.mjs","sources":["../../../../../../../../web/src/ui/b2c/StytchProduct.ts"],"sourcesContent":["import type { OTPMethods } from '@stytch/core/public';\nimport type { ComponentType } from 'react';\n\nimport type { Values } from '../../utils/types';\nimport type { IconRegistry } from '../components/IconRegistry';\nimport type { StartPasskeyAuth } from '../hooks/usePromptPasskey';\nimport type { IconNames } from './components/Icons';\nimport type { AppScreens } from './GlobalContextProvider';\n\nexport type ProductId =\n  | 'emailMagicLinks'\n  | 'oauth'\n  | 'otp'\n  | 'crypto'\n  | 'passwords'\n  | 'passkeys'\n  | 'passkeyRegistration';\n\n// tabs types\nexport const MagicLinkMethods = {\n  Email: 'emailMagicLinks',\n} as const;\nexport type MagicLinkMethods = Values<typeof MagicLinkMethods>;\n\nexport const PasswordMethods = {\n  Email: 'passwords',\n} as const;\nexport type PasswordMethods = Values<typeof PasswordMethods>;\n\nexport type TabMethods = OTPMethods | MagicLinkMethods | PasswordMethods;\n\n// mainScreen types\nexport type MainScreenKey = 'oauth' | 'crypto' | 'login-form' | 'divider' | 'passkey-button';\nexport type MainScreenGroup = MainScreenKey | MainScreenKey[];\n\nexport type MainScreenChildProps = {\n  startPasskeyAuth: StartPasskeyAuth;\n};\n\nexport type StytchProduct = Readonly<{\n  id: ProductId;\n\n  screens: Partial<Record<AppScreens, ComponentType>>;\n  tabs?: Partial<Record<TabMethods, ComponentType>>;\n  mainScreen?: Partial<Record<MainScreenKey, ComponentType<MainScreenChildProps>>>;\n  icons?: Partial<IconRegistry<IconNames>>;\n}>;\n"],"names":["MagicLinkMethods","Email","PasswordMethods"],"mappings":"AAkBA;MACaA,gBAAAA,GAAmB;IAC9BC,KAAAA,EAAO;AACT;MAGaC,eAAAA,GAAkB;IAC7BD,KAAAA,EAAO;AACT;;;;"}