<itemvalue="The authentication time formatted as UTC string. This is the time the user authenticated (signed in) and not the time the token was refreshed."/>
<itemvalue="The time when the ID token expires."/>
<itemvalue="Interface representing ID token result obtained from [getIdTokenResult]. It contains the ID token JWT string and other helper properties for getting different data associated with the token as well as all the decoded payload claims. Note that these claims are not to be trusted as they are parsed client side. Only server side verification can guarantee the integrity of the token claims."/>
<itemvalue="Returns a [IdTokenResult] containing the users JSON Web Token (JWT) and other metadata. Returns the current token if it has not expired. Otherwise, this will refresh the token and return a new one. If [forceRefresh] is `true`, the token returned will be refreshed regardless of token expiration."/>
<itemvalue="Returns a JSON Web Token (JWT) used to identify the user to a Firebase service. Returns the current token if it has not expired. Otherwise, this will refresh the token and return a new one. If [forceRefresh] is `true`, the token returned will be refreshed regardless of token expiration."/>
<itemvalue="If [forceRefresh] is `true`, the token returned will be refreshed regardless of token expiration."/>
<itemvalue="A longer-lived native function, which occupies the thread calling it. Do not call these kind of native functions in the main isolate. They will block Dart execution. This will cause dropped frames in Flutter applications. Instead, call these native functions on a separate isolate."/>
<itemvalue="A very short-lived native function. For very short-lived functions, it is fine to call them on the main isolate. They will block the Dart execution while running the native function, so only do this for native functions which are guaranteed to be short-lived."/>
<itemvalue="[RawKeyboard] is the legacy API, and will be deprecated and removed in the future. It is recommended to always use [HardwareKeyboard] and [KeyEvent] APIs (such as [FocusNode.onKeyEvent]) to handle key events."/>
<itemvalue="Flutter will try to synchronize with the ground truth of keyboard states using synthesized events ([KeyEvent.synthesized]), subject to the availability of the platform. The desynchronization can be caused by non-empty initial state or a change in the focused window or application. For example, if CapsLock is enabled when the application starts, then immediately before the first key event, a synthesized [KeyDownEvent] and [KeyUpEvent] of CapsLock will be dispatched. The resulting event stream does not map one-to-one to the native key event stream. Some native events might be skipped, while some events might be synthesized and do not correspond to native events. Synthesized events will be indicated by [KeyEvent.synthesized]."/>
<itemvalue="When the Flutter application starts, all keys are released, and all lock modes are disabled. Upon key events, [HardwareKeyboard] will update its states, then dispatch callbacks: [KeyDownEvent]s and [KeyUpEvent]s set or reset the pressing state, while [KeyDownEvent]s also toggle lock modes."/>
<itemvalue="Event model Flutter uses a universal event model ([KeyEvent]) and key options ([LogicalKeyboardKey] and [PhysicalKeyboardKey]) regardless of the native platform, while preserving platform-specific features as much as possible. [HardwareKeyboard] guarantees that the key model is "regularized": The key event stream consists of "key tap sequences", where a key tap sequence is defined as one [KeyDownEvent], zero or more [KeyRepeatEvent]s, and one [KeyUpEvent"/>
<itemvalue="Manages key events from hardware keyboards. [HardwareKeyboard] manages all key events of the Flutter application from hardware keyboards (in contrast to on-screen keyboards). It receives key data from the native platform, dispatches key events to registered handlers, and records the keyboard state. To stay notified whenever keys are pressed, held, or released, add a handler with [addHandler]. To only be notified when a specific part of the app is focused, use a [Focus] widget's `onFocusChanged` attribute instead of [addHandler]. Handlers should be removed with [removeHandler] when notification is no longer necessary, or when the handler is being disposed. To query whether a key is being held, or a lock mode is enabled, use [physicalKeysPressed], [logicalKeysPressed], or [lockModesEnabled]. These states will have been updated with the event when used during a key event handler. The singleton [HardwareKeyboard] instance is held by the [ServicesBinding] as [ServicesBinding.keyboard], and can be conveniently accessed using the [HardwareKeyboard.instance] static accessor."/>
<itemvalue="A widget that calls a callback whenever the user presses or releases a key on a keyboard. A [RawKeyboardListener] is useful for listening to raw key events and hardware buttons that are represented as keys. Typically used by games and other apps that use keyboards for purposes other than text entry. For text entry, consider using a [EditableText], which integrates with on-screen keyboards and input method editors (IMEs). The [RawKeyboardListener] is different from [KeyboardListener] in that [RawKeyboardListener] uses the legacy [RawKeyboard] API. Use [KeyboardListener] if possible. See also: [EditableText], which should be used instead of this widget for text entry. [KeyboardListener], a similar widget based on the newer [HardwareKeyboard] API."/>
<itemvalue="Specify that the automatic animation should repeat in a loop (default to true). The property has no effect if [animate] is false or [controller] is not null."/>
<itemvalue="Indicate to automatically add a `RepaintBoundary` widget around the animation. This allows to optimize the app performance by isolating the animation in its own `Layer`. This property is `true` by default."/>
<itemvalue="Some options to enabledisable some feature of Lottie - enableMergePaths: Enable merge path support"/>
<itemvalue="If no controller is specified, this value indicate whether or not the Lottie animation should be played automatically (default to true). If there is an animation controller specified, this property has no effect. See [repeat] to control whether the animation should repeat."/>
<itemvalue="Targets that defer to their children receive events within their bounds only if one of their children is hit by the hit test."/>
<itemvalue="Translucent targets both receive events within their bounds and permit targets visually behind them to also receive events."/>
<itemvalue="Opaque targets can be hit by hit tests, causing them to both receive events within their bounds and prevent targets visually behind them from also receiving events."/>
<itemvalue="The argument [timeout] is used to specify the maximum allowed time to wait for a connection to be established. If [timeout] is longer than the system level timeout duration, a timeout may occur sooner than specified in [timeout]. On timeout, a [SocketException] is thrown and all ongoing connection attempts to [host] are cancelled."/>
<itemvalue="The [sourcePort] defines the local port to bind to. If [sourcePort] is not specified or zero, a port will be chosen."/>
<itemvalue="The argument [sourceAddress] can be used to specify the local address to bind when making the connection. The [sourceAddress] can either be a [String] or an [InternetAddress]. If a [String] is passed it must hold a numeric IP address."/>
<itemvalue="Creates a new socket connection to the host and port and returns a [Future] that will complete with either a [Socket] once connected or an error if the host-lookup or connection failed. [host] can either be a [String] or an [InternetAddress]. If [host] is a [String], [connect] will perform a [InternetAddress.lookup] and try all returned [InternetAddress]es, until connected. Unless a connection was established, the error from the first failing connection is returned. The argument [sourceAddress] can be used to specify the local address to bind when making the connection. The [sourceAddress] can either be a [String] or an [InternetAddress]. If a [String] is passed it must hold a numeric IP address. The [sourcePort] defines the local port to bind to. If [sourcePort] is not specified or zero, a port will be chosen. The argument [timeout] is used to specify the maximum allowed time to wait for a connection to be established. If [timeout] is longer than the system level timeout duration, a timeout may occur sooner than specified in [timeout]. On timeout, a [SocketException] is thrown and all ongoing connection attempts to [host] are cancelled."/>
<itemvalue="Whether this map contains the given [key]. Returns true if any of the keys in the map are equal to `key` according to the equality used by the map. ```dart final moonCount = <String, int>{'Mercury': 0, 'Venus': 0, 'Earth': 1, 'Mars': 2, 'Jupiter': 79, 'Saturn': 82, 'Uranus': 27, 'Neptune': 14 }; final containsUranus = moonCount.containsKey('Uranus'); true final containsPluto = moonCount.containsKey('Pluto'); false ```"/>
<itemvalue="The value for the given [key], or `null` if [key] is not in the map. Some maps allow `null` as a value. For those maps, a lookup using this operator cannot distinguish between a key not being in the map, and the key being there with a `null` value. Methods like [containsKey] or [putIfAbsent] can be used if the distinction is important."/>
<itemvalue="Creates a new string by concatenating this string with itself a number of times. The result of `str n` is equivalent to `str + str + ...`(n times)`... + str`. ```dart const string = 'Dart'; final multiplied = string 3; print(multiplied); 'DartDartDart' ``` Returns an empty string if [times] is zero or negative."/>
<itemvalue="Shuffles the elements of this list randomly. ```dart final numbers = <int>[1, 2, 3, 4, 5]; numbers.shuffle(); print(numbers); [1, 3, 4, 5, 2] OR some other random result. ```"/>
<itemvalue="If `test` returns `true`, [onError] is called with the error and possibly stack trace, and the returned future is completed with the result of this call in exactly the same way as for [then]'s `onError`. If `test` is omitted, it defaults to a function that always returns true. The `test` function should not throw, but if it does, it is handled as if the `onError` function had thrown. Note that futures don't delay reporting of errors until listeners are added. If the first `catchError` (or `then`) call happens after this future has completed with an error then the error is reported as unhandled error. See the description on [Future]."/>