# Modules Here you can find the various parts of the {{< glossterm >}}efb{{< /glossterm>}} API. #### Classes - [App](../classes/class-app/) - [AppView](../classes/class-appview/) - [AppViewService](../classes/class-appviewservice/) - [Container](../classes/class-container/) - [ImageCache](../classes/class-imagecache/) #### Enumerations - [AppBootMode](../enums/enum-appbootmode/) - [AppSuspendMode](../enums/enum-appsuspendmode/) - [ViewBootMode](../enums/enum-viewbootmode/) - [ViewSuspendMode](../enums/enum-viewsuspendmode/) #### Interfaces - [AppViewContainer](../interfaces/interface-appviewcontainer/) - [AppViewProps](../interfaces/interface-appviewprops/) - [UiViewEntry](../interfaces/interface-uiviewentry/) - [ViewOptions](../interfaces/interface-viewoptions/) - [TVNode](../interfaces/interface-tvnode/) ### Type Aliases #### ViewType Ƭ **ViewType**: `"page"` \| `"popup"` UiView type. Can be set to page or popup ------------------------------------------------------------------------ #### PublicUiViewEntry Ƭ **PublicUiViewEntry**<`Ref`>: [`Pick`](https://www.typescriptlang.org/docs/handbook/utility-types.html#picktype-keys)<[`UiViewEntry`](../interfaces/interface-uiviewentry/)<`Ref`>, `"key"` \| `"ref"`> Publicly consumable ViewEntry interface to disallow the visibility to be mutated from outside of AppViewService ##### Type parameters {{< table-wrapper >}} | Name | Type | |:------|:------------| | `Ref` | `UiViewRef` | {{< /table-wrapper >}} ------------------------------------------------------------------------ #### Nullable Ƭ **Nullable**<`T`>: `null` \| `T` Nullable Generic ##### Type parameters {{< table-wrapper >}} | Name | |:-----| | `T` | {{< /table-wrapper >}} ------------------------------------------------------------------------ #### RequiredProps Ƭ **RequiredProps**<`T`, `K`>: `T` & [`Required`](https://www.typescriptlang.org/docs/handbook/utility-types.html#requiredtype)<[`Pick`](https://www.typescriptlang.org/docs/handbook/utility-types.html#picktype-keys)<`T`, `K`>> Mark properties as required ##### Type parameters {{< table-wrapper >}} | Name | Type | |:-----|:------------------------------| | `T` | `T` | | `K` | extends keyof `T` = keyof `T` | {{< /table-wrapper >}} ------------------------------------------------------------------------ #### Valuable Ƭ **Valuable**<`T`>: `T` extends `unknown` ? `T` \| () => `T` : `T` Mark as Valuable a type (ie: you can have elements that are string or a function returning a string) ##### Type parameters {{< table-wrapper >}} | Name | |:-----| | `T` | {{< /table-wrapper >}} ### Variables #### Efb • `Const` **Efb**: [`Container`](../classes/class-container/) = `Container.instance` EFB Instance ### Functions #### where ▸ **where**<`T`>(`value`): (`input`: `T`, `currentVal?`: `boolean`) => `boolean` Generates a function which maps an input to a boolean where input is strictly equal to value. ##### Type parameters {{< table-wrapper >}} | Name | |:-----| | `T` | {{< /table-wrapper >}} ##### Parameters {{< table-wrapper >}} | Name | Type | Description | |:--------|:-----|:------------------------------------------| | `value` | `T` | Value you want to compare your input with | {{< /table-wrapper >}} {{< fake-header "5" "Returns" >}} `fn` A function which maps an input to a boolean where input is strictly equal to value. ▸ (`input`, `currentVal?`): `boolean` ##### Parameters {{< table-wrapper >}} | Name | Type | |:--------------|:----------| | `input` | `T` | | `currentVal?` | `boolean` | {{< /table-wrapper >}} {{< fake-header "5" "Returns" >}} `boolean` ------------------------------------------------------------------------ #### toString ▸ **toString**<`T`>(): (`input`: `T`, `currentVal?`: `string`) => `string` Generates a function which maps an input number to its string value. ##### Type parameters {{< table-wrapper >}} | Name | Type | |:-----|:-----------------| | `T` | extends `number` | {{< /table-wrapper >}} {{< fake-header "5" "Returns" >}} `fn` A function which maps an input number to its string value. ▸ (`input`, `currentVal?`): `string` ##### Parameters {{< table-wrapper >}} | Name | Type | |:--------------|:---------| | `input` | `T` | | `currentVal?` | `string` | {{< /table-wrapper >}} {{< fake-header "5" "Returns" >}} `string` ------------------------------------------------------------------------ #### isFunction ▸ **isFunction**<`T`>(`fn`): fn is Function Check if argument `fn` is a function. ##### Type parameters {{< table-wrapper >}} | Name | Type | Description | |:-----|:----------|:-----------------------| | `T` | `unknown` | Expected type of `fn`. | {{< /table-wrapper >}} ##### Parameters {{< table-wrapper >}} | Name | Type | |:-----|:----------| | `fn` | `unknown` | {{< /table-wrapper >}} {{< fake-header "5" "Returns" >}} fn is Function ------------------------------------------------------------------------ #### value ▸ **value**<`T`>(`arg`): `T` Get value by calling the `arg` if it is a function or by returning the `arg`. ##### Type parameters {{< table-wrapper >}} | Name | |:-----| | `T` | {{< /table-wrapper >}} ##### Parameters {{< table-wrapper >}} | Name | Type | |:------|:-----------------------------------| | `arg` | [`Valuable`](#valuable)<`T`> | {{< /table-wrapper >}} {{< fake-header "5" "Returns" >}} `T` ------------------------------------------------------------------------ #### offsetMousePosition ▸ **offsetMousePosition**(`e`, `vec`, `element?`): `void` Sets the mouse position offsets recursively until reaching the element. ##### Parameters {{< table-wrapper >}} | Name | Type | Default value | Description | |:----------|:----------------------------------------------------------------------------------------------------------|:--------------|:----------------------------| | `e` | [`MouseEvent`](https://developer.mozilla.org/docs/Web/API/MouseEvent) | `undefined` | The mouse event to process. | | `vec` | [`Float64Array`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Float64Array) | `undefined` | The vector to assign to. | | `element` | `null` \| [`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement) | `null` | The element to reach. | {{< /table-wrapper >}} {{< fake-header "5" "Returns" >}} `void` ------------------------------------------------------------------------ #### elementOffset ▸ **elementOffset**(`from`, `limit?`): [`Float64Array`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Float64Array) Get offsets recursively until reaching the limit element or the top element. ##### Parameters {{< table-wrapper >}} | Name | Type | Default value | Description | |:--------|:-------------------------------------------------------------------------------------------------------|:--------------|:---------------------------| | `from` | [`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement) | `undefined` | The element from starting. | | `limit` | [`Nullable`](#nullable)<[`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement)> | `null` | The element to stop. | {{< /table-wrapper >}} {{< fake-header "5" "Returns" >}} [`Float64Array`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Float64Array) Coordinates from top-left offset.