@metacells/mcellui-core 0.1.2 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/index-DtYPPizh.d.ts +682 -0
  2. package/dist/index.d.ts +3851 -0
  3. package/dist/index.js +7191 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/shadows-CwlbfJco.d.ts +194 -0
  6. package/dist/tokens/index.d.ts +17 -0
  7. package/dist/tokens/index.js +176 -0
  8. package/dist/tokens/index.js.map +1 -0
  9. package/dist/utils/index.d.ts +2 -0
  10. package/dist/utils/index.js +4150 -0
  11. package/dist/utils/index.js.map +1 -0
  12. package/package.json +18 -11
  13. package/src/components/ErrorBoundary.tsx +0 -188
  14. package/src/components/index.ts +0 -6
  15. package/src/config/ConfigProvider.tsx +0 -145
  16. package/src/config/defineConfig.ts +0 -75
  17. package/src/config/index.ts +0 -42
  18. package/src/config/types.ts +0 -185
  19. package/src/constants.ts +0 -203
  20. package/src/index.ts +0 -144
  21. package/src/primitives/Portal.tsx +0 -185
  22. package/src/primitives/Pressable.tsx +0 -114
  23. package/src/primitives/Slot.tsx +0 -177
  24. package/src/primitives/index.ts +0 -19
  25. package/src/theme/ThemeProvider.tsx +0 -506
  26. package/src/theme/animations.ts +0 -381
  27. package/src/theme/colors.ts +0 -266
  28. package/src/theme/components.ts +0 -267
  29. package/src/theme/index.ts +0 -130
  30. package/src/theme/presets.ts +0 -341
  31. package/src/theme/radius.ts +0 -175
  32. package/src/theme/shadows.ts +0 -166
  33. package/src/theme/spacing.ts +0 -41
  34. package/src/theme/typography.ts +0 -389
  35. package/src/tokens/colors.ts +0 -67
  36. package/src/tokens/index.ts +0 -29
  37. package/src/tokens/radius.ts +0 -18
  38. package/src/tokens/shadows.ts +0 -38
  39. package/src/tokens/spacing.ts +0 -45
  40. package/src/tokens/typography.ts +0 -70
  41. package/src/utils/accessibility.ts +0 -112
  42. package/src/utils/cn.ts +0 -58
  43. package/src/utils/expoGo.ts +0 -72
  44. package/src/utils/haptics.ts +0 -125
  45. package/src/utils/index.ts +0 -33
  46. package/src/utils/platform.ts +0 -66
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../node_modules/expo-modules-core/src/NativeModulesProxy.ts","../../../../node_modules/expo-modules-core/src/TurboModuleToExpoModuleProxy.ts","../../../../node_modules/expo-modules-core/src/ensureNativeModulesAreInstalled.ts","../../../../node_modules/expo-modules-core/src/requireNativeModule.ts","../../../../node_modules/expo-modules-core/src/sweet/NativeJSLogger.ts","../../../../node_modules/expo-modules-core/src/environment/browser.ts","../../../../node_modules/expo-modules-core/src/Platform.ts","../../../../node_modules/expo-modules-core/src/errors/CodedError.ts","../../../../node_modules/expo-modules-core/src/sweet/setUpJsLogger.fx.ts","../../../../node_modules/expo-modules-core/src/errors/UnavailabilityError.ts","../../../../node_modules/expo-modules-core/src/registerWebModule.ts","../../../../node_modules/expo-modules-core/src/TypedArrays.types.ts","../../../../node_modules/expo-modules-core/src/PermissionsInterface.ts","../../../../node_modules/expo-modules-core/src/PermissionsHook.ts","../../../../node_modules/expo-modules-core/src/Refs.ts","../../../../node_modules/expo-modules-core/src/hooks/useReleasingSharedObject.ts","../../../../node_modules/expo-modules-core/src/reload.ts","../../../../node_modules/expo-modules-core/src/index.ts","../../../../node_modules/react-refresh/cjs/react-refresh-runtime.production.min.js","../../../../node_modules/react-refresh/cjs/react-refresh-runtime.development.js","../../../../node_modules/react-refresh/runtime.js","../../../../node_modules/expo/src/async-require/setupFastRefresh.ts","../../../../node_modules/metro-runtime/src/modules/vendor/eventemitter3.js","../../../../node_modules/metro-runtime/src/modules/HMRClient.js","../../../../node_modules/@expo/metro/metro-runtime/modules/HMRClient.js","../../../../node_modules/pretty-format/node_modules/ansi-styles/index.js","../../../../node_modules/pretty-format/build/collections.js","../../../../node_modules/pretty-format/build/plugins/AsymmetricMatcher.js","../../../../node_modules/pretty-format/build/plugins/DOMCollection.js","../../../../node_modules/pretty-format/build/plugins/lib/escapeHTML.js","../../../../node_modules/pretty-format/build/plugins/lib/markup.js","../../../../node_modules/pretty-format/build/plugins/DOMElement.js","../../../../node_modules/pretty-format/build/plugins/Immutable.js","../../../../node_modules/pretty-format/node_modules/react-is/cjs/react-is.production.min.js","../../../../node_modules/pretty-format/node_modules/react-is/cjs/react-is.development.js","../../../../node_modules/pretty-format/node_modules/react-is/index.js","../../../../node_modules/pretty-format/build/plugins/ReactElement.js","../../../../node_modules/pretty-format/build/plugins/ReactTestComponent.js","../../../../node_modules/pretty-format/build/index.js","../../../../node_modules/expo/src/async-require/hmr.ts","../../../../node_modules/expo/src/async-require/setupHMR.ts","../../../../node_modules/expo/src/async-require/messageSocket.ts","../../../../node_modules/expo/src/async-require/setup.ts","../../../../node_modules/expo/src/utils/getBundleUrl.ts","../../../../node_modules/expo/src/winter/ImportMetaRegistry.ts","../../../../node_modules/expo/src/winter/runtime.ts","../../../../node_modules/expo/src/winter/index.ts","../../../../node_modules/expo/src/async-require/getDevServer.ts","../../../../node_modules/expo/src/async-require/buildUrlForBundle.ts","../../../../node_modules/expo/src/async-require/errors.ts","../../../../node_modules/expo/src/async-require/fetchAsync.ts","../../../../node_modules/expo/src/async-require/fetchThenEvalJs.ts","../../../../node_modules/expo/src/async-require/fetchThenEval.ts","../../../../node_modules/expo/src/async-require/loadBundle.ts","../../../../node_modules/expo/src/async-require/buildAsyncRequire.ts","../../../../node_modules/expo/src/async-require/index.ts","../../../../node_modules/expo-constants/src/Constants.types.ts","../../../../node_modules/expo-constants/src/ExponentConstants.ts","../../../../node_modules/expo-constants/src/Constants.ts","../../../../node_modules/expo/src/environment/ExpoGo.ts","../../../../node_modules/expo/src/errors/AppEntryNotFound.tsx","../../../../node_modules/expo/src/errors/ExpoErrorManager.ts","../../../../node_modules/expo/src/Expo.fx.tsx","../../../../node_modules/expo/src/Expo.ts","../../../../node_modules/expo-haptics/src/ExpoHaptics.ts","../../../../node_modules/expo-haptics/src/Haptics.types.ts","../../../../node_modules/expo-haptics/src/Haptics.ts","../../src/utils/cn.ts","../../src/utils/platform.ts","../../src/utils/accessibility.ts","../../src/utils/haptics.ts","../../src/utils/expoGo.ts","../../src/theme/typography.ts","../../src/utils/typography.ts"],"names":["name","Platform","ReactNativePlatform","code","exports","id","module","EventEmitter","url","require_HMRClient","styles","Symbol","nodeInterop","plugins","HMRClient","prettyFormat","MetroHMRClient","AppOwnership","ExecutionEnvironment","UserInterfaceIdiom","StyleSheet","NativeModules","NotificationFeedbackType","ImpactFeedbackStyle","AndroidHaptics"],"mappings":"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","file":"index.js","sourcesContent":["import type { ProxyNativeModule } from './NativeModulesProxy.types';\n\n// We default to an empty object shim wherever we don't have an environment-specific implementation\n\n/**\n * @deprecated `NativeModulesProxy` is deprecated and might be removed in the future releases.\n * Use `requireNativeModule` or `requireOptionalNativeModule` instead.\n */\nexport default {} as Record<string, ProxyNativeModule>;\n","// Copyright © 2024 650 Industries.\nimport type { TurboModule } from 'react-native';\n\nexport function createTurboModuleToExpoProxy(turboModule: TurboModule | null, name: string) {\n return null;\n}\n","// Installs the expo global on web\nimport './polyfill';\n\n/**\n * Ensures that the native modules are installed in the current runtime.\n * Otherwise, it synchronously calls a native function that installs them.\n */\nexport function ensureNativeModulesAreInstalled(): void {\n // No-op on web\n}\n","import { TurboModuleRegistry } from 'react-native';\n\nimport NativeModulesProxy from './NativeModulesProxy';\nimport { createTurboModuleToExpoProxy } from './TurboModuleToExpoModuleProxy';\nimport { ensureNativeModulesAreInstalled } from './ensureNativeModulesAreInstalled';\n\n/**\n * Imports the native module registered with given name. In the first place it tries to load\n * the module installed through the JSI host object and then falls back to the bridge proxy module.\n * Notice that the modules loaded from the proxy may not support some features like synchronous functions.\n *\n * @param moduleName Name of the requested native module.\n * @returns Object representing the native module.\n * @throws Error when there is no native module with given name.\n */\nexport function requireNativeModule<ModuleType = any>(moduleName: string): ModuleType {\n const nativeModule = requireOptionalNativeModule<ModuleType>(moduleName);\n\n if (!nativeModule) {\n throw new Error(`Cannot find native module '${moduleName}'`);\n }\n return nativeModule;\n}\n\n/**\n * Imports the native module registered with the given name. The same as `requireNativeModule`,\n * but returns `null` when the module cannot be found instead of throwing an error.\n *\n * @param moduleName Name of the requested native module.\n * @returns Object representing the native module or `null` when it cannot be found.\n */\nexport function requireOptionalNativeModule<ModuleType = any>(\n moduleName: string\n): ModuleType | null {\n ensureNativeModulesAreInstalled();\n\n try {\n return (\n globalThis.expo?.modules?.[moduleName] ??\n NativeModulesProxy[moduleName] ??\n createTurboModuleToExpoProxy(TurboModuleRegistry.get(moduleName), moduleName) ??\n null\n );\n } catch (e) {\n const error = e as Error;\n console.warn(`An error occurred while requiring the '${moduleName}' module: ${error.message}`);\n return null;\n }\n}\n","import { requireOptionalNativeModule } from '../requireNativeModule';\n\nexport default requireOptionalNativeModule('ExpoModulesCoreJSLogger');\n","declare const global: any;\n\n// In standard node environments there is no DOM API\nexport const isDOMAvailable = false;\nexport const canUseEventListeners = false;\nexport const canUseViewport = false;\n\nexport let isAsyncDebugging: boolean = false;\n\nif (__DEV__) {\n // These native globals are injected by native React runtimes and not standard browsers\n // we can use them to determine if the JS is being executed in Chrome.\n isAsyncDebugging =\n !global.nativeExtensions && !global.nativeCallSyncHook && !global.RN$Bridgeless;\n}\n","import { PlatformOSType, Platform as ReactNativePlatform } from 'react-native';\n\nimport {\n isDOMAvailable,\n canUseEventListeners,\n canUseViewport,\n isAsyncDebugging,\n} from './environment/browser';\n\nexport type PlatformSelectOSType = PlatformOSType | 'native' | 'electron' | 'default';\n\nexport type PlatformSelect = <T>(specifics: { [platform in PlatformSelectOSType]?: T }) => T;\n\nif (__DEV__ && typeof process.env.EXPO_OS === 'undefined') {\n console.warn(\n `The global process.env.EXPO_OS is not defined. This should be inlined by babel-preset-expo during transformation.`\n );\n}\n\nconst nativeSelect =\n typeof window !== 'undefined'\n ? ReactNativePlatform.select\n : // process.env.EXPO_OS is injected by `babel-preset-expo` and available in both client and `react-server` environments.\n // Opt to use the env var when possible, and fallback to the React Native Platform module when it's not (arbitrary bundlers and transformers).\n function select<T>(specifics: { [platform in PlatformSelectOSType]?: T }): T | undefined {\n if (!process.env.EXPO_OS) return undefined;\n if (specifics.hasOwnProperty(process.env.EXPO_OS)) {\n return specifics[process.env.EXPO_OS as PlatformSelectOSType]!;\n } else if (process.env.EXPO_OS !== 'web' && specifics.hasOwnProperty('native')) {\n return specifics.native!;\n } else if (specifics.hasOwnProperty('default')) {\n return specifics.default!;\n }\n // do nothing...\n return undefined;\n };\n\nconst Platform = {\n /**\n * Denotes the currently running platform.\n * Can be one of ios, android, web.\n */\n OS: process.env.EXPO_OS || ReactNativePlatform.OS,\n /**\n * Returns the value with the matching platform.\n * Object keys can be any of ios, android, native, web, default.\n *\n * @ios ios, native, default\n * @android android, native, default\n * @web web, default\n */\n select: nativeSelect as PlatformSelect,\n /**\n * Denotes if the DOM API is available in the current environment.\n * The DOM is not available in native React runtimes and Node.js.\n */\n isDOMAvailable,\n /**\n * Denotes if the current environment can attach event listeners\n * to the window. This will return false in native React\n * runtimes and Node.js.\n */\n canUseEventListeners,\n /**\n * Denotes if the current environment can inspect properties of the\n * screen on which the current window is being rendered. This will\n * return false in native React runtimes and Node.js.\n */\n canUseViewport,\n /**\n * If the JavaScript is being executed in a remote JavaScript environment.\n * When `true`, synchronous native invocations cannot be executed.\n */\n isAsyncDebugging,\n};\n\nexport default Platform;\n","/**\n * A general error class that should be used for all errors in Expo modules.\n * Guarantees a `code` field that can be used to differentiate between different\n * types of errors without further subclassing Error.\n */\nexport class CodedError extends Error {\n code: string;\n info?: any;\n\n constructor(code: string, message: string) {\n super(message);\n this.code = code;\n }\n}\n","import NativeJSLogger from './NativeJSLogger';\nimport Platform from '../Platform';\nimport { CodedError } from '../errors/CodedError';\n\ntype LogListener = {\n action: (...data: any[]) => void;\n eventName: string;\n};\n\nif (__DEV__ && (Platform.OS === 'android' || Platform.OS === 'ios') && NativeJSLogger) {\n const onNewException: LogListener = {\n eventName: 'ExpoModulesCoreJSLogger.onNewError',\n action: console.error,\n };\n\n const onNewWarning: LogListener = {\n eventName: 'ExpoModulesCoreJSLogger.onNewWarning',\n action: console.warn,\n };\n\n const onNewDebug: LogListener = {\n eventName: 'ExpoModulesCoreJSLogger.onNewDebug',\n action: console.debug,\n };\n\n const onNewInfo: LogListener = {\n eventName: 'ExpoModulesCoreJSLogger.onNewInfo',\n action: console.info,\n };\n\n const onNewTrace: LogListener = {\n eventName: 'ExpoModulesCoreJSLogger.onNewTrace',\n action: console.trace,\n };\n\n const listeners: LogListener[] = [\n onNewException,\n onNewWarning,\n onNewDebug,\n onNewInfo,\n onNewTrace,\n ];\n\n for (const listener of listeners) {\n NativeJSLogger.addListener(listener.eventName, ({ message }: { message: string }) => {\n listener.action(message);\n });\n }\n}\n\ndeclare namespace globalThis {\n let ExpoModulesCore_CodedError: undefined | typeof CodedError;\n}\n\n// We have to export `CodedError` via global object to use in later in the C++ code.\nglobalThis.ExpoModulesCore_CodedError = CodedError;\n","import { CodedError } from './CodedError';\nimport Platform from '../Platform';\n\n/**\n * A class for errors to be thrown when a property is accessed which is\n * unavailable, unsupported, or not currently implemented on the running\n * platform.\n */\nexport class UnavailabilityError extends CodedError {\n constructor(moduleName: string, propertyName: string) {\n super(\n 'ERR_UNAVAILABLE',\n `The method or property ${moduleName}.${propertyName} is not available on ${Platform.OS}, are you sure you've linked all the native dependencies properly?`\n );\n }\n}\n","import { ensureNativeModulesAreInstalled } from './ensureNativeModulesAreInstalled';\nimport type { NativeModule } from './ts-declarations/NativeModule';\n\n/**\n * Registers a web module.\n * @param moduleImplementation A class that extends `NativeModule`. The class is registered under `globalThis.expo.modules[className]`.\n * @param moduleName – a name to register the module under `globalThis.expo.modules[className]`.\n * @returns A singleton instance of the class passed into arguments.\n */\n\nexport function registerWebModule<\n EventsMap extends Record<never, never>,\n ModuleType extends typeof NativeModule<EventsMap>,\n>(moduleImplementation: ModuleType, moduleName: string): ModuleType {\n ensureNativeModulesAreInstalled();\n\n moduleName = moduleName ?? moduleImplementation.name;\n if (!moduleName) {\n throw new Error(\n 'Web module implementation is missing a name - it is either not a class or has been minified. Pass the name as a second argument to the `registerWebModule` function.'\n );\n }\n if (!globalThis?.expo?.modules) {\n globalThis.expo.modules = {};\n }\n if (globalThis.expo.modules[moduleName]) {\n return globalThis.expo.modules[moduleName];\n }\n globalThis.expo.modules[moduleName] = new moduleImplementation();\n return globalThis.expo.modules[moduleName];\n}\n","/** A union type for all integer based [`TypedArray` objects](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray#typedarray_objects). */\nexport type IntBasedTypedArray = Int8Array | Int16Array | Int32Array;\n\n/** A union type for all unsigned integer based [`TypedArray` objects](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray#typedarray_objects). */\nexport type UintBasedTypedArray = Uint8Array | Uint8ClampedArray | Uint16Array | Uint32Array;\n\n/** A union type for all floating point based [`TypedArray` objects](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray#typedarray_objects). */\nexport type FloatBasedTypedArray = Float32Array | Float64Array;\n\n/** A [`TypedArray`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray) describes an array-like view of an underlying binary data buffer. */\nexport type TypedArray = IntBasedTypedArray | UintBasedTypedArray | FloatBasedTypedArray;\n","export enum PermissionStatus {\n /**\n * User has granted the permission.\n */\n GRANTED = 'granted',\n /**\n * User hasn't granted or denied the permission yet.\n */\n UNDETERMINED = 'undetermined',\n /**\n * User has denied the permission.\n */\n DENIED = 'denied',\n}\n\n/**\n * Permission expiration time. Currently, all permissions are granted permanently.\n */\nexport type PermissionExpiration = 'never' | number;\n\n/**\n * An object obtained by permissions get and request functions.\n */\nexport type PermissionResponse = {\n /**\n * Determines the status of the permission.\n */\n status: PermissionStatus;\n /**\n * Determines time when the permission expires.\n */\n expires: PermissionExpiration;\n /**\n * A convenience boolean that indicates if the permission is granted.\n */\n granted: boolean;\n /**\n * Indicates if user can be asked again for specific permission.\n * If not, one should be directed to the Settings app\n * in order to enable/disable the permission.\n */\n canAskAgain: boolean;\n};\n","// Copyright © 2024 650 Industries.\n\n'use client';\n\nimport { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { PermissionResponse } from './PermissionsInterface';\n\n// These types are identical, but improves the readability for suggestions in editors\ntype RequestPermissionMethod<Permission extends PermissionResponse> = () => Promise<Permission>;\ntype GetPermissionMethod<Permission extends PermissionResponse> = () => Promise<Permission>;\n\ntype PermissionHookMethods<Permission extends PermissionResponse, Options = never> = {\n /** The permission method that requests the user to grant permission. */\n requestMethod: (options?: Options) => Promise<Permission>;\n /** The permission method that only fetches the current permission status. */\n getMethod: (options?: Options) => Promise<Permission>;\n};\n\ntype PermissionHookBehavior = {\n /** If the hook should automatically fetch the current permission status, without asking the user. */\n get?: boolean;\n /** If the hook should automatically request the user to grant permission. */\n request?: boolean;\n};\n\nexport type PermissionHookOptions<Options extends object> = PermissionHookBehavior & Options;\n\n/**\n * Get or request permission for protected functionality within the app.\n * It uses separate permission requesters to interact with a single permission.\n * By default, the hook will only retrieve the permission status.\n */\nfunction usePermission<Permission extends PermissionResponse, Options extends object>(\n methods: PermissionHookMethods<Permission, Options>,\n options?: PermissionHookOptions<Options>\n): [Permission | null, RequestPermissionMethod<Permission>, GetPermissionMethod<Permission>] {\n const isMounted = useRef(true);\n const [status, setStatus] = useState<Permission | null>(null);\n const { get = true, request = false, ...permissionOptions } = options || {};\n\n const getPermission = useCallback(async () => {\n let response: Permission;\n if (Object.keys(permissionOptions).length > 0) {\n response = await methods.getMethod(permissionOptions as Options);\n } else {\n response = await methods.getMethod();\n }\n if (isMounted.current) setStatus(response);\n return response;\n }, [methods.getMethod]);\n\n const requestPermission = useCallback(async () => {\n let response: Permission;\n if (Object.keys(permissionOptions).length > 0) {\n response = await methods.requestMethod(permissionOptions as Options);\n } else {\n response = await methods.requestMethod();\n }\n if (isMounted.current) setStatus(response);\n return response;\n }, [methods.requestMethod]);\n\n useEffect(\n function runMethods() {\n if (request) requestPermission();\n if (!request && get) getPermission();\n },\n [get, request, requestPermission, getPermission]\n );\n\n // Workaround for unmounting components receiving state updates\n useEffect(function didMount() {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n }, []);\n\n return [status, requestPermission, getPermission];\n}\n\n/**\n * Create a new permission hook with the permission methods built-in.\n * This can be used to quickly create specific permission hooks in every module.\n */\nexport function createPermissionHook<Permission extends PermissionResponse, Options extends object>(\n methods: PermissionHookMethods<Permission, Options>\n) {\n return (options?: PermissionHookOptions<Options>) =>\n usePermission<Permission, Options>(methods, options);\n}\n","import { createRef, type RefObject } from 'react';\n\n/**\n * Create a React ref object that is friendly for snapshots.\n * It will be represented as `[React.ref]` in snapshots.\n * @returns A React ref object.\n */\nexport function createSnapshotFriendlyRef<T>(): RefObject<T | null> {\n return createRef<T>();\n}\n","'use client';\n\nimport { DependencyList, useRef, useMemo, useEffect } from 'react';\n\nimport type { SharedObject } from '../ts-declarations/SharedObject';\n\n/**\n * Returns a shared object, which is automatically cleaned up when the component is unmounted.\n */\nexport function useReleasingSharedObject<TSharedObject extends SharedObject>(\n factory: () => TSharedObject,\n dependencies: DependencyList\n): TSharedObject {\n const objectRef = useRef<TSharedObject | null>(null);\n const isFastRefresh = useRef(false);\n const previousDependencies = useRef<DependencyList>(dependencies);\n\n if (objectRef.current == null) {\n objectRef.current = factory();\n }\n\n const object = useMemo(() => {\n let newObject = objectRef.current;\n const dependenciesAreEqual =\n previousDependencies.current?.length === dependencies.length &&\n dependencies.every((value, index) => value === previousDependencies.current[index]);\n\n // If the dependencies have changed, release the previous object and create a new one, otherwise this has been called\n // because of an unrelated fast refresh, and we don't want to release the object.\n if (!newObject || !dependenciesAreEqual) {\n objectRef.current?.release();\n newObject = factory();\n objectRef.current = newObject;\n previousDependencies.current = dependencies;\n }\n return newObject;\n }, dependencies);\n\n useMemo(() => {\n isFastRefresh.current = true;\n }, []);\n\n useEffect(() => {\n isFastRefresh.current = false;\n\n return () => {\n // This will be called on every fast refresh and on unmount, but we only want to release the object on unmount.\n if (!isFastRefresh.current && objectRef.current) {\n objectRef.current.release();\n }\n };\n }, []);\n\n return object;\n}\n","/**\n * Reloads the app. This method works for both release and debug builds.\n *\n * Unlike [`Updates.reloadAsync()`](/versions/latest/sdk/updates/#updatesreloadasync),\n * this function does not use a new update even if one is available. It only reloads the app using the same JavaScript bundle that is currently running.\n *\n * @param reason The reason for reloading the app. This is used only for some platforms.\n */\nexport async function reloadAppAsync(reason: string = 'Reloaded from JS call'): Promise<void> {\n await globalThis.expo?.reloadAppAsync(reason);\n}\n","import './sweet/setUpJsLogger.fx';\nimport './polyfill';\n\nexport type * from './ts-declarations/global';\n\nexport { EventEmitter, type EventSubscription } from './EventEmitter';\nexport { NativeModule } from './NativeModule';\nexport { SharedObject } from './SharedObject';\nexport { SharedRef } from './SharedRef';\n\nexport { default as Platform } from './Platform';\nexport { default as uuid } from './uuid';\n\nexport type { ProxyNativeModule } from './NativeModulesProxy.types';\nexport { requireNativeViewManager } from './NativeViewManagerAdapter';\n\nexport * from './requireNativeModule';\nexport * from './registerWebModule';\nexport * from './TypedArrays.types';\n\nexport * from './PermissionsInterface';\nexport * from './PermissionsHook';\n\nexport * from './Refs';\n\nexport * from './hooks/useReleasingSharedObject';\nexport * from './reload';\n\n// Errors\nexport { CodedError } from './errors/CodedError';\nexport { UnavailabilityError } from './errors/UnavailabilityError';\n\n// Deprecated\nexport { LegacyEventEmitter } from './LegacyEventEmitter';\nexport { default as NativeModulesProxy } from './NativeModulesProxy';\n","/**\n * @license React\n * react-refresh-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';throw Error(\"React Refresh runtime should not be included in the production bundle.\");\n","/**\n * @license React\n * react-refresh-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// ATTENTION\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\n\nvar PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map; // We never remove these associations.\n// It's OK to reference families, but use WeakMap/Set for types.\n\nvar allFamiliesByID = new Map();\nvar allFamiliesByType = new PossiblyWeakMap();\nvar allSignaturesByType = new PossiblyWeakMap(); // This WeakMap is read by React, so we only put families\n// that have actually been edited here. This keeps checks fast.\n// $FlowIssue\n\nvar updatedFamiliesByType = new PossiblyWeakMap(); // This is cleared on every performReactRefresh() call.\n// It is an array of [Family, NextType] tuples.\n\nvar pendingUpdates = []; // This is injected by the renderer via DevTools global hook.\n\nvar helpersByRendererID = new Map();\nvar helpersByRoot = new Map(); // We keep track of mounted roots so we can schedule updates.\n\nvar mountedRoots = new Set(); // If a root captures an error, we remember it so we can retry on edit.\n\nvar failedRoots = new Set(); // In environments that support WeakMap, we also remember the last element for every root.\n// It needs to be weak because we do this even for roots that failed to mount.\n// If there is no WeakMap, we won't attempt to do retrying.\n// $FlowIssue\n\nvar rootElements = // $FlowIssue\ntypeof WeakMap === 'function' ? new WeakMap() : null;\nvar isPerformingRefresh = false;\n\nfunction computeFullKey(signature) {\n if (signature.fullKey !== null) {\n return signature.fullKey;\n }\n\n var fullKey = signature.ownKey;\n var hooks;\n\n try {\n hooks = signature.getCustomHooks();\n } catch (err) {\n // This can happen in an edge case, e.g. if expression like Foo.useSomething\n // depends on Foo which is lazily initialized during rendering.\n // In that case just assume we'll have to remount.\n signature.forceReset = true;\n signature.fullKey = fullKey;\n return fullKey;\n }\n\n for (var i = 0; i < hooks.length; i++) {\n var hook = hooks[i];\n\n if (typeof hook !== 'function') {\n // Something's wrong. Assume we need to remount.\n signature.forceReset = true;\n signature.fullKey = fullKey;\n return fullKey;\n }\n\n var nestedHookSignature = allSignaturesByType.get(hook);\n\n if (nestedHookSignature === undefined) {\n // No signature means Hook wasn't in the source code, e.g. in a library.\n // We'll skip it because we can assume it won't change during this session.\n continue;\n }\n\n var nestedHookKey = computeFullKey(nestedHookSignature);\n\n if (nestedHookSignature.forceReset) {\n signature.forceReset = true;\n }\n\n fullKey += '\\n---\\n' + nestedHookKey;\n }\n\n signature.fullKey = fullKey;\n return fullKey;\n}\n\nfunction haveEqualSignatures(prevType, nextType) {\n var prevSignature = allSignaturesByType.get(prevType);\n var nextSignature = allSignaturesByType.get(nextType);\n\n if (prevSignature === undefined && nextSignature === undefined) {\n return true;\n }\n\n if (prevSignature === undefined || nextSignature === undefined) {\n return false;\n }\n\n if (computeFullKey(prevSignature) !== computeFullKey(nextSignature)) {\n return false;\n }\n\n if (nextSignature.forceReset) {\n return false;\n }\n\n return true;\n}\n\nfunction isReactClass(type) {\n return type.prototype && type.prototype.isReactComponent;\n}\n\nfunction canPreserveStateBetween(prevType, nextType) {\n if (isReactClass(prevType) || isReactClass(nextType)) {\n return false;\n }\n\n if (haveEqualSignatures(prevType, nextType)) {\n return true;\n }\n\n return false;\n}\n\nfunction resolveFamily(type) {\n // Only check updated types to keep lookups fast.\n return updatedFamiliesByType.get(type);\n} // If we didn't care about IE11, we could use new Map/Set(iterable).\n\n\nfunction cloneMap(map) {\n var clone = new Map();\n map.forEach(function (value, key) {\n clone.set(key, value);\n });\n return clone;\n}\n\nfunction cloneSet(set) {\n var clone = new Set();\n set.forEach(function (value) {\n clone.add(value);\n });\n return clone;\n} // This is a safety mechanism to protect against rogue getters and Proxies.\n\n\nfunction getProperty(object, property) {\n try {\n return object[property];\n } catch (err) {\n // Intentionally ignore.\n return undefined;\n }\n}\n\nfunction performReactRefresh() {\n\n if (pendingUpdates.length === 0) {\n return null;\n }\n\n if (isPerformingRefresh) {\n return null;\n }\n\n isPerformingRefresh = true;\n\n try {\n var staleFamilies = new Set();\n var updatedFamilies = new Set();\n var updates = pendingUpdates;\n pendingUpdates = [];\n updates.forEach(function (_ref) {\n var family = _ref[0],\n nextType = _ref[1];\n // Now that we got a real edit, we can create associations\n // that will be read by the React reconciler.\n var prevType = family.current;\n updatedFamiliesByType.set(prevType, family);\n updatedFamiliesByType.set(nextType, family);\n family.current = nextType; // Determine whether this should be a re-render or a re-mount.\n\n if (canPreserveStateBetween(prevType, nextType)) {\n updatedFamilies.add(family);\n } else {\n staleFamilies.add(family);\n }\n }); // TODO: rename these fields to something more meaningful.\n\n var update = {\n updatedFamilies: updatedFamilies,\n // Families that will re-render preserving state\n staleFamilies: staleFamilies // Families that will be remounted\n\n };\n helpersByRendererID.forEach(function (helpers) {\n // Even if there are no roots, set the handler on first update.\n // This ensures that if *new* roots are mounted, they'll use the resolve handler.\n helpers.setRefreshHandler(resolveFamily);\n });\n var didError = false;\n var firstError = null; // We snapshot maps and sets that are mutated during commits.\n // If we don't do this, there is a risk they will be mutated while\n // we iterate over them. For example, trying to recover a failed root\n // may cause another root to be added to the failed list -- an infinite loop.\n\n var failedRootsSnapshot = cloneSet(failedRoots);\n var mountedRootsSnapshot = cloneSet(mountedRoots);\n var helpersByRootSnapshot = cloneMap(helpersByRoot);\n failedRootsSnapshot.forEach(function (root) {\n var helpers = helpersByRootSnapshot.get(root);\n\n if (helpers === undefined) {\n throw new Error('Could not find helpers for a root. This is a bug in React Refresh.');\n }\n\n if (!failedRoots.has(root)) {// No longer failed.\n }\n\n if (rootElements === null) {\n return;\n }\n\n if (!rootElements.has(root)) {\n return;\n }\n\n var element = rootElements.get(root);\n\n try {\n helpers.scheduleRoot(root, element);\n } catch (err) {\n if (!didError) {\n didError = true;\n firstError = err;\n } // Keep trying other roots.\n\n }\n });\n mountedRootsSnapshot.forEach(function (root) {\n var helpers = helpersByRootSnapshot.get(root);\n\n if (helpers === undefined) {\n throw new Error('Could not find helpers for a root. This is a bug in React Refresh.');\n }\n\n if (!mountedRoots.has(root)) {// No longer mounted.\n }\n\n try {\n helpers.scheduleRefresh(root, update);\n } catch (err) {\n if (!didError) {\n didError = true;\n firstError = err;\n } // Keep trying other roots.\n\n }\n });\n\n if (didError) {\n throw firstError;\n }\n\n return update;\n } finally {\n isPerformingRefresh = false;\n }\n}\nfunction register(type, id) {\n {\n if (type === null) {\n return;\n }\n\n if (typeof type !== 'function' && typeof type !== 'object') {\n return;\n } // This can happen in an edge case, e.g. if we register\n // return value of a HOC but it returns a cached component.\n // Ignore anything but the first registration for each type.\n\n\n if (allFamiliesByType.has(type)) {\n return;\n } // Create family or remember to update it.\n // None of this bookkeeping affects reconciliation\n // until the first performReactRefresh() call above.\n\n\n var family = allFamiliesByID.get(id);\n\n if (family === undefined) {\n family = {\n current: type\n };\n allFamiliesByID.set(id, family);\n } else {\n pendingUpdates.push([family, type]);\n }\n\n allFamiliesByType.set(type, family); // Visit inner types because we might not have registered them.\n\n if (typeof type === 'object' && type !== null) {\n switch (getProperty(type, '$$typeof')) {\n case REACT_FORWARD_REF_TYPE:\n register(type.render, id + '$render');\n break;\n\n case REACT_MEMO_TYPE:\n register(type.type, id + '$type');\n break;\n }\n }\n }\n}\nfunction setSignature(type, key) {\n var forceReset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var getCustomHooks = arguments.length > 3 ? arguments[3] : undefined;\n\n {\n if (!allSignaturesByType.has(type)) {\n allSignaturesByType.set(type, {\n forceReset: forceReset,\n ownKey: key,\n fullKey: null,\n getCustomHooks: getCustomHooks || function () {\n return [];\n }\n });\n } // Visit inner types because we might not have signed them.\n\n\n if (typeof type === 'object' && type !== null) {\n switch (getProperty(type, '$$typeof')) {\n case REACT_FORWARD_REF_TYPE:\n setSignature(type.render, key, forceReset, getCustomHooks);\n break;\n\n case REACT_MEMO_TYPE:\n setSignature(type.type, key, forceReset, getCustomHooks);\n break;\n }\n }\n }\n} // This is lazily called during first render for a type.\n// It captures Hook list at that time so inline requires don't break comparisons.\n\nfunction collectCustomHooksForSignature(type) {\n {\n var signature = allSignaturesByType.get(type);\n\n if (signature !== undefined) {\n computeFullKey(signature);\n }\n }\n}\nfunction getFamilyByID(id) {\n {\n return allFamiliesByID.get(id);\n }\n}\nfunction getFamilyByType(type) {\n {\n return allFamiliesByType.get(type);\n }\n}\nfunction findAffectedHostInstances(families) {\n {\n var affectedInstances = new Set();\n mountedRoots.forEach(function (root) {\n var helpers = helpersByRoot.get(root);\n\n if (helpers === undefined) {\n throw new Error('Could not find helpers for a root. This is a bug in React Refresh.');\n }\n\n var instancesForRoot = helpers.findHostInstancesForRefresh(root, families);\n instancesForRoot.forEach(function (inst) {\n affectedInstances.add(inst);\n });\n });\n return affectedInstances;\n }\n}\nfunction injectIntoGlobalHook(globalObject) {\n {\n // For React Native, the global hook will be set up by require('react-devtools-core').\n // That code will run before us. So we need to monkeypatch functions on existing hook.\n // For React Web, the global hook will be set up by the extension.\n // This will also run before us.\n var hook = globalObject.__REACT_DEVTOOLS_GLOBAL_HOOK__;\n\n if (hook === undefined) {\n // However, if there is no DevTools extension, we'll need to set up the global hook ourselves.\n // Note that in this case it's important that renderer code runs *after* this method call.\n // Otherwise, the renderer will think that there is no global hook, and won't do the injection.\n var nextID = 0;\n globalObject.__REACT_DEVTOOLS_GLOBAL_HOOK__ = hook = {\n renderers: new Map(),\n supportsFiber: true,\n inject: function (injected) {\n return nextID++;\n },\n onScheduleFiberRoot: function (id, root, children) {},\n onCommitFiberRoot: function (id, root, maybePriorityLevel, didError) {},\n onCommitFiberUnmount: function () {}\n };\n }\n\n if (hook.isDisabled) {\n // This isn't a real property on the hook, but it can be set to opt out\n // of DevTools integration and associated warnings and logs.\n // Using console['warn'] to evade Babel and ESLint\n console['warn']('Something has shimmed the React DevTools global hook (__REACT_DEVTOOLS_GLOBAL_HOOK__). ' + 'Fast Refresh is not compatible with this shim and will be disabled.');\n return;\n } // Here, we just want to get a reference to scheduleRefresh.\n\n\n var oldInject = hook.inject;\n\n hook.inject = function (injected) {\n var id = oldInject.apply(this, arguments);\n\n if (typeof injected.scheduleRefresh === 'function' && typeof injected.setRefreshHandler === 'function') {\n // This version supports React Refresh.\n helpersByRendererID.set(id, injected);\n }\n\n return id;\n }; // Do the same for any already injected roots.\n // This is useful if ReactDOM has already been initialized.\n // https://github.com/facebook/react/issues/17626\n\n\n hook.renderers.forEach(function (injected, id) {\n if (typeof injected.scheduleRefresh === 'function' && typeof injected.setRefreshHandler === 'function') {\n // This version supports React Refresh.\n helpersByRendererID.set(id, injected);\n }\n }); // We also want to track currently mounted roots.\n\n var oldOnCommitFiberRoot = hook.onCommitFiberRoot;\n\n var oldOnScheduleFiberRoot = hook.onScheduleFiberRoot || function () {};\n\n hook.onScheduleFiberRoot = function (id, root, children) {\n if (!isPerformingRefresh) {\n // If it was intentionally scheduled, don't attempt to restore.\n // This includes intentionally scheduled unmounts.\n failedRoots.delete(root);\n\n if (rootElements !== null) {\n rootElements.set(root, children);\n }\n }\n\n return oldOnScheduleFiberRoot.apply(this, arguments);\n };\n\n hook.onCommitFiberRoot = function (id, root, maybePriorityLevel, didError) {\n var helpers = helpersByRendererID.get(id);\n\n if (helpers !== undefined) {\n helpersByRoot.set(root, helpers);\n var current = root.current;\n var alternate = current.alternate; // We need to determine whether this root has just (un)mounted.\n // This logic is copy-pasted from similar logic in the DevTools backend.\n // If this breaks with some refactoring, you'll want to update DevTools too.\n\n if (alternate !== null) {\n var wasMounted = alternate.memoizedState != null && alternate.memoizedState.element != null && mountedRoots.has(root);\n var isMounted = current.memoizedState != null && current.memoizedState.element != null;\n\n if (!wasMounted && isMounted) {\n // Mount a new root.\n mountedRoots.add(root);\n failedRoots.delete(root);\n } else if (wasMounted && isMounted) ; else if (wasMounted && !isMounted) {\n // Unmount an existing root.\n mountedRoots.delete(root);\n\n if (didError) {\n // We'll remount it on future edits.\n failedRoots.add(root);\n } else {\n helpersByRoot.delete(root);\n }\n } else if (!wasMounted && !isMounted) {\n if (didError) {\n // We'll remount it on future edits.\n failedRoots.add(root);\n }\n }\n } else {\n // Mount a new root.\n mountedRoots.add(root);\n }\n } // Always call the decorated DevTools hook.\n\n\n return oldOnCommitFiberRoot.apply(this, arguments);\n };\n }\n}\nfunction hasUnrecoverableErrors() {\n // TODO: delete this after removing dependency in RN.\n return false;\n} // Exposed for testing.\n\nfunction _getMountedRootCount() {\n {\n return mountedRoots.size;\n }\n} // This is a wrapper over more primitive functions for setting signature.\n// Signatures let us decide whether the Hook order has changed on refresh.\n//\n// This function is intended to be used as a transform target, e.g.:\n// var _s = createSignatureFunctionForTransform()\n//\n// function Hello() {\n// const [foo, setFoo] = useState(0);\n// const value = useCustomHook();\n// _s(); /* Call without arguments triggers collecting the custom Hook list.\n// * This doesn't happen during the module evaluation because we\n// * don't want to change the module order with inline requires.\n// * Next calls are noops. */\n// return <h1>Hi</h1>;\n// }\n//\n// /* Call with arguments attaches the signature to the type: */\n// _s(\n// Hello,\n// 'useState{[foo, setFoo]}(0)',\n// () => [useCustomHook], /* Lazy to avoid triggering inline requires */\n// );\n\nfunction createSignatureFunctionForTransform() {\n {\n var savedType;\n var hasCustomHooks;\n var didCollectHooks = false;\n return function (type, key, forceReset, getCustomHooks) {\n if (typeof key === 'string') {\n // We're in the initial phase that associates signatures\n // with the functions. Note this may be called multiple times\n // in HOC chains like _s(hoc1(_s(hoc2(_s(actualFunction))))).\n if (!savedType) {\n // We're in the innermost call, so this is the actual type.\n savedType = type;\n hasCustomHooks = typeof getCustomHooks === 'function';\n } // Set the signature for all types (even wrappers!) in case\n // they have no signatures of their own. This is to prevent\n // problems like https://github.com/facebook/react/issues/20417.\n\n\n if (type != null && (typeof type === 'function' || typeof type === 'object')) {\n setSignature(type, key, forceReset, getCustomHooks);\n }\n\n return type;\n } else {\n // We're in the _s() call without arguments, which means\n // this is the time to collect custom Hook signatures.\n // Only do this once. This path is hot and runs *inside* every render!\n if (!didCollectHooks && hasCustomHooks) {\n didCollectHooks = true;\n collectCustomHooksForSignature(savedType);\n }\n }\n };\n }\n}\nfunction isLikelyComponentType(type) {\n {\n switch (typeof type) {\n case 'function':\n {\n // First, deal with classes.\n if (type.prototype != null) {\n if (type.prototype.isReactComponent) {\n // React class.\n return true;\n }\n\n var ownNames = Object.getOwnPropertyNames(type.prototype);\n\n if (ownNames.length > 1 || ownNames[0] !== 'constructor') {\n // This looks like a class.\n return false;\n } // eslint-disable-next-line no-proto\n\n\n if (type.prototype.__proto__ !== Object.prototype) {\n // It has a superclass.\n return false;\n } // Pass through.\n // This looks like a regular function with empty prototype.\n\n } // For plain functions and arrows, use name as a heuristic.\n\n\n var name = type.name || type.displayName;\n return typeof name === 'string' && /^[A-Z]/.test(name);\n }\n\n case 'object':\n {\n if (type != null) {\n switch (getProperty(type, '$$typeof')) {\n case REACT_FORWARD_REF_TYPE:\n case REACT_MEMO_TYPE:\n // Definitely React components.\n return true;\n\n default:\n return false;\n }\n }\n\n return false;\n }\n\n default:\n {\n return false;\n }\n }\n }\n}\n\nexports._getMountedRootCount = _getMountedRootCount;\nexports.collectCustomHooksForSignature = collectCustomHooksForSignature;\nexports.createSignatureFunctionForTransform = createSignatureFunctionForTransform;\nexports.findAffectedHostInstances = findAffectedHostInstances;\nexports.getFamilyByID = getFamilyByID;\nexports.getFamilyByType = getFamilyByType;\nexports.hasUnrecoverableErrors = hasUnrecoverableErrors;\nexports.injectIntoGlobalHook = injectIntoGlobalHook;\nexports.isLikelyComponentType = isLikelyComponentType;\nexports.performReactRefresh = performReactRefresh;\nexports.register = register;\nexports.setSignature = setSignature;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-refresh-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-refresh-runtime.development.js');\n}\n","// This needs to run before the renderer initializes.\n\nconst ReactRefreshRuntime = require('react-refresh/runtime');\nReactRefreshRuntime.injectIntoGlobalHook(global);\n\nconst Refresh = {\n performFullRefresh() {\n location.reload();\n },\n\n createSignatureFunctionForTransform: ReactRefreshRuntime.createSignatureFunctionForTransform,\n\n isLikelyComponentType: ReactRefreshRuntime.isLikelyComponentType,\n\n getFamilyByType: ReactRefreshRuntime.getFamilyByType,\n\n register: ReactRefreshRuntime.register,\n\n performReactRefresh() {\n if (ReactRefreshRuntime.hasUnrecoverableErrors()) {\n location.reload();\n return;\n }\n ReactRefreshRuntime.performReactRefresh();\n },\n};\n\n// The metro require polyfill can not have dependencies (applies for all polyfills).\n// Expose `Refresh` by assigning it to global to make it available in the polyfill.\nglobal[(global.__METRO_GLOBAL_PREFIX__ || '') + '__ReactRefresh'] = Refresh;\n","\"use strict\";\n\nvar has = Object.prototype.hasOwnProperty,\n prefix = \"~\";\nfunction Events() {}\nif (Object.create) {\n Events.prototype = Object.create(null);\n if (!new Events().__proto__) prefix = false;\n}\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== \"function\") {\n throw new TypeError(\"The listener must be a function\");\n }\n var listener = new EE(fn, context || emitter, once),\n evt = prefix ? prefix + event : event;\n if (!emitter._events[evt])\n ((emitter._events[evt] = listener), emitter._eventsCount++);\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n return emitter;\n}\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = [],\n events,\n name;\n if (this._eventsCount === 0) return names;\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n return names;\n};\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event,\n handlers = this._events[evt];\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n return ee;\n};\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event,\n listeners = this._events[evt];\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n if (!this._events[evt]) return false;\n var listeners = this._events[evt],\n len = arguments.length,\n args,\n i;\n if (listeners.fn) {\n if (listeners.once)\n this.removeListener(event, listeners.fn, undefined, true);\n switch (len) {\n case 1:\n return (listeners.fn.call(listeners.context), true);\n case 2:\n return (listeners.fn.call(listeners.context, a1), true);\n case 3:\n return (listeners.fn.call(listeners.context, a1, a2), true);\n case 4:\n return (listeners.fn.call(listeners.context, a1, a2, a3), true);\n case 5:\n return (listeners.fn.call(listeners.context, a1, a2, a3, a4), true);\n case 6:\n return (listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true);\n }\n for (i = 1, args = new Array(len - 1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length,\n j;\n for (i = 0; i < length; i++) {\n if (listeners[i].once)\n this.removeListener(event, listeners[i].fn, undefined, true);\n switch (len) {\n case 1:\n listeners[i].fn.call(listeners[i].context);\n break;\n case 2:\n listeners[i].fn.call(listeners[i].context, a1);\n break;\n case 3:\n listeners[i].fn.call(listeners[i].context, a1, a2);\n break;\n case 4:\n listeners[i].fn.call(listeners[i].context, a1, a2, a3);\n break;\n default:\n if (!args)\n for (j = 1, args = new Array(len - 1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n return true;\n};\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\nEventEmitter.prototype.removeListener = function removeListener(\n event,\n fn,\n context,\n once,\n) {\n var evt = prefix ? prefix + event : event;\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n var listeners = this._events[evt];\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n if (events.length)\n this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n return this;\n};\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n return this;\n};\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\nEventEmitter.prefixed = prefix;\nEventEmitter.EventEmitter = EventEmitter;\nif (\"undefined\" !== typeof module) {\n module.exports = EventEmitter;\n}\n","\"use strict\";\n\nconst EventEmitter = require(\"./vendor/eventemitter3\");\nconst inject = ({ module: [id, code], sourceURL }) => {\n if (global.globalEvalWithSourceUrl) {\n global.globalEvalWithSourceUrl(code, sourceURL);\n } else {\n eval(code);\n }\n};\nconst injectUpdate = (update) => {\n update.added.forEach(inject);\n update.modified.forEach(inject);\n};\nclass HMRClient extends EventEmitter {\n _isEnabled = false;\n _pendingUpdate = null;\n _queue = [];\n _state = \"opening\";\n constructor(url) {\n super();\n this._ws = new global.WebSocket(url);\n this._ws.onopen = () => {\n this._state = \"open\";\n this.emit(\"open\");\n this._flushQueue();\n };\n this._ws.onerror = (error) => {\n this.emit(\"connection-error\", error);\n };\n this._ws.onclose = (closeEvent) => {\n this._state = \"closed\";\n this.emit(\"close\", closeEvent);\n };\n this._ws.onmessage = (message) => {\n const data = JSON.parse(String(message.data));\n switch (data.type) {\n case \"bundle-registered\":\n this.emit(\"bundle-registered\");\n break;\n case \"update-start\":\n this.emit(\"update-start\", data.body);\n break;\n case \"update\":\n this.emit(\"update\", data.body);\n break;\n case \"update-done\":\n this.emit(\"update-done\");\n break;\n case \"error\":\n this.emit(\"error\", data.body);\n break;\n default:\n this.emit(\"error\", {\n type: \"unknown-message\",\n message: data,\n });\n }\n };\n this.on(\"update\", (update) => {\n if (this._isEnabled) {\n injectUpdate(update);\n } else if (this._pendingUpdate == null) {\n this._pendingUpdate = update;\n } else {\n this._pendingUpdate = mergeUpdates(this._pendingUpdate, update);\n }\n });\n }\n close() {\n this._ws.close();\n }\n send(message) {\n switch (this._state) {\n case \"opening\":\n this._queue.push(message);\n break;\n case \"open\":\n this._ws.send(message);\n break;\n case \"closed\":\n break;\n default:\n throw new Error(\"[WebSocketHMRClient] Unknown state: \" + this._state);\n }\n }\n _flushQueue() {\n this._queue.forEach((message) => this.send(message));\n this._queue.length = 0;\n }\n enable() {\n this._isEnabled = true;\n const update = this._pendingUpdate;\n this._pendingUpdate = null;\n if (update != null) {\n injectUpdate(update);\n }\n }\n disable() {\n this._isEnabled = false;\n }\n isEnabled() {\n return this._isEnabled;\n }\n hasPendingUpdates() {\n return this._pendingUpdate != null;\n }\n}\nfunction mergeUpdates(base, next) {\n const addedIDs = new Set();\n const deletedIDs = new Set();\n const moduleMap = new Map();\n applyUpdateLocally(base);\n applyUpdateLocally(next);\n function applyUpdateLocally(update) {\n update.deleted.forEach((id) => {\n if (addedIDs.has(id)) {\n addedIDs.delete(id);\n } else {\n deletedIDs.add(id);\n }\n moduleMap.delete(id);\n });\n update.added.forEach((item) => {\n const id = item.module[0];\n if (deletedIDs.has(id)) {\n deletedIDs.delete(id);\n } else {\n addedIDs.add(id);\n }\n moduleMap.set(id, item);\n });\n update.modified.forEach((item) => {\n const id = item.module[0];\n moduleMap.set(id, item);\n });\n }\n const result = {\n isInitialUpdate: next.isInitialUpdate,\n revisionId: next.revisionId,\n added: [],\n modified: [],\n deleted: [],\n };\n deletedIDs.forEach((id) => {\n result.deleted.push(id);\n });\n moduleMap.forEach((item, id) => {\n if (deletedIDs.has(id)) {\n return;\n }\n if (addedIDs.has(id)) {\n result.added.push(item);\n } else {\n result.modified.push(item);\n }\n });\n return result;\n}\nmodule.exports = HMRClient;\n","module.exports = require(\"metro-runtime/src/modules/HMRClient.js\");","'use strict';\n\nconst ANSI_BACKGROUND_OFFSET = 10;\n\nconst wrapAnsi256 = (offset = 0) => code => `\\u001B[${38 + offset};5;${code}m`;\n\nconst wrapAnsi16m = (offset = 0) => (red, green, blue) => `\\u001B[${38 + offset};2;${red};${green};${blue}m`;\n\nfunction assembleStyles() {\n\tconst codes = new Map();\n\tconst styles = {\n\t\tmodifier: {\n\t\t\treset: [0, 0],\n\t\t\t// 21 isn't widely supported and 22 does the same thing\n\t\t\tbold: [1, 22],\n\t\t\tdim: [2, 22],\n\t\t\titalic: [3, 23],\n\t\t\tunderline: [4, 24],\n\t\t\toverline: [53, 55],\n\t\t\tinverse: [7, 27],\n\t\t\thidden: [8, 28],\n\t\t\tstrikethrough: [9, 29]\n\t\t},\n\t\tcolor: {\n\t\t\tblack: [30, 39],\n\t\t\tred: [31, 39],\n\t\t\tgreen: [32, 39],\n\t\t\tyellow: [33, 39],\n\t\t\tblue: [34, 39],\n\t\t\tmagenta: [35, 39],\n\t\t\tcyan: [36, 39],\n\t\t\twhite: [37, 39],\n\n\t\t\t// Bright color\n\t\t\tblackBright: [90, 39],\n\t\t\tredBright: [91, 39],\n\t\t\tgreenBright: [92, 39],\n\t\t\tyellowBright: [93, 39],\n\t\t\tblueBright: [94, 39],\n\t\t\tmagentaBright: [95, 39],\n\t\t\tcyanBright: [96, 39],\n\t\t\twhiteBright: [97, 39]\n\t\t},\n\t\tbgColor: {\n\t\t\tbgBlack: [40, 49],\n\t\t\tbgRed: [41, 49],\n\t\t\tbgGreen: [42, 49],\n\t\t\tbgYellow: [43, 49],\n\t\t\tbgBlue: [44, 49],\n\t\t\tbgMagenta: [45, 49],\n\t\t\tbgCyan: [46, 49],\n\t\t\tbgWhite: [47, 49],\n\n\t\t\t// Bright color\n\t\t\tbgBlackBright: [100, 49],\n\t\t\tbgRedBright: [101, 49],\n\t\t\tbgGreenBright: [102, 49],\n\t\t\tbgYellowBright: [103, 49],\n\t\t\tbgBlueBright: [104, 49],\n\t\t\tbgMagentaBright: [105, 49],\n\t\t\tbgCyanBright: [106, 49],\n\t\t\tbgWhiteBright: [107, 49]\n\t\t}\n\t};\n\n\t// Alias bright black as gray (and grey)\n\tstyles.color.gray = styles.color.blackBright;\n\tstyles.bgColor.bgGray = styles.bgColor.bgBlackBright;\n\tstyles.color.grey = styles.color.blackBright;\n\tstyles.bgColor.bgGrey = styles.bgColor.bgBlackBright;\n\n\tfor (const [groupName, group] of Object.entries(styles)) {\n\t\tfor (const [styleName, style] of Object.entries(group)) {\n\t\t\tstyles[styleName] = {\n\t\t\t\topen: `\\u001B[${style[0]}m`,\n\t\t\t\tclose: `\\u001B[${style[1]}m`\n\t\t\t};\n\n\t\t\tgroup[styleName] = styles[styleName];\n\n\t\t\tcodes.set(style[0], style[1]);\n\t\t}\n\n\t\tObject.defineProperty(styles, groupName, {\n\t\t\tvalue: group,\n\t\t\tenumerable: false\n\t\t});\n\t}\n\n\tObject.defineProperty(styles, 'codes', {\n\t\tvalue: codes,\n\t\tenumerable: false\n\t});\n\n\tstyles.color.close = '\\u001B[39m';\n\tstyles.bgColor.close = '\\u001B[49m';\n\n\tstyles.color.ansi256 = wrapAnsi256();\n\tstyles.color.ansi16m = wrapAnsi16m();\n\tstyles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);\n\tstyles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);\n\n\t// From https://github.com/Qix-/color-convert/blob/3f0e0d4e92e235796ccb17f6e85c72094a651f49/conversions.js\n\tObject.defineProperties(styles, {\n\t\trgbToAnsi256: {\n\t\t\tvalue: (red, green, blue) => {\n\t\t\t\t// We use the extended greyscale palette here, with the exception of\n\t\t\t\t// black and white. normal palette only has 4 greyscale shades.\n\t\t\t\tif (red === green && green === blue) {\n\t\t\t\t\tif (red < 8) {\n\t\t\t\t\t\treturn 16;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (red > 248) {\n\t\t\t\t\t\treturn 231;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn Math.round(((red - 8) / 247) * 24) + 232;\n\t\t\t\t}\n\n\t\t\t\treturn 16 +\n\t\t\t\t\t(36 * Math.round(red / 255 * 5)) +\n\t\t\t\t\t(6 * Math.round(green / 255 * 5)) +\n\t\t\t\t\tMath.round(blue / 255 * 5);\n\t\t\t},\n\t\t\tenumerable: false\n\t\t},\n\t\thexToRgb: {\n\t\t\tvalue: hex => {\n\t\t\t\tconst matches = /(?<colorString>[a-f\\d]{6}|[a-f\\d]{3})/i.exec(hex.toString(16));\n\t\t\t\tif (!matches) {\n\t\t\t\t\treturn [0, 0, 0];\n\t\t\t\t}\n\n\t\t\t\tlet {colorString} = matches.groups;\n\n\t\t\t\tif (colorString.length === 3) {\n\t\t\t\t\tcolorString = colorString.split('').map(character => character + character).join('');\n\t\t\t\t}\n\n\t\t\t\tconst integer = Number.parseInt(colorString, 16);\n\n\t\t\t\treturn [\n\t\t\t\t\t(integer >> 16) & 0xFF,\n\t\t\t\t\t(integer >> 8) & 0xFF,\n\t\t\t\t\tinteger & 0xFF\n\t\t\t\t];\n\t\t\t},\n\t\t\tenumerable: false\n\t\t},\n\t\thexToAnsi256: {\n\t\t\tvalue: hex => styles.rgbToAnsi256(...styles.hexToRgb(hex)),\n\t\t\tenumerable: false\n\t\t}\n\t});\n\n\treturn styles;\n}\n\n// Make the export immutable\nObject.defineProperty(module, 'exports', {\n\tenumerable: true,\n\tget: assembleStyles\n});\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports.printIteratorEntries = printIteratorEntries;\nexports.printIteratorValues = printIteratorValues;\nexports.printListItems = printListItems;\nexports.printObjectProperties = printObjectProperties;\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nconst getKeysOfEnumerableProperties = (object, compareKeys) => {\n const rawKeys = Object.keys(object);\n const keys = compareKeys !== null ? rawKeys.sort(compareKeys) : rawKeys;\n if (Object.getOwnPropertySymbols) {\n Object.getOwnPropertySymbols(object).forEach(symbol => {\n if (Object.getOwnPropertyDescriptor(object, symbol).enumerable) {\n keys.push(symbol);\n }\n });\n }\n return keys;\n};\n\n/**\n * Return entries (for example, of a map)\n * with spacing, indentation, and comma\n * without surrounding punctuation (for example, braces)\n */\nfunction printIteratorEntries(\n iterator,\n config,\n indentation,\n depth,\n refs,\n printer,\n // Too bad, so sad that separator for ECMAScript Map has been ' => '\n // What a distracting diff if you change a data structure to/from\n // ECMAScript Object or Immutable.Map/OrderedMap which use the default.\n separator = ': '\n) {\n let result = '';\n let width = 0;\n let current = iterator.next();\n if (!current.done) {\n result += config.spacingOuter;\n const indentationNext = indentation + config.indent;\n while (!current.done) {\n result += indentationNext;\n if (width++ === config.maxWidth) {\n result += '…';\n break;\n }\n const name = printer(\n current.value[0],\n config,\n indentationNext,\n depth,\n refs\n );\n const value = printer(\n current.value[1],\n config,\n indentationNext,\n depth,\n refs\n );\n result += name + separator + value;\n current = iterator.next();\n if (!current.done) {\n result += `,${config.spacingInner}`;\n } else if (!config.min) {\n result += ',';\n }\n }\n result += config.spacingOuter + indentation;\n }\n return result;\n}\n\n/**\n * Return values (for example, of a set)\n * with spacing, indentation, and comma\n * without surrounding punctuation (braces or brackets)\n */\nfunction printIteratorValues(\n iterator,\n config,\n indentation,\n depth,\n refs,\n printer\n) {\n let result = '';\n let width = 0;\n let current = iterator.next();\n if (!current.done) {\n result += config.spacingOuter;\n const indentationNext = indentation + config.indent;\n while (!current.done) {\n result += indentationNext;\n if (width++ === config.maxWidth) {\n result += '…';\n break;\n }\n result += printer(current.value, config, indentationNext, depth, refs);\n current = iterator.next();\n if (!current.done) {\n result += `,${config.spacingInner}`;\n } else if (!config.min) {\n result += ',';\n }\n }\n result += config.spacingOuter + indentation;\n }\n return result;\n}\n\n/**\n * Return items (for example, of an array)\n * with spacing, indentation, and comma\n * without surrounding punctuation (for example, brackets)\n **/\nfunction printListItems(list, config, indentation, depth, refs, printer) {\n let result = '';\n if (list.length) {\n result += config.spacingOuter;\n const indentationNext = indentation + config.indent;\n for (let i = 0; i < list.length; i++) {\n result += indentationNext;\n if (i === config.maxWidth) {\n result += '…';\n break;\n }\n if (i in list) {\n result += printer(list[i], config, indentationNext, depth, refs);\n }\n if (i < list.length - 1) {\n result += `,${config.spacingInner}`;\n } else if (!config.min) {\n result += ',';\n }\n }\n result += config.spacingOuter + indentation;\n }\n return result;\n}\n\n/**\n * Return properties of an object\n * with spacing, indentation, and comma\n * without surrounding punctuation (for example, braces)\n */\nfunction printObjectProperties(val, config, indentation, depth, refs, printer) {\n let result = '';\n const keys = getKeysOfEnumerableProperties(val, config.compareKeys);\n if (keys.length) {\n result += config.spacingOuter;\n const indentationNext = indentation + config.indent;\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const name = printer(key, config, indentationNext, depth, refs);\n const value = printer(val[key], config, indentationNext, depth, refs);\n result += `${indentationNext + name}: ${value}`;\n if (i < keys.length - 1) {\n result += `,${config.spacingInner}`;\n } else if (!config.min) {\n result += ',';\n }\n }\n result += config.spacingOuter + indentation;\n }\n return result;\n}\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports.test = exports.serialize = exports.default = void 0;\nvar _collections = require('../collections');\nvar Symbol = globalThis['jest-symbol-do-not-touch'] || globalThis.Symbol;\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nconst asymmetricMatcher =\n typeof Symbol === 'function' && Symbol.for\n ? Symbol.for('jest.asymmetricMatcher')\n : 0x1357a5;\nconst SPACE = ' ';\nconst serialize = (val, config, indentation, depth, refs, printer) => {\n const stringedValue = val.toString();\n if (\n stringedValue === 'ArrayContaining' ||\n stringedValue === 'ArrayNotContaining'\n ) {\n if (++depth > config.maxDepth) {\n return `[${stringedValue}]`;\n }\n return `${stringedValue + SPACE}[${(0, _collections.printListItems)(\n val.sample,\n config,\n indentation,\n depth,\n refs,\n printer\n )}]`;\n }\n if (\n stringedValue === 'ObjectContaining' ||\n stringedValue === 'ObjectNotContaining'\n ) {\n if (++depth > config.maxDepth) {\n return `[${stringedValue}]`;\n }\n return `${stringedValue + SPACE}{${(0, _collections.printObjectProperties)(\n val.sample,\n config,\n indentation,\n depth,\n refs,\n printer\n )}}`;\n }\n if (\n stringedValue === 'StringMatching' ||\n stringedValue === 'StringNotMatching'\n ) {\n return (\n stringedValue +\n SPACE +\n printer(val.sample, config, indentation, depth, refs)\n );\n }\n if (\n stringedValue === 'StringContaining' ||\n stringedValue === 'StringNotContaining'\n ) {\n return (\n stringedValue +\n SPACE +\n printer(val.sample, config, indentation, depth, refs)\n );\n }\n if (typeof val.toAsymmetricMatcher !== 'function') {\n throw new Error(\n `Asymmetric matcher ${val.constructor.name} does not implement toAsymmetricMatcher()`\n );\n }\n return val.toAsymmetricMatcher();\n};\nexports.serialize = serialize;\nconst test = val => val && val.$$typeof === asymmetricMatcher;\nexports.test = test;\nconst plugin = {\n serialize,\n test\n};\nvar _default = plugin;\nexports.default = _default;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports.test = exports.serialize = exports.default = void 0;\nvar _collections = require('../collections');\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nconst SPACE = ' ';\nconst OBJECT_NAMES = ['DOMStringMap', 'NamedNodeMap'];\nconst ARRAY_REGEXP = /^(HTML\\w*Collection|NodeList)$/;\nconst testName = name =>\n OBJECT_NAMES.indexOf(name) !== -1 || ARRAY_REGEXP.test(name);\nconst test = val =>\n val &&\n val.constructor &&\n !!val.constructor.name &&\n testName(val.constructor.name);\nexports.test = test;\nconst isNamedNodeMap = collection =>\n collection.constructor.name === 'NamedNodeMap';\nconst serialize = (collection, config, indentation, depth, refs, printer) => {\n const name = collection.constructor.name;\n if (++depth > config.maxDepth) {\n return `[${name}]`;\n }\n return (\n (config.min ? '' : name + SPACE) +\n (OBJECT_NAMES.indexOf(name) !== -1\n ? `{${(0, _collections.printObjectProperties)(\n isNamedNodeMap(collection)\n ? Array.from(collection).reduce((props, attribute) => {\n props[attribute.name] = attribute.value;\n return props;\n }, {})\n : {\n ...collection\n },\n config,\n indentation,\n depth,\n refs,\n printer\n )}}`\n : `[${(0, _collections.printListItems)(\n Array.from(collection),\n config,\n indentation,\n depth,\n refs,\n printer\n )}]`)\n );\n};\nexports.serialize = serialize;\nconst plugin = {\n serialize,\n test\n};\nvar _default = plugin;\nexports.default = _default;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports.default = escapeHTML;\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction escapeHTML(str) {\n return str.replace(/</g, '&lt;').replace(/>/g, '&gt;');\n}\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports.printText =\n exports.printProps =\n exports.printElementAsLeaf =\n exports.printElement =\n exports.printComment =\n exports.printChildren =\n void 0;\nvar _escapeHTML = _interopRequireDefault(require('./escapeHTML'));\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {default: obj};\n}\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n// Return empty string if keys is empty.\nconst printProps = (keys, props, config, indentation, depth, refs, printer) => {\n const indentationNext = indentation + config.indent;\n const colors = config.colors;\n return keys\n .map(key => {\n const value = props[key];\n let printed = printer(value, config, indentationNext, depth, refs);\n if (typeof value !== 'string') {\n if (printed.indexOf('\\n') !== -1) {\n printed =\n config.spacingOuter +\n indentationNext +\n printed +\n config.spacingOuter +\n indentation;\n }\n printed = `{${printed}}`;\n }\n return `${\n config.spacingInner +\n indentation +\n colors.prop.open +\n key +\n colors.prop.close\n }=${colors.value.open}${printed}${colors.value.close}`;\n })\n .join('');\n};\n\n// Return empty string if children is empty.\nexports.printProps = printProps;\nconst printChildren = (children, config, indentation, depth, refs, printer) =>\n children\n .map(\n child =>\n config.spacingOuter +\n indentation +\n (typeof child === 'string'\n ? printText(child, config)\n : printer(child, config, indentation, depth, refs))\n )\n .join('');\nexports.printChildren = printChildren;\nconst printText = (text, config) => {\n const contentColor = config.colors.content;\n return (\n contentColor.open + (0, _escapeHTML.default)(text) + contentColor.close\n );\n};\nexports.printText = printText;\nconst printComment = (comment, config) => {\n const commentColor = config.colors.comment;\n return `${commentColor.open}<!--${(0, _escapeHTML.default)(comment)}-->${\n commentColor.close\n }`;\n};\n\n// Separate the functions to format props, children, and element,\n// so a plugin could override a particular function, if needed.\n// Too bad, so sad: the traditional (but unnecessary) space\n// in a self-closing tagColor requires a second test of printedProps.\nexports.printComment = printComment;\nconst printElement = (\n type,\n printedProps,\n printedChildren,\n config,\n indentation\n) => {\n const tagColor = config.colors.tag;\n return `${tagColor.open}<${type}${\n printedProps &&\n tagColor.close +\n printedProps +\n config.spacingOuter +\n indentation +\n tagColor.open\n }${\n printedChildren\n ? `>${tagColor.close}${printedChildren}${config.spacingOuter}${indentation}${tagColor.open}</${type}`\n : `${printedProps && !config.min ? '' : ' '}/`\n }>${tagColor.close}`;\n};\nexports.printElement = printElement;\nconst printElementAsLeaf = (type, config) => {\n const tagColor = config.colors.tag;\n return `${tagColor.open}<${type}${tagColor.close} …${tagColor.open} />${tagColor.close}`;\n};\nexports.printElementAsLeaf = printElementAsLeaf;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports.test = exports.serialize = exports.default = void 0;\nvar _markup = require('./lib/markup');\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nconst ELEMENT_NODE = 1;\nconst TEXT_NODE = 3;\nconst COMMENT_NODE = 8;\nconst FRAGMENT_NODE = 11;\nconst ELEMENT_REGEXP = /^((HTML|SVG)\\w*)?Element$/;\nconst testHasAttribute = val => {\n try {\n return typeof val.hasAttribute === 'function' && val.hasAttribute('is');\n } catch {\n return false;\n }\n};\nconst testNode = val => {\n const constructorName = val.constructor.name;\n const {nodeType, tagName} = val;\n const isCustomElement =\n (typeof tagName === 'string' && tagName.includes('-')) ||\n testHasAttribute(val);\n return (\n (nodeType === ELEMENT_NODE &&\n (ELEMENT_REGEXP.test(constructorName) || isCustomElement)) ||\n (nodeType === TEXT_NODE && constructorName === 'Text') ||\n (nodeType === COMMENT_NODE && constructorName === 'Comment') ||\n (nodeType === FRAGMENT_NODE && constructorName === 'DocumentFragment')\n );\n};\nconst test = val => val?.constructor?.name && testNode(val);\nexports.test = test;\nfunction nodeIsText(node) {\n return node.nodeType === TEXT_NODE;\n}\nfunction nodeIsComment(node) {\n return node.nodeType === COMMENT_NODE;\n}\nfunction nodeIsFragment(node) {\n return node.nodeType === FRAGMENT_NODE;\n}\nconst serialize = (node, config, indentation, depth, refs, printer) => {\n if (nodeIsText(node)) {\n return (0, _markup.printText)(node.data, config);\n }\n if (nodeIsComment(node)) {\n return (0, _markup.printComment)(node.data, config);\n }\n const type = nodeIsFragment(node)\n ? 'DocumentFragment'\n : node.tagName.toLowerCase();\n if (++depth > config.maxDepth) {\n return (0, _markup.printElementAsLeaf)(type, config);\n }\n return (0, _markup.printElement)(\n type,\n (0, _markup.printProps)(\n nodeIsFragment(node)\n ? []\n : Array.from(node.attributes, attr => attr.name).sort(),\n nodeIsFragment(node)\n ? {}\n : Array.from(node.attributes).reduce((props, attribute) => {\n props[attribute.name] = attribute.value;\n return props;\n }, {}),\n config,\n indentation + config.indent,\n depth,\n refs,\n printer\n ),\n (0, _markup.printChildren)(\n Array.prototype.slice.call(node.childNodes || node.children),\n config,\n indentation + config.indent,\n depth,\n refs,\n printer\n ),\n config,\n indentation\n );\n};\nexports.serialize = serialize;\nconst plugin = {\n serialize,\n test\n};\nvar _default = plugin;\nexports.default = _default;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports.test = exports.serialize = exports.default = void 0;\nvar _collections = require('../collections');\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n// SENTINEL constants are from https://github.com/facebook/immutable-js\nconst IS_ITERABLE_SENTINEL = '@@__IMMUTABLE_ITERABLE__@@';\nconst IS_LIST_SENTINEL = '@@__IMMUTABLE_LIST__@@';\nconst IS_KEYED_SENTINEL = '@@__IMMUTABLE_KEYED__@@';\nconst IS_MAP_SENTINEL = '@@__IMMUTABLE_MAP__@@';\nconst IS_ORDERED_SENTINEL = '@@__IMMUTABLE_ORDERED__@@';\nconst IS_RECORD_SENTINEL = '@@__IMMUTABLE_RECORD__@@'; // immutable v4\nconst IS_SEQ_SENTINEL = '@@__IMMUTABLE_SEQ__@@';\nconst IS_SET_SENTINEL = '@@__IMMUTABLE_SET__@@';\nconst IS_STACK_SENTINEL = '@@__IMMUTABLE_STACK__@@';\nconst getImmutableName = name => `Immutable.${name}`;\nconst printAsLeaf = name => `[${name}]`;\nconst SPACE = ' ';\nconst LAZY = '…'; // Seq is lazy if it calls a method like filter\n\nconst printImmutableEntries = (\n val,\n config,\n indentation,\n depth,\n refs,\n printer,\n type\n) =>\n ++depth > config.maxDepth\n ? printAsLeaf(getImmutableName(type))\n : `${getImmutableName(type) + SPACE}{${(0,\n _collections.printIteratorEntries)(\n val.entries(),\n config,\n indentation,\n depth,\n refs,\n printer\n )}}`;\n\n// Record has an entries method because it is a collection in immutable v3.\n// Return an iterator for Immutable Record from version v3 or v4.\nfunction getRecordEntries(val) {\n let i = 0;\n return {\n next() {\n if (i < val._keys.length) {\n const key = val._keys[i++];\n return {\n done: false,\n value: [key, val.get(key)]\n };\n }\n return {\n done: true,\n value: undefined\n };\n }\n };\n}\nconst printImmutableRecord = (\n val,\n config,\n indentation,\n depth,\n refs,\n printer\n) => {\n // _name property is defined only for an Immutable Record instance\n // which was constructed with a second optional descriptive name arg\n const name = getImmutableName(val._name || 'Record');\n return ++depth > config.maxDepth\n ? printAsLeaf(name)\n : `${name + SPACE}{${(0, _collections.printIteratorEntries)(\n getRecordEntries(val),\n config,\n indentation,\n depth,\n refs,\n printer\n )}}`;\n};\nconst printImmutableSeq = (val, config, indentation, depth, refs, printer) => {\n const name = getImmutableName('Seq');\n if (++depth > config.maxDepth) {\n return printAsLeaf(name);\n }\n if (val[IS_KEYED_SENTINEL]) {\n return `${name + SPACE}{${\n // from Immutable collection of entries or from ECMAScript object\n val._iter || val._object\n ? (0, _collections.printIteratorEntries)(\n val.entries(),\n config,\n indentation,\n depth,\n refs,\n printer\n )\n : LAZY\n }}`;\n }\n return `${name + SPACE}[${\n val._iter ||\n // from Immutable collection of values\n val._array ||\n // from ECMAScript array\n val._collection ||\n // from ECMAScript collection in immutable v4\n val._iterable // from ECMAScript collection in immutable v3\n ? (0, _collections.printIteratorValues)(\n val.values(),\n config,\n indentation,\n depth,\n refs,\n printer\n )\n : LAZY\n }]`;\n};\nconst printImmutableValues = (\n val,\n config,\n indentation,\n depth,\n refs,\n printer,\n type\n) =>\n ++depth > config.maxDepth\n ? printAsLeaf(getImmutableName(type))\n : `${getImmutableName(type) + SPACE}[${(0,\n _collections.printIteratorValues)(\n val.values(),\n config,\n indentation,\n depth,\n refs,\n printer\n )}]`;\nconst serialize = (val, config, indentation, depth, refs, printer) => {\n if (val[IS_MAP_SENTINEL]) {\n return printImmutableEntries(\n val,\n config,\n indentation,\n depth,\n refs,\n printer,\n val[IS_ORDERED_SENTINEL] ? 'OrderedMap' : 'Map'\n );\n }\n if (val[IS_LIST_SENTINEL]) {\n return printImmutableValues(\n val,\n config,\n indentation,\n depth,\n refs,\n printer,\n 'List'\n );\n }\n if (val[IS_SET_SENTINEL]) {\n return printImmutableValues(\n val,\n config,\n indentation,\n depth,\n refs,\n printer,\n val[IS_ORDERED_SENTINEL] ? 'OrderedSet' : 'Set'\n );\n }\n if (val[IS_STACK_SENTINEL]) {\n return printImmutableValues(\n val,\n config,\n indentation,\n depth,\n refs,\n printer,\n 'Stack'\n );\n }\n if (val[IS_SEQ_SENTINEL]) {\n return printImmutableSeq(val, config, indentation, depth, refs, printer);\n }\n\n // For compatibility with immutable v3 and v4, let record be the default.\n return printImmutableRecord(val, config, indentation, depth, refs, printer);\n};\n\n// Explicitly comparing sentinel properties to true avoids false positive\n// when mock identity-obj-proxy returns the key as the value for any key.\nexports.serialize = serialize;\nconst test = val =>\n val &&\n (val[IS_ITERABLE_SENTINEL] === true || val[IS_RECORD_SENTINEL] === true);\nexports.test = test;\nconst plugin = {\n serialize,\n test\n};\nvar _default = plugin;\nexports.default = _default;\n","/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n","/**\n * @license React\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_SERVER_CONTEXT_TYPE = Symbol.for('react.server_context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n case REACT_SUSPENSE_LIST_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_SERVER_CONTEXT_TYPE:\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n}\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar SuspenseList = REACT_SUSPENSE_LIST_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false;\nvar hasWarnedAboutDeprecatedIsConcurrentMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n }\n }\n\n return false;\n}\nfunction isConcurrentMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsConcurrentMode) {\n hasWarnedAboutDeprecatedIsConcurrentMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isConcurrentMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n }\n }\n\n return false;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\nfunction isSuspenseList(object) {\n return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;\n}\n\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.SuspenseList = SuspenseList;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isSuspenseList = isSuspenseList;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports.test = exports.serialize = exports.default = void 0;\nvar ReactIs = _interopRequireWildcard(require('react-is'));\nvar _markup = require('./lib/markup');\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== 'function') return null;\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function (nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nfunction _interopRequireWildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n if (obj === null || (typeof obj !== 'object' && typeof obj !== 'function')) {\n return {default: obj};\n }\n var cache = _getRequireWildcardCache(nodeInterop);\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n var newObj = {};\n var hasPropertyDescriptor =\n Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (var key in obj) {\n if (key !== 'default' && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor\n ? Object.getOwnPropertyDescriptor(obj, key)\n : null;\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n newObj.default = obj;\n if (cache) {\n cache.set(obj, newObj);\n }\n return newObj;\n}\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n// Given element.props.children, or subtree during recursive traversal,\n// return flattened array of children.\nconst getChildren = (arg, children = []) => {\n if (Array.isArray(arg)) {\n arg.forEach(item => {\n getChildren(item, children);\n });\n } else if (arg != null && arg !== false) {\n children.push(arg);\n }\n return children;\n};\nconst getType = element => {\n const type = element.type;\n if (typeof type === 'string') {\n return type;\n }\n if (typeof type === 'function') {\n return type.displayName || type.name || 'Unknown';\n }\n if (ReactIs.isFragment(element)) {\n return 'React.Fragment';\n }\n if (ReactIs.isSuspense(element)) {\n return 'React.Suspense';\n }\n if (typeof type === 'object' && type !== null) {\n if (ReactIs.isContextProvider(element)) {\n return 'Context.Provider';\n }\n if (ReactIs.isContextConsumer(element)) {\n return 'Context.Consumer';\n }\n if (ReactIs.isForwardRef(element)) {\n if (type.displayName) {\n return type.displayName;\n }\n const functionName = type.render.displayName || type.render.name || '';\n return functionName !== '' ? `ForwardRef(${functionName})` : 'ForwardRef';\n }\n if (ReactIs.isMemo(element)) {\n const functionName =\n type.displayName || type.type.displayName || type.type.name || '';\n return functionName !== '' ? `Memo(${functionName})` : 'Memo';\n }\n }\n return 'UNDEFINED';\n};\nconst getPropKeys = element => {\n const {props} = element;\n return Object.keys(props)\n .filter(key => key !== 'children' && props[key] !== undefined)\n .sort();\n};\nconst serialize = (element, config, indentation, depth, refs, printer) =>\n ++depth > config.maxDepth\n ? (0, _markup.printElementAsLeaf)(getType(element), config)\n : (0, _markup.printElement)(\n getType(element),\n (0, _markup.printProps)(\n getPropKeys(element),\n element.props,\n config,\n indentation + config.indent,\n depth,\n refs,\n printer\n ),\n (0, _markup.printChildren)(\n getChildren(element.props.children),\n config,\n indentation + config.indent,\n depth,\n refs,\n printer\n ),\n config,\n indentation\n );\nexports.serialize = serialize;\nconst test = val => val != null && ReactIs.isElement(val);\nexports.test = test;\nconst plugin = {\n serialize,\n test\n};\nvar _default = plugin;\nexports.default = _default;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports.test = exports.serialize = exports.default = void 0;\nvar _markup = require('./lib/markup');\nvar Symbol = globalThis['jest-symbol-do-not-touch'] || globalThis.Symbol;\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n// Child can be `number` in Stack renderer but not in Fiber renderer.\n\nconst testSymbol =\n typeof Symbol === 'function' && Symbol.for\n ? Symbol.for('react.test.json')\n : 0xea71357;\nconst getPropKeys = object => {\n const {props} = object;\n return props\n ? Object.keys(props)\n .filter(key => props[key] !== undefined)\n .sort()\n : [];\n};\nconst serialize = (object, config, indentation, depth, refs, printer) =>\n ++depth > config.maxDepth\n ? (0, _markup.printElementAsLeaf)(object.type, config)\n : (0, _markup.printElement)(\n object.type,\n object.props\n ? (0, _markup.printProps)(\n getPropKeys(object),\n object.props,\n config,\n indentation + config.indent,\n depth,\n refs,\n printer\n )\n : '',\n object.children\n ? (0, _markup.printChildren)(\n object.children,\n config,\n indentation + config.indent,\n depth,\n refs,\n printer\n )\n : '',\n config,\n indentation\n );\nexports.serialize = serialize;\nconst test = val => val && val.$$typeof === testSymbol;\nexports.test = test;\nconst plugin = {\n serialize,\n test\n};\nvar _default = plugin;\nexports.default = _default;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports.default = exports.DEFAULT_OPTIONS = void 0;\nexports.format = format;\nexports.plugins = void 0;\nvar _ansiStyles = _interopRequireDefault(require('ansi-styles'));\nvar _collections = require('./collections');\nvar _AsymmetricMatcher = _interopRequireDefault(\n require('./plugins/AsymmetricMatcher')\n);\nvar _DOMCollection = _interopRequireDefault(require('./plugins/DOMCollection'));\nvar _DOMElement = _interopRequireDefault(require('./plugins/DOMElement'));\nvar _Immutable = _interopRequireDefault(require('./plugins/Immutable'));\nvar _ReactElement = _interopRequireDefault(require('./plugins/ReactElement'));\nvar _ReactTestComponent = _interopRequireDefault(\n require('./plugins/ReactTestComponent')\n);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {default: obj};\n}\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/* eslint-disable local/ban-types-eventually */\n\nconst toString = Object.prototype.toString;\nconst toISOString = Date.prototype.toISOString;\nconst errorToString = Error.prototype.toString;\nconst regExpToString = RegExp.prototype.toString;\n\n/**\n * Explicitly comparing typeof constructor to function avoids undefined as name\n * when mock identity-obj-proxy returns the key as the value for any key.\n */\nconst getConstructorName = val =>\n (typeof val.constructor === 'function' && val.constructor.name) || 'Object';\n\n/* global window */\n/** Is val is equal to global window object? Works even if it does not exist :) */\nconst isWindow = val => typeof window !== 'undefined' && val === window;\nconst SYMBOL_REGEXP = /^Symbol\\((.*)\\)(.*)$/;\nconst NEWLINE_REGEXP = /\\n/gi;\nclass PrettyFormatPluginError extends Error {\n constructor(message, stack) {\n super(message);\n this.stack = stack;\n this.name = this.constructor.name;\n }\n}\nfunction isToStringedArrayType(toStringed) {\n return (\n toStringed === '[object Array]' ||\n toStringed === '[object ArrayBuffer]' ||\n toStringed === '[object DataView]' ||\n toStringed === '[object Float32Array]' ||\n toStringed === '[object Float64Array]' ||\n toStringed === '[object Int8Array]' ||\n toStringed === '[object Int16Array]' ||\n toStringed === '[object Int32Array]' ||\n toStringed === '[object Uint8Array]' ||\n toStringed === '[object Uint8ClampedArray]' ||\n toStringed === '[object Uint16Array]' ||\n toStringed === '[object Uint32Array]'\n );\n}\nfunction printNumber(val) {\n return Object.is(val, -0) ? '-0' : String(val);\n}\nfunction printBigInt(val) {\n return String(`${val}n`);\n}\nfunction printFunction(val, printFunctionName) {\n if (!printFunctionName) {\n return '[Function]';\n }\n return `[Function ${val.name || 'anonymous'}]`;\n}\nfunction printSymbol(val) {\n return String(val).replace(SYMBOL_REGEXP, 'Symbol($1)');\n}\nfunction printError(val) {\n return `[${errorToString.call(val)}]`;\n}\n\n/**\n * The first port of call for printing an object, handles most of the\n * data-types in JS.\n */\nfunction printBasicValue(val, printFunctionName, escapeRegex, escapeString) {\n if (val === true || val === false) {\n return `${val}`;\n }\n if (val === undefined) {\n return 'undefined';\n }\n if (val === null) {\n return 'null';\n }\n const typeOf = typeof val;\n if (typeOf === 'number') {\n return printNumber(val);\n }\n if (typeOf === 'bigint') {\n return printBigInt(val);\n }\n if (typeOf === 'string') {\n if (escapeString) {\n return `\"${val.replace(/\"|\\\\/g, '\\\\$&')}\"`;\n }\n return `\"${val}\"`;\n }\n if (typeOf === 'function') {\n return printFunction(val, printFunctionName);\n }\n if (typeOf === 'symbol') {\n return printSymbol(val);\n }\n const toStringed = toString.call(val);\n if (toStringed === '[object WeakMap]') {\n return 'WeakMap {}';\n }\n if (toStringed === '[object WeakSet]') {\n return 'WeakSet {}';\n }\n if (\n toStringed === '[object Function]' ||\n toStringed === '[object GeneratorFunction]'\n ) {\n return printFunction(val, printFunctionName);\n }\n if (toStringed === '[object Symbol]') {\n return printSymbol(val);\n }\n if (toStringed === '[object Date]') {\n return isNaN(+val) ? 'Date { NaN }' : toISOString.call(val);\n }\n if (toStringed === '[object Error]') {\n return printError(val);\n }\n if (toStringed === '[object RegExp]') {\n if (escapeRegex) {\n // https://github.com/benjamingr/RegExp.escape/blob/main/polyfill.js\n return regExpToString.call(val).replace(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n return regExpToString.call(val);\n }\n if (val instanceof Error) {\n return printError(val);\n }\n return null;\n}\n\n/**\n * Handles more complex objects ( such as objects with circular references.\n * maps and sets etc )\n */\nfunction printComplexValue(\n val,\n config,\n indentation,\n depth,\n refs,\n hasCalledToJSON\n) {\n if (refs.indexOf(val) !== -1) {\n return '[Circular]';\n }\n refs = refs.slice();\n refs.push(val);\n const hitMaxDepth = ++depth > config.maxDepth;\n const min = config.min;\n if (\n config.callToJSON &&\n !hitMaxDepth &&\n val.toJSON &&\n typeof val.toJSON === 'function' &&\n !hasCalledToJSON\n ) {\n return printer(val.toJSON(), config, indentation, depth, refs, true);\n }\n const toStringed = toString.call(val);\n if (toStringed === '[object Arguments]') {\n return hitMaxDepth\n ? '[Arguments]'\n : `${min ? '' : 'Arguments '}[${(0, _collections.printListItems)(\n val,\n config,\n indentation,\n depth,\n refs,\n printer\n )}]`;\n }\n if (isToStringedArrayType(toStringed)) {\n return hitMaxDepth\n ? `[${val.constructor.name}]`\n : `${\n min\n ? ''\n : !config.printBasicPrototype && val.constructor.name === 'Array'\n ? ''\n : `${val.constructor.name} `\n }[${(0, _collections.printListItems)(\n val,\n config,\n indentation,\n depth,\n refs,\n printer\n )}]`;\n }\n if (toStringed === '[object Map]') {\n return hitMaxDepth\n ? '[Map]'\n : `Map {${(0, _collections.printIteratorEntries)(\n val.entries(),\n config,\n indentation,\n depth,\n refs,\n printer,\n ' => '\n )}}`;\n }\n if (toStringed === '[object Set]') {\n return hitMaxDepth\n ? '[Set]'\n : `Set {${(0, _collections.printIteratorValues)(\n val.values(),\n config,\n indentation,\n depth,\n refs,\n printer\n )}}`;\n }\n\n // Avoid failure to serialize global window object in jsdom test environment.\n // For example, not even relevant if window is prop of React element.\n return hitMaxDepth || isWindow(val)\n ? `[${getConstructorName(val)}]`\n : `${\n min\n ? ''\n : !config.printBasicPrototype && getConstructorName(val) === 'Object'\n ? ''\n : `${getConstructorName(val)} `\n }{${(0, _collections.printObjectProperties)(\n val,\n config,\n indentation,\n depth,\n refs,\n printer\n )}}`;\n}\nfunction isNewPlugin(plugin) {\n return plugin.serialize != null;\n}\nfunction printPlugin(plugin, val, config, indentation, depth, refs) {\n let printed;\n try {\n printed = isNewPlugin(plugin)\n ? plugin.serialize(val, config, indentation, depth, refs, printer)\n : plugin.print(\n val,\n valChild => printer(valChild, config, indentation, depth, refs),\n str => {\n const indentationNext = indentation + config.indent;\n return (\n indentationNext +\n str.replace(NEWLINE_REGEXP, `\\n${indentationNext}`)\n );\n },\n {\n edgeSpacing: config.spacingOuter,\n min: config.min,\n spacing: config.spacingInner\n },\n config.colors\n );\n } catch (error) {\n throw new PrettyFormatPluginError(error.message, error.stack);\n }\n if (typeof printed !== 'string') {\n throw new Error(\n `pretty-format: Plugin must return type \"string\" but instead returned \"${typeof printed}\".`\n );\n }\n return printed;\n}\nfunction findPlugin(plugins, val) {\n for (let p = 0; p < plugins.length; p++) {\n try {\n if (plugins[p].test(val)) {\n return plugins[p];\n }\n } catch (error) {\n throw new PrettyFormatPluginError(error.message, error.stack);\n }\n }\n return null;\n}\nfunction printer(val, config, indentation, depth, refs, hasCalledToJSON) {\n const plugin = findPlugin(config.plugins, val);\n if (plugin !== null) {\n return printPlugin(plugin, val, config, indentation, depth, refs);\n }\n const basicResult = printBasicValue(\n val,\n config.printFunctionName,\n config.escapeRegex,\n config.escapeString\n );\n if (basicResult !== null) {\n return basicResult;\n }\n return printComplexValue(\n val,\n config,\n indentation,\n depth,\n refs,\n hasCalledToJSON\n );\n}\nconst DEFAULT_THEME = {\n comment: 'gray',\n content: 'reset',\n prop: 'yellow',\n tag: 'cyan',\n value: 'green'\n};\nconst DEFAULT_THEME_KEYS = Object.keys(DEFAULT_THEME);\n\n// could be replaced by `satisfies` operator in the future: https://github.com/microsoft/TypeScript/issues/47920\nconst toOptionsSubtype = options => options;\nconst DEFAULT_OPTIONS = toOptionsSubtype({\n callToJSON: true,\n compareKeys: undefined,\n escapeRegex: false,\n escapeString: true,\n highlight: false,\n indent: 2,\n maxDepth: Infinity,\n maxWidth: Infinity,\n min: false,\n plugins: [],\n printBasicPrototype: true,\n printFunctionName: true,\n theme: DEFAULT_THEME\n});\nexports.DEFAULT_OPTIONS = DEFAULT_OPTIONS;\nfunction validateOptions(options) {\n Object.keys(options).forEach(key => {\n if (!Object.prototype.hasOwnProperty.call(DEFAULT_OPTIONS, key)) {\n throw new Error(`pretty-format: Unknown option \"${key}\".`);\n }\n });\n if (options.min && options.indent !== undefined && options.indent !== 0) {\n throw new Error(\n 'pretty-format: Options \"min\" and \"indent\" cannot be used together.'\n );\n }\n if (options.theme !== undefined) {\n if (options.theme === null) {\n throw new Error('pretty-format: Option \"theme\" must not be null.');\n }\n if (typeof options.theme !== 'object') {\n throw new Error(\n `pretty-format: Option \"theme\" must be of type \"object\" but instead received \"${typeof options.theme}\".`\n );\n }\n }\n}\nconst getColorsHighlight = options =>\n DEFAULT_THEME_KEYS.reduce((colors, key) => {\n const value =\n options.theme && options.theme[key] !== undefined\n ? options.theme[key]\n : DEFAULT_THEME[key];\n const color = value && _ansiStyles.default[value];\n if (\n color &&\n typeof color.close === 'string' &&\n typeof color.open === 'string'\n ) {\n colors[key] = color;\n } else {\n throw new Error(\n `pretty-format: Option \"theme\" has a key \"${key}\" whose value \"${value}\" is undefined in ansi-styles.`\n );\n }\n return colors;\n }, Object.create(null));\nconst getColorsEmpty = () =>\n DEFAULT_THEME_KEYS.reduce((colors, key) => {\n colors[key] = {\n close: '',\n open: ''\n };\n return colors;\n }, Object.create(null));\nconst getPrintFunctionName = options =>\n options?.printFunctionName ?? DEFAULT_OPTIONS.printFunctionName;\nconst getEscapeRegex = options =>\n options?.escapeRegex ?? DEFAULT_OPTIONS.escapeRegex;\nconst getEscapeString = options =>\n options?.escapeString ?? DEFAULT_OPTIONS.escapeString;\nconst getConfig = options => ({\n callToJSON: options?.callToJSON ?? DEFAULT_OPTIONS.callToJSON,\n colors: options?.highlight ? getColorsHighlight(options) : getColorsEmpty(),\n compareKeys:\n typeof options?.compareKeys === 'function' || options?.compareKeys === null\n ? options.compareKeys\n : DEFAULT_OPTIONS.compareKeys,\n escapeRegex: getEscapeRegex(options),\n escapeString: getEscapeString(options),\n indent: options?.min\n ? ''\n : createIndent(options?.indent ?? DEFAULT_OPTIONS.indent),\n maxDepth: options?.maxDepth ?? DEFAULT_OPTIONS.maxDepth,\n maxWidth: options?.maxWidth ?? DEFAULT_OPTIONS.maxWidth,\n min: options?.min ?? DEFAULT_OPTIONS.min,\n plugins: options?.plugins ?? DEFAULT_OPTIONS.plugins,\n printBasicPrototype: options?.printBasicPrototype ?? true,\n printFunctionName: getPrintFunctionName(options),\n spacingInner: options?.min ? ' ' : '\\n',\n spacingOuter: options?.min ? '' : '\\n'\n});\nfunction createIndent(indent) {\n return new Array(indent + 1).join(' ');\n}\n\n/**\n * Returns a presentation string of your `val` object\n * @param val any potential JavaScript object\n * @param options Custom settings\n */\nfunction format(val, options) {\n if (options) {\n validateOptions(options);\n if (options.plugins) {\n const plugin = findPlugin(options.plugins, val);\n if (plugin !== null) {\n return printPlugin(plugin, val, getConfig(options), '', 0, []);\n }\n }\n }\n const basicResult = printBasicValue(\n val,\n getPrintFunctionName(options),\n getEscapeRegex(options),\n getEscapeString(options)\n );\n if (basicResult !== null) {\n return basicResult;\n }\n return printComplexValue(val, getConfig(options), '', 0, []);\n}\nconst plugins = {\n AsymmetricMatcher: _AsymmetricMatcher.default,\n DOMCollection: _DOMCollection.default,\n DOMElement: _DOMElement.default,\n Immutable: _Immutable.default,\n ReactElement: _ReactElement.default,\n ReactTestComponent: _ReactTestComponent.default\n};\nexports.plugins = plugins;\nvar _default = format;\nexports.default = _default;\n","/**\n * Copyright (c) 650 Industries.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Based on this but with web support:\n * https://github.com/facebook/react-native/blob/086714b02b0fb838dee5a66c5bcefe73b53cf3df/Libraries/Utilities/HMRClient.js\n */\nimport MetroHMRClient from '@expo/metro/metro-runtime/modules/HMRClient';\nimport prettyFormat, { plugins } from 'pretty-format';\nimport { DeviceEventEmitter } from 'react-native';\n\n// Ensure events are sent so custom Fast Refresh views are shown.\nfunction showLoading(message: string, _type: 'load' | 'refresh') {\n DeviceEventEmitter.emit('devLoadingView:showMessage', {\n message,\n });\n}\n\nfunction hideLoading() {\n DeviceEventEmitter.emit('devLoadingView:hide', {});\n}\n\nconst pendingEntryPoints: string[] = [];\n\n// @ts-expect-error: Account for multiple versions of pretty-format inside of a monorepo.\nconst prettyFormatFunc = typeof prettyFormat === 'function' ? prettyFormat : prettyFormat.default;\n\ntype HMRClientType = {\n send: (msg: string) => void;\n isEnabled: () => boolean;\n disable: () => void;\n enable: () => void;\n hasPendingUpdates: () => boolean;\n};\n\nlet hmrClient: HMRClientType | null = null;\nlet hmrUnavailableReason: string | null = null;\nlet currentCompileErrorMessage: string | null = null;\nlet didConnect: boolean = false;\nconst pendingLogs: [LogLevel, any[]][] = [];\n\ntype LogLevel =\n | 'trace'\n | 'info'\n | 'warn'\n | 'error'\n | 'log'\n | 'group'\n | 'groupCollapsed'\n | 'groupEnd'\n | 'debug';\n\nexport type HMRClientNativeInterface = {\n enable(): void;\n disable(): void;\n registerBundle(requestUrl: string): void;\n log(level: LogLevel, data: any[]): void;\n setup(props: { isEnabled: boolean }): void;\n};\n\nfunction assert(foo: any, msg: string): asserts foo {\n if (!foo) throw new Error(msg);\n}\n\n/**\n * HMR Client that receives from the server HMR updates and propagates them\n * runtime to reflects those changes.\n */\nconst HMRClient: HMRClientNativeInterface = {\n enable() {\n if (hmrUnavailableReason !== null) {\n // If HMR became unavailable while you weren't using it,\n // explain why when you try to turn it on.\n // This is an error (and not a warning) because it is shown\n // in response to a direct user action.\n throw new Error(hmrUnavailableReason);\n }\n\n assert(hmrClient, 'Expected HMRClient.setup() call at startup.');\n\n // We use this for internal logging only.\n // It doesn't affect the logic.\n hmrClient.send(JSON.stringify({ type: 'log-opt-in' }));\n\n // When toggling Fast Refresh on, we might already have some stashed updates.\n // Since they'll get applied now, we'll show a banner.\n const hasUpdates = hmrClient!.hasPendingUpdates();\n\n if (hasUpdates) {\n showLoading('Refreshing...', 'refresh');\n }\n try {\n hmrClient.enable();\n } finally {\n if (hasUpdates) {\n hideLoading();\n }\n }\n\n // There could be a compile error while Fast Refresh was off,\n // but we ignored it at the time. Show it now.\n showCompileError();\n },\n\n disable() {\n assert(hmrClient, 'Expected HMRClient.setup() call at startup.');\n hmrClient.disable();\n },\n\n registerBundle(requestUrl: string) {\n assert(hmrClient, 'Expected HMRClient.setup() call at startup.');\n pendingEntryPoints.push(requestUrl);\n registerBundleEntryPoints(hmrClient);\n },\n\n log(level: LogLevel, data: any[]) {\n if (!hmrClient) {\n // Catch a reasonable number of early logs\n // in case hmrClient gets initialized later.\n pendingLogs.push([level, data]);\n if (pendingLogs.length > 100) {\n pendingLogs.shift();\n }\n return;\n }\n try {\n hmrClient.send(\n JSON.stringify({\n type: 'log',\n level,\n platform: 'web',\n mode: 'BRIDGE',\n data: data.map((item) =>\n typeof item === 'string'\n ? item\n : prettyFormatFunc(item, {\n escapeString: true,\n highlight: true,\n maxDepth: 3,\n min: true,\n plugins: [plugins.ReactElement],\n })\n ),\n })\n );\n } catch {\n // If sending logs causes any failures we want to silently ignore them\n // to ensure we do not cause infinite-logging loops.\n }\n },\n\n // Called once by the bridge on startup, even if Fast Refresh is off.\n // It creates the HMR client but doesn't actually set up the socket yet.\n setup({ isEnabled }: { isEnabled: boolean }) {\n assert(!hmrClient, 'Cannot initialize hmrClient twice');\n\n const serverScheme = window.location.protocol === 'https:' ? 'wss' : 'ws';\n const client = new MetroHMRClient(`${serverScheme}://${window.location.host}/hot`);\n hmrClient = client;\n\n const fullBundleUrl = (() => {\n const currentScript = document?.currentScript;\n const bundleUrl = new URL(\n currentScript && 'src' in currentScript ? currentScript.src : location.href,\n location.href\n );\n\n if (!bundleUrl.searchParams.has('platform')) {\n bundleUrl.searchParams.set('platform', process.env.EXPO_OS ?? 'web');\n }\n\n return bundleUrl.toString();\n })();\n\n pendingEntryPoints.push(\n // HMRServer understands regular bundle URLs, so prefer that in case\n // there are any important URL parameters we can't reconstruct from\n // `setup()`'s arguments.\n fullBundleUrl\n );\n\n client.on('connection-error', (e: Error) => {\n let error = `Cannot connect to Metro.\n \n Try the following to fix the issue:\n - Ensure the Metro dev server is running and available on the same network as this device`;\n error += `\n \n URL: ${window.location.host}\n \n Error: ${e.message}`;\n\n setHMRUnavailableReason(error);\n });\n\n client.on('update-start', ({ isInitialUpdate }: { isInitialUpdate?: boolean }) => {\n currentCompileErrorMessage = null;\n didConnect = true;\n\n if (client.isEnabled() && !isInitialUpdate) {\n showLoading('Refreshing...', 'refresh');\n }\n });\n\n client.on('update', ({ isInitialUpdate }: { isInitialUpdate?: boolean }) => {\n if (client.isEnabled() && !isInitialUpdate) {\n dismissRedbox();\n // @ts-expect-error\n globalThis.__expo_dev_resetErrors?.();\n // LogBox.clearAllLogs();\n }\n });\n\n client.on('update-done', () => {\n hideLoading();\n });\n\n client.on('error', (data: { type: string; message: string }) => {\n hideLoading();\n\n if (data.type === 'GraphNotFoundError') {\n client.close();\n setHMRUnavailableReason('Metro has restarted since the last edit. Reload to reconnect.');\n } else if (data.type === 'RevisionNotFoundError') {\n client.close();\n setHMRUnavailableReason('Metro and the client are out of sync. Reload to reconnect.');\n } else {\n currentCompileErrorMessage = `${data.type} ${data.message}`;\n if (client.isEnabled()) {\n showCompileError();\n }\n }\n });\n\n client.on('close', (closeEvent: { code: number; reason: string }) => {\n hideLoading();\n\n // https://www.rfc-editor.org/rfc/rfc6455.html#section-7.4.1\n // https://www.rfc-editor.org/rfc/rfc6455.html#section-7.1.5\n const isNormalOrUnsetCloseReason =\n closeEvent == null ||\n closeEvent.code === 1000 ||\n closeEvent.code === 1005 ||\n closeEvent.code == null;\n\n setHMRUnavailableReason(\n `${\n isNormalOrUnsetCloseReason\n ? 'Disconnected from Metro.'\n : `Disconnected from Metro (${closeEvent.code}: \"${closeEvent.reason}\").`\n }\n\nTo reconnect:\n- Ensure that Metro is running and available on the same network\n- Reload this app (will trigger further help if Metro cannot be connected to)\n `\n );\n });\n\n if (isEnabled) {\n HMRClient.enable();\n } else {\n HMRClient.disable();\n }\n\n registerBundleEntryPoints(hmrClient);\n flushEarlyLogs();\n },\n};\n\nfunction setHMRUnavailableReason(reason: string) {\n assert(hmrClient, 'Expected HMRClient.setup() call at startup.');\n if (hmrUnavailableReason !== null) {\n // Don't show more than one warning.\n return;\n }\n hmrUnavailableReason = reason;\n\n // We only want to show a warning if Fast Refresh is on *and* if we ever\n // previously managed to connect successfully. We don't want to show\n // the warning to native engineers who use cached bundles without Metro.\n if (hmrClient.isEnabled() && didConnect) {\n console.warn(reason);\n // (Not using the `warning` module to prevent a Buck cycle.)\n }\n}\n\nfunction registerBundleEntryPoints(client: HMRClientType | null) {\n if (hmrUnavailableReason != null) {\n // \"Bundle Splitting – Metro disconnected\"\n window.location.reload();\n return;\n }\n\n if (pendingEntryPoints.length > 0) {\n client?.send(\n JSON.stringify({\n type: 'register-entrypoints',\n entryPoints: pendingEntryPoints,\n })\n );\n pendingEntryPoints.length = 0;\n }\n}\n\nfunction flushEarlyLogs() {\n try {\n pendingLogs.forEach(([level, data]) => {\n HMRClient.log(level, data);\n });\n } finally {\n pendingLogs.length = 0;\n }\n}\n\nfunction dismissRedbox() {\n // TODO(EvanBacon): Error overlay for web.\n}\n\nfunction showCompileError() {\n if (currentCompileErrorMessage === null) {\n return;\n }\n\n // Even if there is already a redbox, syntax errors are more important.\n // Otherwise you risk seeing a stale runtime error while a syntax error is more recent.\n dismissRedbox();\n\n const message = currentCompileErrorMessage;\n currentCompileErrorMessage = null;\n\n const error = new Error(message);\n // Symbolicating compile errors is wasted effort\n // because the stack trace is meaningless:\n // @ts-expect-error\n error.preventSymbolication = true;\n throw error;\n}\n\nexport default HMRClient;\n","import HMRClient from './hmr';\n\nif (\n typeof window !== 'undefined' &&\n // @ts-expect-error: Added via react-native-webview\n typeof window.$$EXPO_INITIAL_PROPS !== 'undefined'\n) {\n // Sets up developer tools for web platforms when running in a webview. This ensures that logs are visible in the terminal.\n // We assume full control over the console and send JavaScript logs to Metro.\n const LEVELS = [\n 'trace',\n 'info',\n 'warn',\n 'error',\n 'log',\n 'group',\n 'groupCollapsed',\n 'groupEnd',\n 'debug',\n ] as const;\n LEVELS.forEach((level) => {\n const originalFunction = console[level];\n console[level] = function (...args: any[]) {\n HMRClient.log(level, args);\n originalFunction.apply(console, args);\n };\n });\n HMRClient.log('log', [`[webview] Logs will also appear in the Safari/Chrome debug console`]);\n} else {\n HMRClient.log('log', [`[web] Logs will appear in the browser console`]);\n}\n\n// This is called native on native platforms\nHMRClient.setup({ isEnabled: true });\n","/* eslint-env browser */\n\n// Setup websocket messages for reloading the page from the command line.\n// This is normally setup on the native client.\n\ndeclare namespace globalThis {\n const __EXPO_RSC_RELOAD_LISTENERS__: (() => unknown)[] | undefined;\n}\n\nif (__DEV__) {\n const protocol = window.location.protocol === 'https:' ? 'wss' : 'ws';\n const messageSocket = new WebSocket(`${protocol}://${window.location.host}/message`);\n messageSocket.onmessage = (message) => {\n const data = JSON.parse(String(message.data));\n switch (data.method) {\n case 'sendDevCommand':\n switch (data.params.name) {\n case 'reload':\n window.location.reload();\n break;\n case 'rsc-reload':\n if (data.params.platform && data.params.platform !== process.env.EXPO_OS) {\n return;\n }\n globalThis.__EXPO_RSC_RELOAD_LISTENERS__?.forEach((l) => l());\n break;\n // Inject CSS modules from server components into the root client bundle in development.\n case 'module-import':\n {\n const { data: moduleData } = data.params;\n // remove element with the same 'expo-module-id'\n const id = `expo-module-id=\"${moduleData.id}\"`;\n const style = document.querySelector(`style[${id}]`);\n document.querySelector(`script[${id}]`)?.remove();\n const code = moduleData.code;\n const script = document.createElement('script');\n script.type = 'module';\n script.text = code;\n script.setAttribute('expo-module-id', moduleData.id);\n document.head.appendChild(script);\n if (style) {\n // remove the previous block after the new one is loaded to mitigate FOUC.\n queueMicrotask(() => style.parentElement?.removeChild(style));\n }\n }\n break;\n }\n break;\n case 'reload':\n window.location.reload();\n break;\n case 'devMenu':\n // no-op\n break;\n }\n };\n}\n","// Only during development.\nif (\n __DEV__ &&\n // Disable for SSR\n typeof window !== 'undefined'\n) {\n require('./setupFastRefresh');\n require('./setupHMR');\n require('./messageSocket');\n}\n","// Copyright 2015-present 650 Industries. All rights reserved.\n\nexport function getBundleUrl(): string | null {\n return null;\n}\n","// Copyright 2015-present 650 Industries. All rights reserved.\n\nimport { getBundleUrl } from '../utils/getBundleUrl';\n\n/**\n * Registry to handle import.meta functionality for React Native environment\n * Similar to how it works in the web, but adapted for the RN context\n * https://github.com/wintercg/import-meta-registry\n */\nexport const ImportMetaRegistry = {\n get url() {\n return getBundleUrl();\n },\n};\n","import '../async-require/setup';\n\nObject.defineProperty(globalThis, '__ExpoImportMetaRegistry', {\n value: require('./ImportMetaRegistry').ImportMetaRegistry,\n enumerable: false,\n writable: true,\n});\n","import './runtime';\n","const getDevServer = () => {\n // Disable for SSR\n if (typeof window === 'undefined') {\n return {\n bundleLoadedFromServer: true,\n fullBundleUrl: '',\n url: '',\n };\n }\n\n return {\n // The bundle is always loaded from a server in the browser.\n bundleLoadedFromServer: true,\n\n /** URL but ensures that platform query param is added. */\n get fullBundleUrl() {\n if (document?.currentScript && 'src' in document.currentScript) {\n return document.currentScript.src;\n }\n\n const bundleUrl = new URL(location.href);\n\n bundleUrl.searchParams.set('platform', 'web');\n\n return bundleUrl.toString();\n },\n url: location.origin + location.pathname,\n };\n};\n\nexport default getDevServer;\n","/**\n * Copyright © 2022 650 Industries.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport getDevServer from './getDevServer';\n\n/**\n * Given a path and some optional additional query parameters, create the dev server bundle URL.\n * @param bundlePath like `/foobar`\n * @param params like `{ platform: \"web\" }`\n * @returns a URL like \"/foobar.bundle?platform=android&modulesOnly=true&runModule=false&runtimeBytecodeVersion=null\"\n */\nexport function buildUrlForBundle(bundlePath: string): string {\n if (/^https?:\\/\\//.test(bundlePath)) {\n return bundlePath;\n }\n const { url: baseURL } = getDevServer();\n return baseURL ? new URL(bundlePath, baseURL).toString() : `//${bundlePath.replace(/^\\/+/, '')}`;\n}\n","export class MetroServerError extends Error {\n code = 'METRO_SERVER_ERROR';\n url: string;\n\n constructor(errorObject: { message: string } & Record<string, any>, url: string) {\n super(errorObject.message);\n this.name = 'MetroServerError';\n this.url = url;\n for (const key in errorObject) {\n (this as any)[key] = errorObject[key];\n }\n }\n}\n","/**\n * Copyright © 2022 650 Industries.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nexport async function fetchAsync(\n url: string\n): Promise<{ body: string; status: number; headers: Headers }> {\n const response = await fetch(url, {\n method: 'GET',\n headers: {\n // No real reason for this but we try to use this format for everything.\n 'expo-platform': 'web',\n },\n });\n return {\n body: await response.text(),\n status: response.status,\n headers: response.headers,\n };\n}\n","/**\n * Copyright © 2022 650 Industries.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { MetroServerError } from './errors';\nimport { fetchAsync } from './fetchAsync';\n/**\n * Load a bundle for a URL using fetch + eval on native and script tag injection on web.\n *\n * @param url Given a statement like `import('./Bacon')` `bundlePath` would be `Bacon`.\n */\nexport function fetchThenEvalAsync(url: string): Promise<void> {\n return fetchAsync(url).then(({ body, status, headers }) => {\n if (\n headers?.has?.('Content-Type') != null &&\n headers.get('Content-Type')!.includes('application/json')\n ) {\n // Errors are returned as JSON.\n throw new Error(JSON.parse(body).message || `Unknown error fetching '${url}'`);\n }\n\n if (status === 200) {\n // eslint-disable-next-line no-eval\n return eval(body);\n } else {\n // Format Metro errors if possible.\n if (process.env.NODE_ENV === 'development') {\n // body can be an error from Metro if a module is missing.\n // {\"originModulePath\":\"/Users/evanbacon/Documents/GitHub/expo/.\",\"targetModuleName\":\"./http://localhost:8081/node_modules/react-native/index.js\",\"message\":\"...\"}\n const error = jsonParseOptional(body);\n if (error) {\n // TODO: This is essentially like the Metro native red box errors. We should do a better job formatting them so\n // the user experience doesn't feel bad. This can be tested by loading a split bundle that results in a missing module error from Metro.\n throw new MetroServerError(error, url);\n }\n }\n\n throw new Error(`Failed to load split bundle from URL: ${url}\\n${body}`);\n }\n });\n}\n\nfunction jsonParseOptional(json: string): any {\n try {\n return JSON.parse(json);\n } catch {\n return null;\n }\n}\n","export { fetchThenEvalAsync } from './fetchThenEvalJs';\n","/**\n * Copyright © 2022 650 Industries.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { buildUrlForBundle } from './buildUrlForBundle';\nimport { fetchThenEvalAsync } from './fetchThenEval';\n\n/**\n * Load a bundle for a URL using fetch + eval on native and script tag injection on web.\n *\n * @param bundlePath Given a statement like `import('./Bacon')` `bundlePath` would be `Bacon.bundle?params=from-metro`.\n */\nexport async function loadBundleAsync(bundlePath: string): Promise<void> {\n const requestUrl = buildUrlForBundle(bundlePath);\n\n if (process.env.NODE_ENV === 'production') {\n return fetchThenEvalAsync(requestUrl);\n } else {\n return fetchThenEvalAsync(requestUrl).then(() => {\n const HMRClient = require('./hmr').default as typeof import('./hmr').default;\n HMRClient.registerBundle(requestUrl);\n });\n }\n}\n","/**\n * Copyright © 2022 650 Industries.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { loadBundleAsync } from './loadBundle';\n\n/**\n * Must satisfy the requirements of the Metro bundler.\n * https://github.com/react-native-community/discussions-and-proposals/blob/main/proposals/0605-lazy-bundling.md#__loadbundleasync-in-metro\n */\ntype AsyncRequire = (path: string) => Promise<void>;\n\n/** Create an `loadBundleAsync` function in the expected shape for Metro bundler. */\nexport function buildAsyncRequire(): AsyncRequire {\n const cache = new Map<string, Promise<void>>();\n\n return async function universal_loadBundleAsync(path: string): Promise<void> {\n if (cache.has(path)) {\n return cache.get(path)!;\n }\n\n const promise = loadBundleAsync(path).catch((error) => {\n cache.delete(path);\n throw error;\n });\n\n cache.set(path, promise);\n\n return promise;\n };\n}\n","/**\n * Copyright © 2024 650 Industries.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { buildAsyncRequire } from './buildAsyncRequire';\n\n// @ts-ignore: ignore the global which may not always be defined in jest environments.\nglobal[`${global.__METRO_GLOBAL_PREFIX__ ?? ''}__loadBundleAsync`] = buildAsyncRequire();\n","import type { ExpoConfig } from 'expo/config';\nimport type {\n EASConfig as ManifestsEASConfig,\n ExpoGoConfig as ManifestsExpoGoConfig,\n ExpoUpdatesManifest,\n EmbeddedManifest,\n ManifestAsset as ManifestAssetForReExport,\n ManifestExtra as ManifestExtraForReExport,\n ClientScopingConfig as ClientScopingConfigForReExport,\n ExpoGoPackagerOpts as ExpoGoPackagerOptsForReExport,\n // @ts-ignore -- optional interface, will gracefully degrade to `any` not installed\n} from 'expo-manifests';\n\nexport enum AppOwnership {\n /**\n * The experience is running inside the Expo Go app.\n * @deprecated Use [`Constants.executionEnvironment`](#executionenvironment) instead.\n */\n Expo = 'expo',\n}\n\n// @docsMissing\nexport enum ExecutionEnvironment {\n Bare = 'bare',\n Standalone = 'standalone',\n StoreClient = 'storeClient',\n}\n\n// @needsAudit\n/**\n * Current supported values are `handset`, `tablet`, `desktop` and `tv`. CarPlay will show up\n * as `unsupported`.\n */\nexport enum UserInterfaceIdiom {\n Handset = 'handset',\n Tablet = 'tablet',\n Desktop = 'desktop',\n TV = 'tv',\n Unsupported = 'unsupported',\n}\n\n// @needsAudit\n/**\n * @platform ios\n */\nexport type IOSManifest = {\n /**\n * The build number specified in the embedded **Info.plist** value for `CFBundleVersion` in this app.\n * In a standalone app, you can set this with the `ios.buildNumber` value in **app.json**. This\n * may differ from the value in `Constants.expoConfig.ios.buildNumber` because the manifest\n * can be updated, whereas this value will never change for a given native binary.\n * The value is set to `null` in case you run your app in Expo Go.\n */\n buildNumber: string | null;\n /**\n * The Apple internal model identifier for this device.\n * @example\n * `iPhone1,1`\n * @deprecated Use `expo-device`'s [`Device.modelId`](./device/#devicemodelid).\n */\n platform: string;\n /**\n * The human-readable model name of this device. For example, `\"iPhone 7 Plus\"` if it can be determined,\n * otherwise will be `null`.\n * @deprecated Moved to `expo-device` as [`Device.modelName`](./device/#devicemodelname).\n */\n model: string | null;\n /**\n * The user interface idiom of the current device, such as whether the app is running on an iPhone, iPad, Mac or Apple TV.\n * @deprecated Use `expo-device`'s [`Device.getDeviceTypeAsync()`](./device/#devicegetdevicetypeasync).\n */\n userInterfaceIdiom: UserInterfaceIdiom;\n /**\n * The version of iOS running on this device.\n * @example\n * `10.3`\n * @deprecated Use `expo-device`'s [`Device.osVersion`](./device/#deviceosversion).\n */\n systemVersion: string;\n} & Record<string, any>;\n\n// @needsAudit\n/**\n * @platform android\n */\nexport type AndroidManifest = {\n /**\n * The version code set by `android.versionCode` in app.json.\n * The value is set to `null` in case you run your app in Expo Go.\n * @deprecated Use `expo-application`'s [`Application.nativeBuildVersion`](./application/#applicationnativebuildversion).\n */\n versionCode: number;\n} & Record<string, any>;\n\n/**\n * @platform web\n */\nexport type WebManifest = Record<string, any>;\n\n// type re-exports to prevent breaking change\n\nexport type ManifestAsset = ManifestAssetForReExport;\nexport type Manifest = ExpoUpdatesManifest;\nexport type ManifestExtra = ManifestExtraForReExport;\nexport type EASConfig = ManifestsEASConfig;\nexport type ClientScopingConfig = ClientScopingConfigForReExport;\nexport type ExpoGoConfig = ManifestsExpoGoConfig;\nexport type ExpoGoPackagerOpts = ExpoGoPackagerOptsForReExport;\n\n// @needsAudit @docsMissing\nexport type PlatformManifest = {\n ios?: IOSManifest;\n android?: AndroidManifest;\n web?: WebManifest;\n detach?: {\n scheme?: string;\n [key: string]: any;\n };\n scheme?: string;\n hostUri?: string;\n developer?: string;\n} & Record<string, any>;\n\n// @needsAudit @docsMissing\nexport type NativeConstants = {\n /**\n * @hidden\n */\n name: 'ExponentConstants';\n /**\n * Returns `expo` when running in Expo Go, otherwise `null`.\n * @deprecated Use [`Constants.executionEnvironment`](#executionenvironment) instead.\n */\n appOwnership: AppOwnership | null;\n /**\n * Returns `true` when the app is running in debug mode (`__DEV__`). Otherwise, returns `false`.\n */\n debugMode: boolean;\n /**\n * A human-readable name for the device type.\n */\n deviceName?: string;\n /**\n * The [device year class](https://github.com/facebook/device-year-class) of this device.\n * @deprecated Moved to `expo-device` as [`Device.deviceYearClass`](./device/#deviceyearclass).\n */\n deviceYearClass: number | null;\n /**\n * Returns the current execution environment.\n */\n executionEnvironment: ExecutionEnvironment;\n experienceUrl: string;\n /**\n * Nullable only on the web.\n */\n expoRuntimeVersion: string | null;\n /**\n * The version string of the Expo Go app currently running.\n * Returns `null` in bare workflow and web.\n */\n expoVersion: string | null;\n isDetached?: boolean;\n intentUri?: string;\n /**\n * Returns `true` if the app is running in headless mode. Otherwise, returns `false`.\n */\n isHeadless: boolean;\n linkingUri: string;\n\n /**\n * @hidden\n * Manifest embedded in the build. Returns `null` when `manifest2` is non-null.\n * @deprecated Use `Constants.expoConfig` instead, which behaves more consistently across EAS Build\n * and EAS Update.\n */\n manifest: EmbeddedManifest | null;\n /**\n * Manifest for Expo apps using modern Expo Updates from a remote source, such as apps that\n * use EAS Update. `Constants.expoConfig` should be used for accessing the Expo config object.\n */\n manifest2: ExpoUpdatesManifest | null;\n /**\n * The standard Expo config object defined in **app.json** and **app.config.js** files. For both\n * classic and modern manifests, whether they are embedded or remote.\n */\n expoConfig:\n | (ExpoConfig & {\n /**\n * Only present during development using @expo/cli.\n */\n hostUri?: string;\n })\n | null;\n /**\n * The standard Expo Go config object populated when running in Expo Go.\n */\n expoGoConfig: ManifestsExpoGoConfig | null;\n /**\n * The standard EAS config object populated when using EAS.\n */\n easConfig: ManifestsEASConfig | null;\n /**\n * A string that is unique to the current session of your app. It is different across apps and\n * across multiple launches of the same app.\n */\n sessionId: string;\n /**\n * The default status bar height for the device. Does not factor in changes when location tracking\n * is in use or a phone call is active.\n */\n statusBarHeight: number;\n /**\n * A list of the system font names available on the current device.\n */\n systemFonts: string[];\n systemVersion?: number;\n /**\n * @hidden\n */\n supportedExpoSdks?: string[];\n /**\n * Returns the specific platform manifest object.\n *\n * > **Note**: This is distinct from the `manifest` and `manifest2`.\n */\n platform?: PlatformManifest;\n /**\n * Gets the user agent string which would be included in requests sent by a web view running on\n * this device. This is probably not the same user agent you might be providing in your JS `fetch`\n * requests.\n */\n getWebViewUserAgentAsync: () => Promise<string | null>;\n} & Record<string, any>;\n\n/**\n * @hidden\n */\nexport type Constants = NativeConstants & {\n /**\n * > **Warning**: Do not use this property. Use `manifest` by default.\n *\n * In certain cases accessing manifest via this property\n * suppresses important warning about missing manifest.\n */\n __unsafeNoWarnManifest?: EmbeddedManifest;\n /**\n * > **Warning**: Do not use this property. Use `manifest2` by default.\n *\n * In certain cases accessing manifest via this property\n * suppresses important warning about missing manifest.\n */\n __unsafeNoWarnManifest2?: ExpoUpdatesManifest;\n};\n","import { requireOptionalNativeModule } from 'expo-modules-core';\n\nexport default requireOptionalNativeModule('ExponentConstants');\n","import type { ExpoConfig } from 'expo/config';\n// @ts-ignore -- optional interface, will gracefully degrade to `any` if not installed\nimport type {\n EmbeddedManifest,\n EASConfig,\n ExpoGoConfig,\n ExpoUpdatesManifest,\n // @ts-ignore -- optional interface, will gracefully degrade to `any` if not installed\n} from 'expo-manifests';\nimport { CodedError, requireOptionalNativeModule } from 'expo-modules-core';\n// @ts-ignore -- optional interface, will gracefully degrade to `any` if not installed\nimport type { Manifest as UpdatesManifest, ExpoUpdatesModule } from 'expo-updates';\nimport { Platform, NativeModules } from 'react-native';\n\nimport {\n AndroidManifest,\n AppOwnership,\n Constants,\n ExecutionEnvironment,\n IOSManifest,\n NativeConstants,\n PlatformManifest,\n UserInterfaceIdiom,\n WebManifest,\n} from './Constants.types';\nimport ExponentConstants from './ExponentConstants';\ntype DevLauncherManifest = ExpoUpdatesManifest;\n\nexport {\n AndroidManifest,\n AppOwnership,\n Constants,\n ExecutionEnvironment,\n IOSManifest,\n NativeConstants,\n PlatformManifest,\n UserInterfaceIdiom,\n WebManifest,\n};\n\nif (!ExponentConstants) {\n console.warn(\n \"No native ExponentConstants module found, are you sure the expo-constants's module is linked properly?\"\n );\n}\n\nconst ExpoUpdates = requireOptionalNativeModule<ExpoUpdatesModule>('ExpoUpdates');\n\nlet rawUpdatesManifest: UpdatesManifest | null = null;\n// If expo-updates defines a non-empty manifest, prefer that one\nif (ExpoUpdates) {\n let updatesManifest: object | undefined;\n if (ExpoUpdates.manifest) {\n updatesManifest = ExpoUpdates.manifest;\n } else if (ExpoUpdates.manifestString) {\n updatesManifest = JSON.parse(ExpoUpdates.manifestString);\n }\n if (updatesManifest && Object.keys(updatesManifest).length > 0) {\n rawUpdatesManifest = updatesManifest as any;\n }\n}\n\n// If dev-launcher defines a non-empty manifest, prefer that one\nlet rawDevLauncherManifest: DevLauncherManifest | null = null;\nif (NativeModules.EXDevLauncher) {\n let devLauncherManifest;\n if (NativeModules.EXDevLauncher.manifestString) {\n devLauncherManifest = JSON.parse(NativeModules.EXDevLauncher.manifestString);\n }\n\n if (devLauncherManifest && Object.keys(devLauncherManifest).length > 0) {\n rawDevLauncherManifest = devLauncherManifest as any;\n }\n}\n\n// Fall back to ExponentConstants.manifest if we don't have one from Updates\nlet rawAppConfig: ExpoConfig | null = null;\nif (ExponentConstants && ExponentConstants.manifest) {\n const appConfig: object | string = ExponentConstants.manifest;\n\n // On Android we pass the manifest in JSON form so this step is necessary\n if (typeof appConfig === 'string') {\n rawAppConfig = JSON.parse(appConfig);\n } else {\n rawAppConfig = appConfig as any;\n }\n}\n\ntype RawManifest = UpdatesManifest | DevLauncherManifest | ExpoConfig;\nlet rawManifest: RawManifest | null = rawUpdatesManifest ?? rawDevLauncherManifest ?? rawAppConfig;\n\nconst { name, appOwnership, ...nativeConstants } = (ExponentConstants || {}) as any;\n\nconst constants: Constants = {\n ...nativeConstants,\n // Ensure this is null in bare workflow\n appOwnership: appOwnership ?? null,\n};\n\nObject.defineProperties(constants, {\n /**\n * Use `manifest` property by default.\n * This property is only used for internal purposes.\n * It behaves similarly to the original one, but suppresses warning upon no manifest available.\n * `expo-asset` uses it to prevent users from seeing mentioned warning.\n */\n __unsafeNoWarnManifest: {\n get(): EmbeddedManifest | null {\n const maybeManifest = getManifest(true);\n if (!maybeManifest || !isEmbeddedManifest(maybeManifest)) {\n return null;\n }\n return maybeManifest;\n },\n enumerable: false,\n },\n __unsafeNoWarnManifest2: {\n get(): ExpoUpdatesManifest | null {\n const maybeManifest = getManifest(true);\n if (!maybeManifest || !isExpoUpdatesManifest(maybeManifest)) {\n return null;\n }\n return maybeManifest;\n },\n enumerable: false,\n },\n manifest: {\n get(): EmbeddedManifest | null {\n const maybeManifest = getManifest();\n if (!maybeManifest || !isEmbeddedManifest(maybeManifest)) {\n return null;\n }\n return maybeManifest;\n },\n enumerable: true,\n },\n manifest2: {\n get(): ExpoUpdatesManifest | null {\n const maybeManifest = getManifest();\n if (!maybeManifest || !isExpoUpdatesManifest(maybeManifest)) {\n return null;\n }\n return maybeManifest;\n },\n enumerable: true,\n },\n expoConfig: {\n get():\n | (ExpoConfig & {\n /**\n * Only present during development using @expo/cli.\n */\n hostUri?: string;\n })\n | null {\n const maybeManifest = getManifest(true);\n if (!maybeManifest) {\n return null;\n }\n\n // if running an embedded update, maybeManifest is a EmbeddedManifest which doesn't have\n // the expo config. Instead, the embedded expo-constants app.config should be used.\n if (ExpoUpdates && ExpoUpdates.isEmbeddedLaunch) {\n return rawAppConfig;\n }\n\n if (isExpoUpdatesManifest(maybeManifest)) {\n return maybeManifest.extra?.expoClient ?? null;\n } else if (isEmbeddedManifest(maybeManifest)) {\n return maybeManifest as any;\n }\n\n return null;\n },\n enumerable: true,\n },\n expoGoConfig: {\n get(): ExpoGoConfig | null {\n const maybeManifest = getManifest(true);\n if (!maybeManifest) {\n return null;\n }\n\n if (isExpoUpdatesManifest(maybeManifest)) {\n return maybeManifest.extra?.expoGo ?? null;\n } else if (isEmbeddedManifest(maybeManifest)) {\n return maybeManifest as any;\n }\n\n return null;\n },\n enumerable: true,\n },\n easConfig: {\n get(): EASConfig | null {\n const maybeManifest = getManifest(true);\n if (!maybeManifest) {\n return null;\n }\n\n if (isExpoUpdatesManifest(maybeManifest)) {\n return maybeManifest.extra?.eas ?? null;\n } else if (isEmbeddedManifest(maybeManifest)) {\n return maybeManifest as any;\n }\n\n return null;\n },\n enumerable: true,\n },\n __rawManifest_TEST: {\n get(): RawManifest | null {\n return rawManifest;\n },\n set(value: RawManifest | null) {\n rawManifest = value;\n },\n enumerable: false,\n },\n});\n\nfunction isEmbeddedManifest(manifest: RawManifest): manifest is EmbeddedManifest {\n return !isExpoUpdatesManifest(manifest);\n}\n\nfunction isExpoUpdatesManifest(manifest: RawManifest): manifest is ExpoUpdatesManifest {\n return 'metadata' in manifest;\n}\n\nfunction getManifest(suppressWarning = false): RawManifest | null {\n if (!rawManifest) {\n const invalidManifestType = rawManifest === null ? 'null' : 'undefined';\n if (\n nativeConstants.executionEnvironment === ExecutionEnvironment.Bare &&\n Platform.OS !== 'web'\n ) {\n if (!suppressWarning) {\n console.warn(\n `Constants.manifest is ${invalidManifestType} because the embedded app.config could not be read. Ensure that you have installed the expo-constants build scripts if you need to read from Constants.manifest.`\n );\n }\n } else if (\n nativeConstants.executionEnvironment === ExecutionEnvironment.StoreClient ||\n nativeConstants.executionEnvironment === ExecutionEnvironment.Standalone\n ) {\n // If we somehow get here, this is a truly exceptional state to be in.\n // Constants.manifest should *always* be defined in those contexts.\n throw new CodedError(\n 'ERR_CONSTANTS_MANIFEST_UNAVAILABLE',\n `Constants.manifest is ${invalidManifestType}, must be an object.`\n );\n }\n }\n return rawManifest;\n}\n\nexport default constants as Constants;\n","import { requireNativeModule } from 'expo-modules-core';\n\ntype ExpoGoModule = {\n expoVersion: string;\n projectConfig: ExpoGoProjectConfig;\n};\n\ntype ExpoGoProjectConfig = {\n mainModuleName?: string;\n debuggerHost?: string;\n logUrl?: string;\n developer?: {\n tool?: string;\n [key: string]: any;\n };\n packagerOpts?: ExpoGoPackagerOpts;\n};\n\nexport type ExpoGoPackagerOpts = {\n hostType?: string;\n dev?: boolean;\n strict?: boolean;\n minify?: boolean;\n urlType?: string;\n urlRandomness?: string;\n lanType?: string;\n [key: string]: any;\n};\n\n// ExpoGo module is available only when the app is run in Expo Go,\n// otherwise we use `null` instead of throwing an error.\nconst NativeExpoGoModule = ((): ExpoGoModule | null => {\n try {\n return requireNativeModule('ExpoGo');\n } catch {\n return null;\n }\n})();\n\n/**\n * Returns a boolean value whether the app is running in Expo Go.\n */\nexport function isRunningInExpoGo(): boolean {\n return NativeExpoGoModule != null;\n}\n\n/**\n * @hidden\n * Returns an Expo Go project config from the manifest or `null` if the app is not running in Expo Go.\n */\nexport function getExpoGoProjectConfig(): ExpoGoProjectConfig | null {\n return NativeExpoGoModule?.projectConfig ?? null;\n}\n","import { StyleSheet, Text, View } from 'react-native';\n\nexport function AppEntryNotFound() {\n return (\n <View style={styles.container}>\n <Text style={styles.errorTitle}>App entry not found</Text>\n <Text style={styles.errorDescription}>\n The app entry point named \"main\" was not registered. This may be due to an uncaught error\n thrown from a module's top-level code. Refer to the CLI logs and the native device logs for\n more detail.\n </Text>\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n justifyContent: 'center',\n padding: 20,\n backgroundColor: '#f2f2f2',\n },\n errorTitle: {\n fontSize: 24,\n fontWeight: 'bold',\n color: '#d32f2f',\n textAlign: 'center',\n marginBottom: 24,\n },\n errorDescription: {\n fontSize: 16,\n color: '#333',\n textAlign: 'center',\n },\n});\n","import type { ErrorHandlerCallback } from 'react-native';\n\nexport function createErrorHandler(originalHandler: ErrorHandlerCallback): ErrorHandlerCallback {\n return (error, isFatal) => originalHandler(error, isFatal);\n}\n\n/**\n * @hidden\n * @deprecated Will be removed in the future.\n */\nexport function disableErrorHandling() {}\n","// load expo-asset immediately to set a custom `source` transformer in React Native\nimport './winter';\nimport './async-require';\nimport 'expo-asset';\nimport 'expo/virtual/rsc';\n\nimport Constants from 'expo-constants';\nimport { AppRegistry, NativeModules, LogBox, Platform } from 'react-native';\n\nimport { isRunningInExpoGo } from './environment/ExpoGo';\nimport { AppEntryNotFound } from './errors/AppEntryNotFound';\nimport { createErrorHandler } from './errors/ExpoErrorManager';\n\n// Only during development.\nif (\n __DEV__ &&\n // Disable for SSR\n typeof globalThis.expo !== 'undefined'\n) {\n require('./async-require/messageSocket');\n}\n\nif (isRunningInExpoGo()) {\n // set up some improvements to commonly logged error messages stemming from react-native\n const globalHandler = ErrorUtils.getGlobalHandler();\n ErrorUtils.setGlobalHandler(createErrorHandler(globalHandler));\n}\n\n// Warn if the New Architecture is not explicitly enabled in the app config and we are running in Expo Go.\n// This could be problematic because you will be developing your app with the New Architecture enabled and\n// but your builds will have the New Architecture disabled.\nif (__DEV__ && isRunningInExpoGo() && process.env.NODE_ENV === 'development') {\n (['android', 'ios'] as const).forEach((platform) => {\n const newArchPlatformConfig = Constants.expoConfig?.[platform]?.newArchEnabled;\n const newArchRootConfig = Constants.expoConfig?.newArchEnabled;\n\n const isNewArchExplicitlyDisabled =\n newArchPlatformConfig === false ||\n (newArchPlatformConfig === undefined && newArchRootConfig === false);\n\n if (Platform.OS === platform && isNewArchExplicitlyDisabled) {\n // Wrap it in rAF to show the warning after the React Native DevTools message\n requestAnimationFrame(() => {\n console.warn(\n `🚨 React Native's New Architecture is always enabled in Expo Go, but it is explicitly disabled in your project's app config. This may lead to unexpected behavior when creating a production or development build. Remove \"newArchEnabled\": false from your app.json.\\nLearn more: https://docs.expo.dev/guides/new-architecture/`\n );\n });\n }\n });\n}\n\n// Disable the \"Open debugger to view warnings\" React Native DevTools warning in\n// Expo Go and expo-dev-client, because launching the debugger from there will not\n// get the correct JS target.\nconst IS_RUNNING_IN_DEV_CLIENT = !!NativeModules.EXDevLauncher;\nif (__DEV__ && LogBox?.ignoreLogs && (isRunningInExpoGo() || IS_RUNNING_IN_DEV_CLIENT)) {\n LogBox.ignoreLogs([/Open debugger to view warnings/]);\n}\n\nif (process.env.NODE_ENV !== 'production') {\n // Register a default component and expect `registerRootComponent` to be called later and update it.\n AppRegistry.registerComponent('main', () => AppEntryNotFound);\n}\n","import './Expo.fx';\n\nexport { disableErrorHandling } from './errors/ExpoErrorManager';\nexport { default as registerRootComponent } from './launch/registerRootComponent';\n\nexport { isRunningInExpoGo, getExpoGoProjectConfig } from './environment/ExpoGo';\n\nexport {\n // Core classes\n EventEmitter,\n SharedObject,\n SharedRef,\n NativeModule,\n\n // Methods\n requireNativeModule,\n requireOptionalNativeModule,\n requireNativeViewManager as requireNativeView,\n registerWebModule,\n reloadAppAsync,\n} from 'expo-modules-core';\n\nexport type {\n /** @deprecated Move to `SharedRef` with a type-only import instead */\n SharedRef as SharedRefType,\n /** @deprecated Move to `EventEmitter` with a type-only import instead */\n EventEmitter as EventEmitterType,\n /** @deprecated Move to `NativeModule` with a type-only import instead */\n NativeModule as NativeModuleType,\n /** @deprecated Move to `SharedObject` with a type-only import instead */\n SharedObject as SharedObjectType,\n} from 'expo-modules-core/types';\n\nexport { useEvent, useEventListener } from './hooks/useEvent';\n","import { requireOptionalNativeModule } from 'expo';\n\nexport default requireOptionalNativeModule('ExpoHaptics');\n","// @needsAudit\n/**\n * The type of notification feedback generated by a `UINotificationFeedbackGenerator` object.\n * [`UINotificationFeedbackType`](https://developer.apple.com/documentation/uikit/uinotificationfeedbackgenerator/feedbacktype).\n */\nexport enum NotificationFeedbackType {\n /**\n * A notification feedback type indicating that a task has completed successfully.\n */\n Success = 'success',\n /**\n * A notification feedback type indicating that a task has produced a warning.\n */\n Warning = 'warning',\n /**\n * A notification feedback type indicating that a task has failed.\n */\n Error = 'error',\n}\n\n// @needsAudit\n/**\n * The mass of the objects in the collision simulated by a `UIImpactFeedbackGenerator` object\n * [`UINotificationFeedbackStyle`](https://developer.apple.com/documentation/uikit/uiimpactfeedbackgenerator/feedbackstyle).\n */\nexport enum ImpactFeedbackStyle {\n /**\n * A collision between small, light user interface elements.\n */\n Light = 'light',\n /**\n * A collision between moderately sized user interface elements.\n */\n Medium = 'medium',\n /**\n * A collision between large, heavy user interface elements.\n */\n Heavy = 'heavy',\n /**\n * A collision between user interface elements that are soft, exhibiting a large amount of compression or elasticity.\n */\n Soft = 'soft',\n /**\n * A collision between user interface elements that are rigid, exhibiting a small amount of compression or elasticity.\n */\n Rigid = 'rigid',\n}\n\n/**\n * @platform android\n */\nexport enum AndroidHaptics {\n /**\n * A haptic effect to signal the confirmation or successful completion of a user interaction.\n */\n Confirm = 'confirm',\n /**\n * A haptic effect to signal the rejection or failure of a user interaction.\n */\n Reject = 'reject',\n /**\n * The user has started a gesture (for example, on the soft keyboard).\n */\n Gesture_Start = 'gesture-start',\n /**\n * The user has finished a gesture (for example, on the soft keyboard).\n */\n Gesture_End = 'gesture-end',\n /**\n * The user has toggled a switch or button into the on position.\n */\n Toggle_On = 'toggle-on',\n /**\n * The user has toggled a switch or button into the off position.\n */\n Toggle_Off = 'toggle-off',\n /**\n * The user has pressed either an hour or minute tick of a Clock.\n */\n Clock_Tick = 'clock-tick',\n /**\n * The user has performed a context click on an object.\n */\n Context_Click = 'context-click',\n /**\n * The user has started a drag-and-drop gesture. The drag target has just been \"picked up\".\n */\n Drag_Start = 'drag-start',\n /**\n * The user has pressed a soft keyboard key.\n */\n Keyboard_Tap = 'keyboard-tap',\n /**\n * The user has pressed a virtual or software keyboard key.\n */\n Keyboard_Press = 'keyboard-press',\n /**\n * The user has released a virtual keyboard key.\n */\n Keyboard_Release = 'keyboard-release',\n /**\n * The user has performed a long press on an object that results in an action being performed.\n */\n Long_Press = 'long-press',\n /**\n * The user has pressed on a virtual on-screen key.\n */\n Virtual_Key = 'virtual-key',\n /**\n * The user has released a virtual key.\n */\n Virtual_Key_Release = 'virtual-key-release',\n /**\n * No haptic feedback should be performed.\n */\n No_Haptics = 'no-haptics',\n /**\n * The user is switching between a series of potential choices. For example, items in a list or discrete points on a slider.\n */\n Segment_Tick = 'segment-tick',\n /**\n * The user is switching between a series of many potential choices. For example, minutes on a clock face or individual percentages.\n * This constant is expected to be very soft, so as not to be uncomfortable when performed a lot in quick succession.\n * If the device can't make a suitably soft vibration, then it may not make any vibration.\n */\n Segment_Frequent_Tick = 'segment-frequent-tick',\n /**\n * The user has performed a selection/insertion handle move on text field.\n */\n Text_Handle_Move = 'text-handle-move',\n}\n","import { Platform, UnavailabilityError } from 'expo-modules-core';\n\nimport ExpoHaptics from './ExpoHaptics';\nimport { NotificationFeedbackType, ImpactFeedbackStyle, AndroidHaptics } from './Haptics.types';\n\n// @needsAudit\n/**\n * The kind of notification response used in the feedback.\n * @param type A notification feedback type that on Android is simulated using [`Vibrator`](https://developer.android.com/reference/android/os/Vibrator)\n * and iOS is directly mapped to [`UINotificationFeedbackType`](https://developer.apple.com/documentation/uikit/uinotificationfeedbacktype).\n * You can use one of `Haptics.NotificationFeedbackType.{Success, Warning, Error}`.\n * @return A `Promise` which fulfills once native size haptics functionality is triggered.\n */\nexport async function notificationAsync(\n type: NotificationFeedbackType = NotificationFeedbackType.Success\n): Promise<void> {\n if (!ExpoHaptics?.notificationAsync) {\n throw new UnavailabilityError('Haptics', 'notificationAsync');\n }\n await ExpoHaptics.notificationAsync(type);\n}\n\n// @needsAudit\n/**\n * @param style A collision indicator that on Android is simulated using [`Vibrator`](https://developer.android.com/reference/android/os/Vibrator)\n * and on iOS, it is directly mapped to [`UIImpactFeedbackStyle`](https://developer.apple.com/documentation/uikit/uiimpactfeedbackgenerator/feedbackstyle).\n * You can use one of `Haptics.ImpactFeedbackStyle.{Light, Medium, Heavy, Rigid, Soft}`.\n * @return A `Promise` which fulfills once native size haptics functionality is triggered.\n * @see Android's `Vibrator` API is not recommended for implementing haptics feedback. **Instead, you should use\n * [`performAndroidHapticsAsync`](#hapticsperformandroidhapticsasynctype), which is similar to iOS haptic feedback and does not require\n * `VIBRATE` permission.**\n */\nexport async function impactAsync(\n style: ImpactFeedbackStyle = ImpactFeedbackStyle.Medium\n): Promise<void> {\n if (!ExpoHaptics?.impactAsync) {\n throw new UnavailabilityError('Haptic', 'impactAsync');\n }\n await ExpoHaptics.impactAsync(style);\n}\n\n// @needsAudit\n/**\n * Used to let a user know when a selection change has been registered.\n * @return A `Promise` which fulfills once native size haptics functionality is triggered.\n */\nexport async function selectionAsync(): Promise<void> {\n if (!ExpoHaptics?.selectionAsync) {\n throw new UnavailabilityError('Haptic', 'selectionAsync');\n }\n await ExpoHaptics.selectionAsync();\n}\n\n/**\n * Use the device haptics engine to provide physical feedback to the user.\n *\n * @platform android\n */\nexport async function performAndroidHapticsAsync(type: AndroidHaptics) {\n if (Platform.OS !== 'android') {\n return;\n }\n ExpoHaptics.performHapticsAsync(type);\n}\n\nexport { NotificationFeedbackType, ImpactFeedbackStyle, AndroidHaptics };\n","/**\n * cn() - Class Name / Style Merger\n *\n * The core utility for merging styles in mcellui.\n * Inspired by shadcn/ui's cn() but adapted for React Native StyleSheet.\n */\n\nimport { StyleSheet, ViewStyle, TextStyle, ImageStyle } from 'react-native';\n\ntype Style = ViewStyle | TextStyle | ImageStyle;\ntype StyleInput = Style | Style[] | null | undefined | false;\n\n/**\n * Merges multiple style objects into a single flattened style.\n *\n * Handles undefined, null, false, and nested arrays. React Native equivalent\n * of clsx/cn for web.\n *\n * @param inputs - Style objects or falsy values to merge\n * @returns Merged and flattened style object\n *\n * @example\n * ```tsx\n * const styles = cn(\n * baseStyles.container,\n * isActive && activeStyles,\n * { padding: 16 }\n * );\n * ```\n */\nexport function cn(...inputs: StyleInput[]): Style {\n const styles: Style[] = [];\n\n for (const input of inputs) {\n if (!input) continue;\n\n if (Array.isArray(input)) {\n const flattened = StyleSheet.flatten(input);\n if (flattened) styles.push(flattened);\n } else {\n styles.push(input);\n }\n }\n\n return StyleSheet.flatten(styles);\n}\n\n/**\n * Creates a style object from conditional styles.\n *\n * More explicit alternative to cn() for complex conditions.\n *\n * @param styles - Object mapping condition names to style values\n * @returns Merged and flattened style object\n *\n * @example\n * ```tsx\n * const styles = mergeStyles({\n * base: baseStyle,\n * active: isActive && activeStyle,\n * disabled: isDisabled && disabledStyle,\n * });\n * ```\n */\nexport function mergeStyles(styles: Record<string, StyleInput>): Style {\n return cn(...Object.values(styles));\n}\n","/**\n * Platform Utilities\n *\n * Helpers for platform-specific behavior\n */\n\nimport { Platform, Dimensions, PixelRatio } from 'react-native';\n\n/** True if running on iOS */\nexport const isIOS = Platform.OS === 'ios';\n\n/** True if running on Android */\nexport const isAndroid = Platform.OS === 'android';\n\n/** True if running on web */\nexport const isWeb = Platform.OS === 'web';\n\n/** iOS version number (returns 0 on non-iOS platforms) */\nexport const iosVersion = isIOS\n ? parseInt(String(Platform.Version), 10)\n : 0;\n\n/** Android API level (returns 0 on non-Android platforms) */\nexport const androidApiLevel = isAndroid\n ? (Platform.Version as number)\n : 0;\n\n/**\n * Check if device is a tablet.\n *\n * Uses screen dimensions heuristic (600dp minimum, aspect ratio < 1.6).\n *\n * @returns True if device is likely a tablet\n */\nexport function isTablet(): boolean {\n const { width, height } = Dimensions.get('window');\n const aspectRatio = Math.max(width, height) / Math.min(width, height);\n const isLargeScreen = Math.min(width, height) >= 600;\n\n return isLargeScreen && aspectRatio < 1.6;\n}\n\n/** Device pixel ratio for crisp rendering */\nexport const pixelRatio = PixelRatio.get();\n\n/**\n * Round to nearest pixel for crisp lines and borders.\n *\n * @param value - Value in logical pixels\n * @returns Value rounded to nearest physical pixel\n */\nexport function roundToNearestPixel(value: number): number {\n return PixelRatio.roundToNearestPixel(value);\n}\n\n/**\n * Get safe font scale (clamped for accessibility).\n *\n * Prevents excessively large text from breaking layouts when users enable\n * large text accessibility settings.\n *\n * @param maxScale - Maximum scale to allow (defaults to 1.3)\n * @returns Clamped font scale factor\n */\nexport function getFontScale(maxScale = 1.3): number {\n return Math.min(PixelRatio.getFontScale(), maxScale);\n}\n","/**\n * Accessibility Utilities\n *\n * Helpers for building accessible components\n */\n\nimport { AccessibilityRole, AccessibilityState } from 'react-native';\n\nexport interface A11yProps {\n accessible?: boolean;\n accessibilityLabel?: string;\n accessibilityHint?: string;\n accessibilityRole?: AccessibilityRole;\n accessibilityState?: AccessibilityState;\n}\n\n/**\n * Creates accessibility props for a button.\n *\n * @param label - Accessible label for the button\n * @param options - Optional button state (hint, disabled, selected)\n * @returns Accessibility props to spread onto component\n *\n * @example\n * ```tsx\n * <Pressable {...buttonA11y('Submit', { disabled: isLoading })} />\n * ```\n */\nexport function buttonA11y(\n label: string,\n options?: {\n hint?: string;\n disabled?: boolean;\n selected?: boolean;\n }\n): A11yProps {\n return {\n accessible: true,\n accessibilityRole: 'button',\n accessibilityLabel: label,\n accessibilityHint: options?.hint,\n accessibilityState: {\n disabled: options?.disabled,\n selected: options?.selected,\n },\n };\n}\n\n/**\n * Creates accessibility props for a checkbox/switch.\n *\n * @param label - Accessible label for the toggle\n * @param checked - Whether the toggle is checked\n * @param options - Optional toggle state (hint, disabled)\n * @returns Accessibility props to spread onto component\n *\n * @example\n * ```tsx\n * <Pressable {...toggleA11y('Dark Mode', isDark, { disabled: false })} />\n * ```\n */\nexport function toggleA11y(\n label: string,\n checked: boolean,\n options?: {\n hint?: string;\n disabled?: boolean;\n }\n): A11yProps {\n return {\n accessible: true,\n accessibilityRole: 'switch',\n accessibilityLabel: label,\n accessibilityHint: options?.hint,\n accessibilityState: {\n checked,\n disabled: options?.disabled,\n },\n };\n}\n\n/**\n * Creates accessibility props for a link.\n *\n * @param label - Accessible label for the link\n * @param options - Optional hint text\n * @returns Accessibility props to spread onto component\n *\n * @example\n * ```tsx\n * <Pressable {...linkA11y('View Details', { hint: 'Opens product page' })} />\n * ```\n */\nexport function linkA11y(\n label: string,\n options?: {\n hint?: string;\n }\n): A11yProps {\n return {\n accessible: true,\n accessibilityRole: 'link',\n accessibilityLabel: label,\n accessibilityHint: options?.hint ?? 'Double tap to open',\n };\n}\n\n/**\n * Creates accessibility props for an image.\n *\n * @param label - Accessible label describing the image\n * @param options - Optional decorative flag (hides from screen readers)\n * @returns Accessibility props to spread onto Image component\n *\n * @example\n * ```tsx\n * <Image {...imageA11y('Profile photo')} />\n * <Image {...imageA11y('', { decorative: true })} />\n * ```\n */\nexport function imageA11y(\n label: string,\n options?: {\n decorative?: boolean;\n }\n): A11yProps {\n if (options?.decorative) {\n return {\n accessible: false,\n accessibilityLabel: undefined,\n };\n }\n\n return {\n accessible: true,\n accessibilityRole: 'image',\n accessibilityLabel: label,\n };\n}\n\n/**\n * Creates accessibility props for a heading.\n *\n * @param label - Accessible label for the heading\n * @returns Accessibility props to spread onto Text component\n *\n * @example\n * ```tsx\n * <Text {...headingA11y('Dashboard')} style={typography.h1}>Dashboard</Text>\n * ```\n */\nexport function headingA11y(label: string): A11yProps {\n return {\n accessible: true,\n accessibilityRole: 'header',\n accessibilityLabel: label,\n };\n}\n","/**\n * Haptics Utilities\n *\n * Unified haptic feedback interface.\n * Falls back gracefully when expo-haptics is not available.\n *\n * Design Philosophy:\n * - Every interactive element should provide tactile feedback\n * - Haptics should be subtle and purposeful\n * - Respect user's haptic preferences\n */\n\n/** Available haptic feedback styles */\nexport type HapticStyle = 'light' | 'medium' | 'heavy' | 'success' | 'warning' | 'error' | 'selection';\n\n/**\n * Haptic presets for common interactions\n */\nexport const hapticPresets = {\n /** For button presses, checkbox toggles */\n buttonPress: 'light' as HapticStyle,\n /** For switch toggles */\n toggle: 'medium' as HapticStyle,\n /** For successful actions */\n success: 'success' as HapticStyle,\n /** For errors */\n error: 'error' as HapticStyle,\n /** For selection changes (radio, picker) */\n selection: 'selection' as HapticStyle,\n /** For destructive actions */\n destructive: 'warning' as HapticStyle,\n} as const;\n\nlet Haptics: typeof import('expo-haptics') | null = null;\n\n// Try to load expo-haptics (optional dependency)\ntry {\n Haptics = require('expo-haptics');\n} catch {\n // expo-haptics not available, haptics will be no-ops\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Global Haptics State\n// ─────────────────────────────────────────────────────────────────────────────\n\nlet hapticsEnabled = true;\n\n/**\n * Enable or disable haptic feedback globally.\n *\n * Use this to respect user preferences or accessibility settings.\n *\n * @param enabled - Whether to enable haptic feedback\n *\n * @example\n * ```tsx\n * // In ThemeProvider or app setup\n * setHapticsEnabled(false);\n *\n * // Or via config\n * <ThemeProvider haptics={false}>\n * ```\n */\nexport function setHapticsEnabled(enabled: boolean): void {\n hapticsEnabled = enabled;\n}\n\n/**\n * Check if haptics are currently enabled.\n *\n * @returns True if haptics are enabled and expo-haptics is available\n */\nexport function isHapticsEnabled(): boolean {\n return hapticsEnabled && Haptics !== null;\n}\n\n/**\n * Trigger haptic feedback.\n *\n * Respects the global haptics enabled state. Disabled via:\n * - `setHapticsEnabled(false)`\n * - `<ThemeProvider haptics={false}>`\n *\n * @param style - Haptic feedback style (defaults to 'light')\n * @returns Promise that resolves when haptic completes\n *\n * @example\n * ```tsx\n * onPress={() => {\n * haptic('light');\n * // ... rest of handler\n * }}\n * ```\n */\nexport async function haptic(style: HapticStyle = 'light'): Promise<void> {\n if (!hapticsEnabled || !Haptics) return;\n\n try {\n switch (style) {\n case 'light':\n await Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Light);\n break;\n case 'medium':\n await Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Medium);\n break;\n case 'heavy':\n await Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Heavy);\n break;\n case 'success':\n await Haptics.notificationAsync(Haptics.NotificationFeedbackType.Success);\n break;\n case 'warning':\n await Haptics.notificationAsync(Haptics.NotificationFeedbackType.Warning);\n break;\n case 'error':\n await Haptics.notificationAsync(Haptics.NotificationFeedbackType.Error);\n break;\n case 'selection':\n await Haptics.selectionAsync();\n break;\n }\n } catch {\n // Silently fail if haptics not supported\n }\n}\n\n/**\n * Check if haptics are available.\n *\n * @returns True if expo-haptics is installed and can be used\n */\nexport function hapticsAvailable(): boolean {\n return Haptics !== null;\n}\n","/**\n * Expo Go Detection Utility\n *\n * Provides detection for Expo Go environment to gracefully disable\n * Reanimated animations when running in Expo Go client.\n *\n * @example\n * ```tsx\n * import { isExpoGo, areAnimationsDisabled } from '@metacells/mcellui-core';\n *\n * // Check environment\n * if (isExpoGo()) {\n * console.log('Running in Expo Go');\n * }\n *\n * // Check if animations should be disabled\n * if (areAnimationsDisabled()) {\n * // Skip animation, use static styles\n * }\n * ```\n */\n\nlet executionEnvironment: string | undefined;\n\n// Try to load expo-constants at module load time\ntry {\n // Dynamic require to avoid bundler issues when expo-constants is not available\n const Constants = require('expo-constants').default;\n executionEnvironment = Constants?.executionEnvironment;\n} catch {\n // expo-constants not available - not in Expo environment\n executionEnvironment = undefined;\n}\n\n/**\n * Check if the app is running in Expo Go client.\n *\n * Returns false in development builds, production builds, or non-Expo environments.\n *\n * @returns True if running in Expo Go client\n */\nexport function isExpoGo(): boolean {\n return executionEnvironment === 'storeClient';\n}\n\n// Internal state for animation override\nlet animationsDisabledOverride: boolean | null = null;\n\n/**\n * Manually override the animation disabled state.\n *\n * Set to `true` to force disable animations, `false` to force enable,\n * or `null` to use automatic detection (Expo Go = disabled).\n *\n * @param disabled - Override value (true/false) or null for automatic detection\n */\nexport function setAnimationsDisabled(disabled: boolean | null): void {\n animationsDisabledOverride = disabled;\n}\n\n/**\n * Check if animations should be disabled.\n *\n * Returns true if:\n * - Manually overridden to true via setAnimationsDisabled(true)\n * - Running in Expo Go (automatic detection)\n *\n * Returns false if:\n * - Manually overridden to false via setAnimationsDisabled(false)\n * - Running in development/production build\n *\n * @returns True if animations should be disabled\n */\nexport function areAnimationsDisabled(): boolean {\n if (animationsDisabledOverride !== null) {\n return animationsDisabledOverride;\n }\n return isExpoGo();\n}\n","/**\n * Typography Tokens\n *\n * Consistent typography scale for all text elements.\n * Based on iOS Human Interface Guidelines with\n * consideration for React Native defaults.\n *\n * Supports Geist font family when loaded, falls back to system fonts.\n *\n * Usage:\n * ```tsx\n * const { typography, fontFamily } = useTheme();\n * <Text style={typography.body} />\n * <Text style={{ fontFamily: fontFamily.sans, fontSize: fontSize.lg }} />\n * ```\n */\n\nimport { TextStyle, Platform } from 'react-native';\n\n// =============================================================================\n// Font Sizes\n// =============================================================================\n\nexport const fontSize = {\n /** 10px - fine print */\n '2xs': 10,\n /** 11px - captions, labels */\n xs: 11,\n /** 12px - small text, badges */\n sm: 12,\n /** 14px - secondary text */\n base: 14,\n /** 16px - body text (default) */\n md: 16,\n /** 18px - emphasized body */\n lg: 18,\n /** 20px - small headings */\n xl: 20,\n /** 24px - section headings */\n '2xl': 24,\n /** 30px - page headings */\n '3xl': 30,\n /** 36px - large headings */\n '4xl': 36,\n /** 48px - display */\n '5xl': 48,\n} as const;\n\nexport type FontSizeKey = keyof typeof fontSize;\n\n// =============================================================================\n// Font Weights\n// =============================================================================\n\nexport const fontWeight = {\n /** 100 */\n thin: '100' as const,\n /** 200 */\n extralight: '200' as const,\n /** 300 */\n light: '300' as const,\n /** 400 - body text */\n normal: '400' as const,\n /** 500 - slightly emphasized */\n medium: '500' as const,\n /** 600 - buttons, labels */\n semibold: '600' as const,\n /** 700 - headings */\n bold: '700' as const,\n /** 800 */\n extrabold: '800' as const,\n /** 900 */\n black: '900' as const,\n} as const;\n\nexport type FontWeightKey = keyof typeof fontWeight;\n\n// =============================================================================\n// Line Heights\n// =============================================================================\n\nexport const lineHeight = {\n /** Tight: 1.0 */\n none: 1,\n /** Tight: 1.25 */\n tight: 1.25,\n /** Snug: 1.375 */\n snug: 1.375,\n /** Normal: 1.5 (default) */\n normal: 1.5,\n /** Relaxed: 1.625 */\n relaxed: 1.625,\n /** Loose: 2.0 */\n loose: 2,\n} as const;\n\nexport type LineHeightKey = keyof typeof lineHeight;\n\n// =============================================================================\n// Letter Spacing\n// =============================================================================\n\nexport const letterSpacing = {\n tighter: -0.8,\n tight: -0.4,\n normal: 0,\n wide: 0.4,\n wider: 0.8,\n widest: 1.6,\n} as const;\n\nexport type LetterSpacingKey = keyof typeof letterSpacing;\n\n// =============================================================================\n// Font Family\n// =============================================================================\n\n/**\n * System font fallbacks for when custom fonts aren't loaded.\n */\nexport const systemFonts = {\n /** Sans-serif system font */\n sans: Platform.select({\n ios: 'System',\n android: 'Roboto',\n default: 'System',\n }) as string,\n /** Monospace system font */\n mono: Platform.select({\n ios: 'Menlo',\n android: 'monospace',\n default: 'monospace',\n }) as string,\n} as const;\n\n/**\n * Semantic font tokens.\n *\n * Three fonts cover all use cases:\n * - `sans`: Body text, UI elements (default)\n * - `heading`: Headlines h1-h4 (can be display/serif font)\n * - `mono`: Code blocks, monospace text\n *\n * @example\n * ```tsx\n * // Use defaults (Geist)\n * <ThemeProvider>\n *\n * // Custom fonts\n * <ThemeProvider fonts={{\n * sans: 'Inter_400Regular',\n * heading: 'PlayfairDisplay_700Bold',\n * mono: 'FiraCode_400Regular',\n * }}>\n * ```\n */\nexport interface Fonts {\n /** Body text, UI elements */\n sans: string;\n /** Headlines (h1-h4) - defaults to bold variant of sans */\n heading: string;\n /** Code, monospace text */\n mono: string;\n}\n\n/**\n * Default fonts using Geist font family.\n * Used when no custom fonts are provided to ThemeProvider.\n */\nexport const defaultFonts: Fonts = {\n sans: 'Geist_400Regular',\n heading: 'Geist_700Bold',\n mono: 'GeistMono_400Regular',\n};\n\n/**\n * Legacy fontFamily export for backwards compatibility.\n * @deprecated Use `fonts` from useTheme() instead\n */\nexport const fontFamily = {\n /** Sans-serif: Geist or system default */\n sans: systemFonts.sans,\n /** Monospace: Geist Mono or system default */\n mono: systemFonts.mono,\n /** System font - always available */\n system: systemFonts.sans,\n} as const;\n\n/**\n * Font family with weight suffix for Geist.\n * Use these when Geist fonts are loaded.\n */\nexport const geistFontFamily = {\n // Sans variants\n 'sans-thin': 'Geist_100Thin',\n 'sans-extralight': 'Geist_200ExtraLight',\n 'sans-light': 'Geist_300Light',\n 'sans-regular': 'Geist_400Regular',\n 'sans-medium': 'Geist_500Medium',\n 'sans-semibold': 'Geist_600SemiBold',\n 'sans-bold': 'Geist_700Bold',\n 'sans-extrabold': 'Geist_800ExtraBold',\n 'sans-black': 'Geist_900Black',\n // Mono variants\n 'mono-thin': 'GeistMono_100Thin',\n 'mono-extralight': 'GeistMono_200ExtraLight',\n 'mono-light': 'GeistMono_300Light',\n 'mono-regular': 'GeistMono_400Regular',\n 'mono-medium': 'GeistMono_500Medium',\n 'mono-semibold': 'GeistMono_600SemiBold',\n 'mono-bold': 'GeistMono_700Bold',\n 'mono-extrabold': 'GeistMono_800ExtraBold',\n 'mono-black': 'GeistMono_900Black',\n} as const;\n\nexport type FontFamilyKey = keyof typeof fontFamily;\nexport type GeistFontFamilyKey = keyof typeof geistFontFamily;\n\n// =============================================================================\n// Typography Presets\n// =============================================================================\n\n/**\n * Typography preset styles type.\n */\nexport interface Typography {\n display: TextStyle;\n h1: TextStyle;\n h2: TextStyle;\n h3: TextStyle;\n h4: TextStyle;\n h5: TextStyle;\n h6: TextStyle;\n bodyLg: TextStyle;\n body: TextStyle;\n bodySm: TextStyle;\n label: TextStyle;\n labelSm: TextStyle;\n button: TextStyle;\n buttonSm: TextStyle;\n buttonLg: TextStyle;\n caption: TextStyle;\n overline: TextStyle;\n badge: TextStyle;\n code: TextStyle;\n}\n\nexport type TypographyKey = keyof Typography;\n\n/**\n * Creates typography presets with the given fonts.\n * Used internally by ThemeProvider to generate typography styles.\n */\nexport function createTypography(fonts: Fonts): Typography {\n return {\n // Display/Hero\n display: {\n fontFamily: fonts.heading,\n fontSize: fontSize['5xl'],\n fontWeight: fontWeight.bold,\n lineHeight: fontSize['5xl'] * lineHeight.tight,\n letterSpacing: letterSpacing.tight,\n },\n\n // Headings - use heading font\n h1: {\n fontFamily: fonts.heading,\n fontSize: fontSize['3xl'],\n fontWeight: fontWeight.bold,\n lineHeight: fontSize['3xl'] * lineHeight.tight,\n letterSpacing: letterSpacing.tight,\n },\n\n h2: {\n fontFamily: fonts.heading,\n fontSize: fontSize['2xl'],\n fontWeight: fontWeight.bold,\n lineHeight: fontSize['2xl'] * lineHeight.tight,\n },\n\n h3: {\n fontFamily: fonts.heading,\n fontSize: fontSize.xl,\n fontWeight: fontWeight.semibold,\n lineHeight: fontSize.xl * lineHeight.snug,\n },\n\n h4: {\n fontFamily: fonts.heading,\n fontSize: fontSize.lg,\n fontWeight: fontWeight.semibold,\n lineHeight: fontSize.lg * lineHeight.snug,\n },\n\n h5: {\n fontFamily: fonts.heading,\n fontSize: fontSize.md,\n fontWeight: fontWeight.semibold,\n lineHeight: fontSize.md * lineHeight.snug,\n },\n\n h6: {\n fontFamily: fonts.heading,\n fontSize: fontSize.base,\n fontWeight: fontWeight.semibold,\n lineHeight: fontSize.base * lineHeight.snug,\n },\n\n // Body - use sans font\n bodyLg: {\n fontFamily: fonts.sans,\n fontSize: fontSize.lg,\n fontWeight: fontWeight.normal,\n lineHeight: fontSize.lg * lineHeight.normal,\n },\n\n body: {\n fontFamily: fonts.sans,\n fontSize: fontSize.md,\n fontWeight: fontWeight.normal,\n lineHeight: fontSize.md * lineHeight.normal,\n },\n\n bodySm: {\n fontFamily: fonts.sans,\n fontSize: fontSize.base,\n fontWeight: fontWeight.normal,\n lineHeight: fontSize.base * lineHeight.normal,\n },\n\n // UI Text - use sans font\n label: {\n fontFamily: fonts.sans,\n fontSize: fontSize.base,\n fontWeight: fontWeight.medium,\n lineHeight: fontSize.base * lineHeight.snug,\n },\n\n labelSm: {\n fontFamily: fonts.sans,\n fontSize: fontSize.sm,\n fontWeight: fontWeight.medium,\n lineHeight: fontSize.sm * lineHeight.snug,\n },\n\n button: {\n fontFamily: fonts.sans,\n fontSize: fontSize.md,\n fontWeight: fontWeight.semibold,\n lineHeight: fontSize.md * lineHeight.none,\n },\n\n buttonSm: {\n fontFamily: fonts.sans,\n fontSize: fontSize.base,\n fontWeight: fontWeight.semibold,\n lineHeight: fontSize.base * lineHeight.none,\n },\n\n buttonLg: {\n fontFamily: fonts.sans,\n fontSize: fontSize.lg,\n fontWeight: fontWeight.semibold,\n lineHeight: fontSize.lg * lineHeight.none,\n },\n\n // Small text - use sans font\n caption: {\n fontFamily: fonts.sans,\n fontSize: fontSize.xs,\n fontWeight: fontWeight.normal,\n lineHeight: fontSize.xs * lineHeight.normal,\n },\n\n overline: {\n fontFamily: fonts.sans,\n fontSize: fontSize.xs,\n fontWeight: fontWeight.semibold,\n lineHeight: fontSize.xs * lineHeight.normal,\n letterSpacing: letterSpacing.wider,\n textTransform: 'uppercase',\n },\n\n badge: {\n fontFamily: fonts.sans,\n fontSize: fontSize.sm,\n fontWeight: fontWeight.medium,\n lineHeight: fontSize.sm * lineHeight.none,\n },\n\n // Code - use mono font\n code: {\n fontFamily: fonts.mono,\n fontSize: fontSize.sm,\n fontWeight: fontWeight.normal,\n lineHeight: fontSize.sm * lineHeight.normal,\n },\n };\n}\n\n/**\n * Default typography presets using default fonts.\n * @deprecated Use typography from useTheme() for font customization support\n */\nexport const typography = createTypography(defaultFonts);\n","/**\n * Typography Utilities\n *\n * Helper functions for working with typography tokens in React Native.\n * React Native requires absolute lineHeight values (in pixels), not CSS\n * multipliers like web.\n *\n * @example\n * ```tsx\n * import { getLineHeight, lineHeight, fontSize } from '@metacells/mcellui-core';\n *\n * // Instead of inline calculations:\n * // lineHeight: fontSize.base * 1.5\n *\n * // Use the helper:\n * lineHeight: getLineHeight(fontSize.base, lineHeight.normal)\n * // or with shorthand:\n * lineHeight: getLineHeight(14, 'normal')\n * ```\n */\n\nimport { fontSize, lineHeight as lineHeightTokens, type LineHeightKey } from '../theme/typography';\n\n/**\n * Calculates absolute lineHeight for React Native.\n *\n * React Native requires lineHeight as absolute pixel values, not CSS multipliers.\n * This helper converts fontSize + multiplier into the correct absolute value.\n *\n * @param size - Font size in pixels (e.g., fontSize.base = 14)\n * @param multiplier - Either a numeric multiplier (1.5) or a lineHeight key ('normal')\n * @returns Absolute lineHeight in pixels\n *\n * @example\n * ```tsx\n * // Using numeric multiplier\n * getLineHeight(14, 1.5) // => 21\n *\n * // Using lineHeight token key\n * getLineHeight(fontSize.base, 'normal') // => 21\n *\n * // Using lineHeight token value directly\n * getLineHeight(fontSize.base, lineHeight.normal) // => 21\n * ```\n */\nexport function getLineHeight(\n size: number,\n multiplier: number | LineHeightKey\n): number {\n const mult = typeof multiplier === 'string'\n ? lineHeightTokens[multiplier]\n : multiplier;\n\n return Math.round(size * mult);\n}\n\n/**\n * Pre-computed lineHeight values for common fontSize + lineHeight combinations.\n *\n * Use these when you want consistent, pre-calculated values without calling\n * getLineHeight() each time.\n *\n * @example\n * ```tsx\n * import { computedLineHeight } from '@metacells/mcellui-core';\n *\n * <Text style={{ fontSize: 14, lineHeight: computedLineHeight.base.normal }}>\n * Body text with normal line height\n * </Text>\n * ```\n */\nexport const computedLineHeight = {\n /** fontSize['2xs'] = 10 */\n '2xs': {\n none: getLineHeight(fontSize['2xs'], 'none'),\n tight: getLineHeight(fontSize['2xs'], 'tight'),\n snug: getLineHeight(fontSize['2xs'], 'snug'),\n normal: getLineHeight(fontSize['2xs'], 'normal'),\n relaxed: getLineHeight(fontSize['2xs'], 'relaxed'),\n loose: getLineHeight(fontSize['2xs'], 'loose'),\n },\n /** fontSize.xs = 11 */\n xs: {\n none: getLineHeight(fontSize.xs, 'none'),\n tight: getLineHeight(fontSize.xs, 'tight'),\n snug: getLineHeight(fontSize.xs, 'snug'),\n normal: getLineHeight(fontSize.xs, 'normal'),\n relaxed: getLineHeight(fontSize.xs, 'relaxed'),\n loose: getLineHeight(fontSize.xs, 'loose'),\n },\n /** fontSize.sm = 12 */\n sm: {\n none: getLineHeight(fontSize.sm, 'none'),\n tight: getLineHeight(fontSize.sm, 'tight'),\n snug: getLineHeight(fontSize.sm, 'snug'),\n normal: getLineHeight(fontSize.sm, 'normal'),\n relaxed: getLineHeight(fontSize.sm, 'relaxed'),\n loose: getLineHeight(fontSize.sm, 'loose'),\n },\n /** fontSize.base = 14 */\n base: {\n none: getLineHeight(fontSize.base, 'none'),\n tight: getLineHeight(fontSize.base, 'tight'),\n snug: getLineHeight(fontSize.base, 'snug'),\n normal: getLineHeight(fontSize.base, 'normal'),\n relaxed: getLineHeight(fontSize.base, 'relaxed'),\n loose: getLineHeight(fontSize.base, 'loose'),\n },\n /** fontSize.md = 16 */\n md: {\n none: getLineHeight(fontSize.md, 'none'),\n tight: getLineHeight(fontSize.md, 'tight'),\n snug: getLineHeight(fontSize.md, 'snug'),\n normal: getLineHeight(fontSize.md, 'normal'),\n relaxed: getLineHeight(fontSize.md, 'relaxed'),\n loose: getLineHeight(fontSize.md, 'loose'),\n },\n /** fontSize.lg = 18 */\n lg: {\n none: getLineHeight(fontSize.lg, 'none'),\n tight: getLineHeight(fontSize.lg, 'tight'),\n snug: getLineHeight(fontSize.lg, 'snug'),\n normal: getLineHeight(fontSize.lg, 'normal'),\n relaxed: getLineHeight(fontSize.lg, 'relaxed'),\n loose: getLineHeight(fontSize.lg, 'loose'),\n },\n /** fontSize.xl = 20 */\n xl: {\n none: getLineHeight(fontSize.xl, 'none'),\n tight: getLineHeight(fontSize.xl, 'tight'),\n snug: getLineHeight(fontSize.xl, 'snug'),\n normal: getLineHeight(fontSize.xl, 'normal'),\n relaxed: getLineHeight(fontSize.xl, 'relaxed'),\n loose: getLineHeight(fontSize.xl, 'loose'),\n },\n /** fontSize['2xl'] = 24 */\n '2xl': {\n none: getLineHeight(fontSize['2xl'], 'none'),\n tight: getLineHeight(fontSize['2xl'], 'tight'),\n snug: getLineHeight(fontSize['2xl'], 'snug'),\n normal: getLineHeight(fontSize['2xl'], 'normal'),\n relaxed: getLineHeight(fontSize['2xl'], 'relaxed'),\n loose: getLineHeight(fontSize['2xl'], 'loose'),\n },\n /** fontSize['3xl'] = 30 */\n '3xl': {\n none: getLineHeight(fontSize['3xl'], 'none'),\n tight: getLineHeight(fontSize['3xl'], 'tight'),\n snug: getLineHeight(fontSize['3xl'], 'snug'),\n normal: getLineHeight(fontSize['3xl'], 'normal'),\n relaxed: getLineHeight(fontSize['3xl'], 'relaxed'),\n loose: getLineHeight(fontSize['3xl'], 'loose'),\n },\n /** fontSize['4xl'] = 36 */\n '4xl': {\n none: getLineHeight(fontSize['4xl'], 'none'),\n tight: getLineHeight(fontSize['4xl'], 'tight'),\n snug: getLineHeight(fontSize['4xl'], 'snug'),\n normal: getLineHeight(fontSize['4xl'], 'normal'),\n relaxed: getLineHeight(fontSize['4xl'], 'relaxed'),\n loose: getLineHeight(fontSize['4xl'], 'loose'),\n },\n /** fontSize['5xl'] = 48 */\n '5xl': {\n none: getLineHeight(fontSize['5xl'], 'none'),\n tight: getLineHeight(fontSize['5xl'], 'tight'),\n snug: getLineHeight(fontSize['5xl'], 'snug'),\n normal: getLineHeight(fontSize['5xl'], 'normal'),\n relaxed: getLineHeight(fontSize['5xl'], 'relaxed'),\n loose: getLineHeight(fontSize['5xl'], 'loose'),\n },\n} as const;\n\nexport type ComputedLineHeightKey = keyof typeof computedLineHeight;\n"]}