<!-- # hard line break macro for HTML -->

# @fiftyone/state

## State

<a id="fos-fiftyone-fiftyone-fiftyone-state-activefieldsconfig"></a>

### activeFieldsConfig

| Name                       | Type       | Description   |
|----------------------------|------------|---------------|
| activeFieldsConfig.exclude | `boolean`  |               |
| activeFieldsConfig.paths   | `readonly` |               |
```typescript
const activeFieldsConfig = useRecoilValue(fos.activeFieldsConfig);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-activeindex"></a>

### activeIndex

| Name        | Type     | Description   |
|-------------|----------|---------------|
| activeIndex | `string` |               |
```typescript
const activeIndex = useRecoilValue(fos.activeIndex);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-activemodalsample"></a>

### activeModalSample

| Name              | Type                            | Description   |
|-------------------|---------------------------------|---------------|
| activeModalSample | `plugins.fiftyone.state.Sample` |               |
```typescript
const activeModalSample = useRecoilValue(fos.activeModalSample);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-activemodalsidebarsample"></a>

### activeModalSidebarSample

| Name                     | Type                            | Description   |
|--------------------------|---------------------------------|---------------|
| activeModalSidebarSample | `plugins.fiftyone.state.Sample` |               |
```typescript
const activeModalSidebarSample = useRecoilValue(fos.activeModalSidebarSample);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-activeplot"></a>

### activePlot

| Name       | Type     | Description   |
|------------|----------|---------------|
| activePlot | `string` |               |
```typescript
const [activePlot, setActivePlot] = useRecoilState(fos.activePlot);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-activeslicedescriptorlabel"></a>

### activeSliceDescriptorLabel

| Name                       | Type     | Description   |
|----------------------------|----------|---------------|
| activeSliceDescriptorLabel | `string` |               |
```typescript
const activeSliceDescriptorLabel = useRecoilValue(fos.activeSliceDescriptorLabel);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-allfieldscheckedstate"></a>

### allFieldsCheckedState

| Name                  | Type      | Description   |
|-----------------------|-----------|---------------|
| allFieldsCheckedState | `boolean` |               |
```typescript
const [allFieldsCheckedState, setAllFieldsCheckedState] = useRecoilState(fos.allFieldsCheckedState);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-anytagging"></a>

### anyTagging

| Name       | Type      | Description   |
|------------|-----------|---------------|
| anyTagging | `boolean` |               |
```typescript
const [anyTagging, setAnyTagging] = useRecoilState(fos.anyTagging);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-attributevisibility"></a>

### attributeVisibility

| Name                | Type                             | Description   |
|---------------------|----------------------------------|---------------|
| attributeVisibility | `plugins.fiftyone.state.Filters` |               |
```typescript
const [attributeVisibility, setAttributeVisibility] = useRecoilState(fos.attributeVisibility);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-canannotate"></a>

### canAnnotate

| Name                | Type      | Description   |
|---------------------|-----------|---------------|
| canAnnotate.enabled | `boolean` |               |
| canAnnotate.message | `string`  |               |
```typescript
const [canAnnotate, setCanAnnotate] = useRecoilState(fos.canAnnotate);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-cancreatenewfield"></a>

### canCreateNewField

| Name                      | Type      | Description   |
|---------------------------|-----------|---------------|
| canCreateNewField.enabled | `boolean` |               |
| canCreateNewField.message | `string`  |               |
```typescript
const [canCreateNewField, setCanCreateNewField] = useRecoilState(fos.canCreateNewField);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-caneditcustomcolors"></a>

### canEditCustomColors

| Name                        | Type      | Description   |
|-----------------------------|-----------|---------------|
| canEditCustomColors.enabled | `boolean` |               |
| canEditCustomColors.message | `string`  |               |
```typescript
const [canEditCustomColors, setCanEditCustomColors] = useRecoilState(fos.canEditCustomColors);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-caneditlabels"></a>

### canEditLabels

| Name                  | Type      | Description   |
|-----------------------|-----------|---------------|
| canEditLabels.enabled | `boolean` |               |
| canEditLabels.message | `string`  |               |
```typescript
const [canEditLabels, setCanEditLabels] = useRecoilState(fos.canEditLabels);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-caneditsavedviews"></a>

### canEditSavedViews

| Name                      | Type      | Description   |
|---------------------------|-----------|---------------|
| canEditSavedViews.enabled | `boolean` |               |
| canEditSavedViews.message | `string`  |               |
```typescript
const [canEditSavedViews, setCanEditSavedViews] = useRecoilState(fos.canEditSavedViews);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-caneditworkspaces"></a>

### canEditWorkspaces

| Name                      | Type      | Description   |
|---------------------------|-----------|---------------|
| canEditWorkspaces.enabled | `boolean` |               |
| canEditWorkspaces.message | `string`  |               |
```typescript
const [canEditWorkspaces, setCanEditWorkspaces] = useRecoilState(fos.canEditWorkspaces);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-canmanageschema"></a>

### canManageSchema

| Name                    | Type      | Description   |
|-------------------------|-----------|---------------|
| canManageSchema.enabled | `boolean` |               |
| canManageSchema.message | `string`  |               |
```typescript
const [canManageSchema, setCanManageSchema] = useRecoilState(fos.canManageSchema);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-canmodifysidebargroup"></a>

### canModifySidebarGroup

| Name                          | Type      | Description   |
|-------------------------------|-----------|---------------|
| canModifySidebarGroup.enabled | `boolean` |               |
| canModifySidebarGroup.message | `string`  |               |
```typescript
const [canModifySidebarGroup, setCanModifySidebarGroup] = useRecoilState(fos.canModifySidebarGroup);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-cantagsamplesorlabels"></a>

### canTagSamplesOrLabels

| Name                          | Type      | Description   |
|-------------------------------|-----------|---------------|
| canTagSamplesOrLabels.enabled | `boolean` |               |
| canTagSamplesOrLabels.message | `string`  |               |
```typescript
const [canTagSamplesOrLabels, setCanTagSamplesOrLabels] = useRecoilState(fos.canTagSamplesOrLabels);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-collapsedpaths"></a>

### collapsedPaths

| Name           | Type                              | Description   |
|----------------|-----------------------------------|---------------|
| collapsedPaths | `Set < string >` `<` `string` `>` |               |
```typescript
const collapsedPaths = useRecoilValue(fos.collapsedPaths);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-colormap"></a>

### colorMap

```typescript
const colorMap = useRecoilValue(fos.colorMap);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-colormaprgb"></a>

### colorMapRGB

```typescript
const colorMapRGB = useRecoilValue(fos.colorMapRGB);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-colorscheme"></a>

### colorScheme

| Name        | Type                                      | Description   |
|-------------|-------------------------------------------|---------------|
| colorScheme | `plugins.fiftyone.state.ColorSchemeInput` |               |
```typescript
const [colorScheme, setColorScheme] = useRecoilState(fos.colorScheme);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-colorseed"></a>

### colorSeed

| Name      | Type     | Description   |
|-----------|----------|---------------|
| colorSeed | `number` |               |
```typescript
const [colorSeed, setColorSeed] = useRecoilState(fos.colorSeed);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-coloring"></a>

### coloring

| Name     | Type                              | Description   |
|----------|-----------------------------------|---------------|
| coloring | `plugins.fiftyone.state.Coloring` |               |
```typescript
const [coloring, setColoring] = useRecoilState(fos.coloring);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-config"></a>

### config

| Name                           | Type                             | Description   |
|--------------------------------|----------------------------------|---------------|
| config.colorBy                 | `plugins.fiftyone.state.ColorBy` |               |
| config.colorPool               | `readonly`                       |               |
| config.colorscale              | `string`                         |               |
| config.defaultQueryPerformance | `boolean`                        |               |
| config.disableFrameFiltering   | `boolean`                        |               |
| config.enableQueryPerformance  | `boolean`                        |               |
| config.gridZoom                | `number`                         |               |
| config.loopVideos              | `boolean`                        |               |
| config.maxQueryTime            | `number`                         |               |
| config.mediaFallback           | `boolean`                        |               |
| config.multicolorKeypoints     | `boolean`                        |               |
| config.notebookHeight          | `number`                         |               |
| config.plugins                 | `object`                         |               |
| config.showConfidence          | `boolean`                        |               |
| config.showIndex               | `boolean`                        |               |
| config.showLabel               | `boolean`                        |               |
| config.showSkeletons           | `boolean`                        |               |
| config.showTooltip             | `boolean`                        |               |
| config.theme                   | `plugins.fiftyone.state.Theme`   |               |
| config.timezone                | `string`                         |               |
| config.useFrameNumber          | `boolean`                        |               |
```typescript
const config = useRecoilValue(fos.config);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-configdata"></a>

### configData

| Name       | Type                                         | Description   |
|------------|----------------------------------------------|---------------|
| configData | `plugins.fiftyone.state.configFragment$data` |               |
```typescript
const [configData, setConfigData] = useRecoilState(fos.configData);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-currentgroupslicenames"></a>

### currentGroupSliceNames

Slice names that actually exist for the currently opened modal group.

This differs from `groupSlices`, which describes dataset-level slice
definitions. Sparse groups may omit some slices entirely, and annotate-mode
selectors should only offer slices that are present for the active group.

```typescript
const currentGroupSliceNames = useRecoilValue(fos.currentGroupSliceNames);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-currentsampleid"></a>

### currentSampleId

| Name            | Type     | Description   |
|-----------------|----------|---------------|
| currentSampleId | `string` |               |
```typescript
const currentSampleId = useRecoilValue(fos.currentSampleId);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-currentviewslug"></a>

### currentViewSlug

| Name            | Type     | Description   |
|-----------------|----------|---------------|
| currentViewSlug | `string` |               |
```typescript
const currentViewSlug = useRecoilValue(fos.currentViewSlug);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-dataset"></a>

### dataset

| Name    | Type                             | Description   |
|---------|----------------------------------|---------------|
| dataset | `plugins.fiftyone.state.Dataset` |               |
```typescript
const [dataset, setDataset] = useRecoilState(fos.dataset);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-datasetappconfig"></a>

### datasetAppConfig

| Name             | Type                                                   | Description   |
|------------------|--------------------------------------------------------|---------------|
| datasetAppConfig | `plugins.fiftyone.state.datasetAppConfigFragment$data` |               |
```typescript
const [datasetAppConfig, setDatasetAppConfig] = useRecoilState(fos.datasetAppConfig);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-datasetcolorscheme"></a>

### datasetColorScheme

| Name               | Type                                              | Description   |
|--------------------|---------------------------------------------------|---------------|
| datasetColorScheme | `plugins.fiftyone.state.colorSchemeFragment$data` |               |
```typescript
const [datasetColorScheme, setDatasetColorScheme] = useRecoilState(fos.datasetColorScheme);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-datasetframecount"></a>

### datasetFrameCount

| Name              | Type     | Description   |
|-------------------|----------|---------------|
| datasetFrameCount | `number` |               |
```typescript
const datasetFrameCount = useRecoilValue(fos.datasetFrameCount);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-datasetid"></a>

### datasetId

| Name      | Type     | Description   |
|-----------|----------|---------------|
| datasetId | `string` |               |
```typescript
const [datasetId, setDatasetId] = useRecoilState(fos.datasetId);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-datasetname"></a>

### datasetName

| Name        | Type     | Description   |
|-------------|----------|---------------|
| datasetName | `string` |               |
```typescript
const [datasetName, setDatasetName] = useRecoilState(fos.datasetName);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-datasetsamplecount"></a>

### datasetSampleCount

| Name               | Type     | Description   |
|--------------------|----------|---------------|
| datasetSampleCount | `number` |               |
```typescript
const datasetSampleCount = useRecoilValue(fos.datasetSampleCount);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-defaultactivefields"></a>

### defaultActiveFields

```typescript
const defaultActiveFields = useRecoilValue(fos.defaultActiveFields);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-defaultgroupslice"></a>

### defaultGroupSlice

| Name              | Type     | Description   |
|-------------------|----------|---------------|
| defaultGroupSlice | `string` |               |
```typescript
const [defaultGroupSlice, setDefaultGroupSlice] = useRecoilState(fos.defaultGroupSlice);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-defaultqueryperformanceconfig"></a>

### defaultQueryPerformanceConfig

| Name                          | Type      | Description   |
|-------------------------------|-----------|---------------|
| defaultQueryPerformanceConfig | `boolean` |               |
```typescript
const defaultQueryPerformanceConfig = useRecoilValue(fos.defaultQueryPerformanceConfig);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-defaulttargets"></a>

### defaultTargets

| Name           | Type                             | Description   |
|----------------|----------------------------------|---------------|
| defaultTargets | `plugins.fiftyone.state.Targets` |               |
```typescript
const defaultTargets = useRecoilValue(fos.defaultTargets);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-disableframefiltering"></a>

### disableFrameFiltering

| Name                  | Type      | Description   |
|-----------------------|-----------|---------------|
| disableFrameFiltering | `boolean` |               |
```typescript
const disableFrameFiltering = useRecoilValue(fos.disableFrameFiltering);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-disabledcheckboxpaths"></a>

### disabledCheckboxPaths

Returns a set of paths that have their checkbox disabled in the sidebar

| Name                  | Type                              | Description   |
|-----------------------|-----------------------------------|---------------|
| disabledCheckboxPaths | `Set < string >` `<` `string` `>` |               |
```typescript
const disabledCheckboxPaths = useRecoilValue(fos.disabledCheckboxPaths);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-disabledfilterpaths"></a>

### disabledFilterPaths

Returns a set of paths that have their filter dropdown disabled in the sidebar

| Name                | Type                              | Description   |
|---------------------|-----------------------------------|---------------|
| disabledFilterPaths | `Set < string >` `<` `string` `>` |               |
```typescript
const disabledFilterPaths = useRecoilValue(fos.disabledFilterPaths);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-disabledframefilterpaths"></a>

### disabledFrameFilterPaths

| Name                     | Type                              | Description   |
|--------------------------|-----------------------------------|---------------|
| disabledFrameFilterPaths | `Set < string >` `<` `string` `>` |               |
```typescript
const disabledFrameFilterPaths = useRecoilValue(fos.disabledFrameFilterPaths);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-distributionpaths"></a>

### distributionPaths

```typescript
const distributionPaths = useRecoilValue(fos.distributionPaths);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-dynamicgroupcurrentelementindex"></a>

### dynamicGroupCurrentElementIndex

| Name                            | Type     | Description   |
|---------------------------------|----------|---------------|
| dynamicGroupCurrentElementIndex | `number` |               |
```typescript
const [dynamicGroupCurrentElementIndex, setDynamicGroupCurrentElementIndex] = useRecoilState(fos.dynamicGroupCurrentElementIndex);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-dynamicgroupfields"></a>

### dynamicGroupFields

```typescript
const dynamicGroupFields = useRecoilValue(fos.dynamicGroupFields);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-dynamicgroupindex"></a>

### dynamicGroupIndex

| Name              | Type     | Description   |
|-------------------|----------|---------------|
| dynamicGroupIndex | `number` |               |
```typescript
const [dynamicGroupIndex, setDynamicGroupIndex] = useRecoilState(fos.dynamicGroupIndex);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-dynamicgroupparameters"></a>

### dynamicGroupParameters

| Name                   | Type                                            | Description   |
|------------------------|-------------------------------------------------|---------------|
| dynamicGroupParameters | `plugins.fiftyone.state.DynamicGroupParameters` |               |
```typescript
const [dynamicGroupParameters, setDynamicGroupParameters] = useRecoilState(fos.dynamicGroupParameters);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-dynamicgroupstargetframerate"></a>

### dynamicGroupsTargetFrameRate

| Name                         | Type     | Description   |
|------------------------------|----------|---------------|
| dynamicGroupsTargetFrameRate | `number` |               |
```typescript
const dynamicGroupsTargetFrameRate = useRecoilValue(fos.dynamicGroupsTargetFrameRate);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-editingfieldatom"></a>

### editingFieldAtom

| Name             | Type      | Description   |
|------------------|-----------|---------------|
| editingFieldAtom | `boolean` |               |
```typescript
const [editingFieldAtom, setEditingFieldAtom] = useRecoilState(fos.editingFieldAtom);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-elementnames"></a>

### elementNames

| Name                  | Type     | Description   |
|-----------------------|----------|---------------|
| elementNames.plural   | `string` |               |
| elementNames.singular | `string` |               |
```typescript
const elementNames = useRecoilValue(fos.elementNames);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-eligiblefieldstocustomizecolor"></a>

### eligibleFieldsToCustomizeColor

```typescript
const eligibleFieldsToCustomizeColor = useRecoilValue(fos.eligibleFieldsToCustomizeColor);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-enablequeryperformanceconfig"></a>

### enableQueryPerformanceConfig

| Name                         | Type      | Description   |
|------------------------------|-----------|---------------|
| enableQueryPerformanceConfig | `boolean` |               |
```typescript
const enableQueryPerformanceConfig = useRecoilValue(fos.enableQueryPerformanceConfig);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-escapekeyhandleridsatom"></a>

### escapeKeyHandlerIdsAtom

| Name                    | Type                              | Description   |
|-------------------------|-----------------------------------|---------------|
| escapeKeyHandlerIdsAtom | `Set < string >` `<` `string` `>` |               |
```typescript
const [escapeKeyHandlerIdsAtom, setEscapeKeyHandlerIdsAtom] = useRecoilState(fos.escapeKeyHandlerIdsAtom);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-excludedpathsstrippedstate"></a>

### excludedPathsStrippedState

```typescript
const excludedPathsStrippedState = useRecoilValue(fos.excludedPathsStrippedState);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-expandedpathsstate"></a>

### expandedPathsState

```typescript
const [expandedPathsState, setExpandedPathsState] = useRecoilState(fos.expandedPathsState);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-extendedselection"></a>

### extendedSelection

| Name                               | Type                  | Description   |
|------------------------------------|-----------------------|---------------|
| extendedSelection.scope            | `string`              |               |
| extendedSelection.selection        | `Array<` `string` `>` |               |
| extendedSelection.spatialSelection | `Object`              |               |
```typescript
const [extendedSelection, setExtendedSelection] = useRecoilState(fos.extendedSelection);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-extendedselectionoverridestage"></a>

### extendedSelectionOverrideStage

| Name                           | Type   | Description   |
|--------------------------------|--------|---------------|
| extendedSelectionOverrideStage | `any`  |               |
```typescript
const [extendedSelectionOverrideStage, setExtendedSelectionOverrideStage] = useRecoilState(fos.extendedSelectionOverrideStage);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-extendedstages"></a>

### extendedStages

| Name           | Type   | Description   |
|----------------|--------|---------------|
| extendedStages | `any`  |               |
```typescript
const extendedStages = useRecoilValue(fos.extendedStages);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-extendedstagesnosort"></a>

### extendedStagesNoSort

| Name                 | Type   | Description   |
|----------------------|--------|---------------|
| extendedStagesNoSort | `any`  |               |
```typescript
const extendedStagesNoSort = useRecoilValue(fos.extendedStagesNoSort);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-extendedstagesunsorted"></a>

### extendedStagesUnsorted

| Name                   | Type   | Description   |
|------------------------|--------|---------------|
| extendedStagesUnsorted | `any`  |               |
```typescript
const extendedStagesUnsorted = useRecoilValue(fos.extendedStagesUnsorted);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-fieldschemastate"></a>

### fieldSchemaState

| Name             | Type   | Description   |
|------------------|--------|---------------|
| fieldSchemaState | `any`  |               |
```typescript
const [fieldSchemaState, setFieldSchemaState] = useRecoilState(fos.fieldSchemaState);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-fieldvisibilitystage"></a>

### fieldVisibilityStage

| Name                 | Type                                          | Description   |
|----------------------|-----------------------------------------------|---------------|
| fieldVisibilityStage | `plugins.fiftyone.state.FieldVisibilityStage` |               |
```typescript
const [fieldVisibilityStage, setFieldVisibilityStage] = useRecoilState(fos.fieldVisibilityStage);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-filters"></a>

### filters

| Name    | Type                             | Description   |
|---------|----------------------------------|---------------|
| filters | `plugins.fiftyone.state.Filters` |               |
```typescript
const [filters, setFilters] = useRecoilState(fos.filters);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-flatframefields"></a>

### flatFrameFields

```typescript
const flatFrameFields = useRecoilValue(fos.flatFrameFields);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-flatsamplefields"></a>

### flatSampleFields

```typescript
const flatSampleFields = useRecoilValue(fos.flatSampleFields);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-framefields"></a>

### frameFields

```typescript
const frameFields = useRecoilValue(fos.frameFields);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-framefieldslist"></a>

### frameFieldsList

```typescript
const frameFieldsList = useRecoilValue(fos.frameFieldsList);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-fullschema"></a>

### fullSchema

| Name       | Type                            | Description   |
|------------|---------------------------------|---------------|
| fullSchema | `plugins.fiftyone.state.Schema` |               |
```typescript
const fullSchema = useRecoilValue(fos.fullSchema);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-fullscreen"></a>

### fullscreen

| Name       | Type      | Description   |
|------------|-----------|---------------|
| fullscreen | `boolean` |               |
```typescript
const [fullscreen, setFullscreen] = useRecoilState(fos.fullscreen);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-fullydisabledpaths"></a>

### fullyDisabledPaths

Returns a set of paths that should have both their checkbox and filter
dropdown disabled in the sidebar

| Name               | Type                              | Description   |
|--------------------|-----------------------------------|---------------|
| fullyDisabledPaths | `Set < string >` `<` `string` `>` |               |
```typescript
const fullyDisabledPaths = useRecoilValue(fos.fullyDisabledPaths);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-generateddatasetname"></a>

### generatedDatasetName

Extracts the generated dataset name from the view stages.
Generated views (patches, clips, frames) store their dataset info in the
`_state` kwarg of the view stage that created them (e.g., ToPatches, ToClips).

| Name                 | Type     | Description   |
|----------------------|----------|---------------|
| generatedDatasetName | `string` |               |
```typescript
const generatedDatasetName = useRecoilValue(fos.generatedDatasetName);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-getskeleton"></a>

### getSkeleton

```typescript
const getSkeleton = useRecoilValue(fos.getSkeleton);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-gettarget"></a>

### getTarget

```typescript
const getTarget = useRecoilValue(fos.getTarget);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-gridsortby"></a>

### gridSortBy

| Name                  | Type      | Description   |
|-----------------------|-----------|---------------|
| gridSortBy.descending | `boolean` |               |
| gridSortBy.field      | `string`  |               |
```typescript
const [gridSortBy, setGridSortBy] = useRecoilState(fos.gridSortBy);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-gridsortfields"></a>

### gridSortFields

```typescript
const gridSortFields = useRecoilValue(fos.gridSortFields);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-groupbyfieldvalue"></a>

### groupByFieldValue

```typescript
const groupByFieldValue = useRecoilValue(fos.groupByFieldValue);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-groupfield"></a>

### groupField

| Name       | Type     | Description   |
|------------|----------|---------------|
| groupField | `string` |               |
```typescript
const groupField = useRecoilValue(fos.groupField);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-groupid"></a>

### groupId

| Name    | Type     | Description   |
|---------|----------|---------------|
| groupId | `string` |               |
```typescript
const groupId = useRecoilValue(fos.groupId);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-groupmediaiscarouselvisible"></a>

### groupMediaIsCarouselVisible

Derived selector that determines if the carousel should actually be visible.
Combines user setting with contextual rules (e.g., hidden for ImaVid in nested groups).

| Name                        | Type      | Description   |
|-----------------------------|-----------|---------------|
| groupMediaIsCarouselVisible | `boolean` |               |
```typescript
const groupMediaIsCarouselVisible = useRecoilValue(fos.groupMediaIsCarouselVisible);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-groupmediaiscarouselvisiblesetting"></a>

### groupMediaIsCarouselVisibleSetting

User setting controlling whether the carousel (filmstrip of group slices)
is visible in the modal.

| Name                               | Type      | Description   |
|------------------------------------|-----------|---------------|
| groupMediaIsCarouselVisibleSetting | `boolean` |               |
```typescript
const [groupMediaIsCarouselVisibleSetting, setGroupMediaIsCarouselVisibleSetting] = useRecoilState(fos.groupMediaIsCarouselVisibleSetting);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-groupmediaismain2dviewervisible"></a>

### groupMediaIsMain2DViewerVisible

Derived selector that determines if the main viewer should actually be visible.
Combines user setting with contextual rules (shown when no 3D slices or multiple media types exist).

| Name                            | Type      | Description   |
|---------------------------------|-----------|---------------|
| groupMediaIsMain2DViewerVisible | `boolean` |               |
```typescript
const groupMediaIsMain2DViewerVisible = useRecoilValue(fos.groupMediaIsMain2DViewerVisible);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-groupmediaismain2dviewervisiblesetting"></a>

### groupMediaIsMain2DViewerVisibleSetting

User setting controlling whether the main 2D viewer
is visible in the modal for grouped datasets. Persisted to session storage.

| Name                                   | Type      | Description   |
|----------------------------------------|-----------|---------------|
| groupMediaIsMain2DViewerVisibleSetting | `boolean` |               |
```typescript
const [groupMediaIsMain2DViewerVisibleSetting, setGroupMediaIsMain2DViewerVisibleSetting] = useRecoilState(fos.groupMediaIsMain2DViewerVisibleSetting);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-groupmediatypes"></a>

### groupMediaTypes

```typescript
const groupMediaTypes = useRecoilValue(fos.groupMediaTypes);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-groupmediatypesmap"></a>

### groupMediaTypesMap

Mapping of slice names to their media types for grouped datasets.
E.g., { “left”: “image”, “right”: “image”, “lidar”: “point_cloud” }

```typescript
const groupMediaTypesMap = useRecoilValue(fos.groupMediaTypesMap);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-groupmediatypesset"></a>

### groupMediaTypesSet

| Name               | Type                              | Description   |
|--------------------|-----------------------------------|---------------|
| groupMediaTypesSet | `Set < string >` `<` `string` `>` |               |
```typescript
const groupMediaTypesSet = useRecoilValue(fos.groupMediaTypesSet);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-groupsampleatmainslice"></a>

### groupSampleAtMainSlice

Same as `modalSample` but always pinned to the dataset’s main
`groupSlice` for both the active slice and the requested slices. Used by
`groupByFieldValue` so the dynamic group value is always read from the
main slice’s sample regardless of which slice the modal is currently
displaying. Has its own Relay cache key so it can resolve independently.

| Name                   | Type                                 | Description   |
|------------------------|--------------------------------------|---------------|
| groupSampleAtMainSlice | `plugins.fiftyone.state.ModalSample` |               |
```typescript
const [groupSampleAtMainSlice, setGroupSampleAtMainSlice] = useRecoilState(fos.groupSampleAtMainSlice);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-groupslice"></a>

### groupSlice

| Name       | Type     | Description   |
|------------|----------|---------------|
| groupSlice | `string` |               |
```typescript
const [groupSlice, setGroupSlice] = useRecoilState(fos.groupSlice);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-groupslices"></a>

### groupSlices

```typescript
const groupSlices = useRecoilValue(fos.groupSlices);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-hasgroupslices"></a>

### hasGroupSlices

| Name           | Type      | Description   |
|----------------|-----------|---------------|
| hasGroupSlices | `boolean` |               |
```typescript
const hasGroupSlices = useRecoilValue(fos.hasGroupSlices);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-hasselectedlabels"></a>

### hasSelectedLabels

| Name              | Type      | Description   |
|-------------------|-----------|---------------|
| hasSelectedLabels | `boolean` |               |
```typescript
const hasSelectedLabels = useRecoilValue(fos.hasSelectedLabels);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-hasselectedsamples"></a>

### hasSelectedSamples

| Name               | Type      | Description   |
|--------------------|-----------|---------------|
| hasSelectedSamples | `boolean` |               |
```typescript
const hasSelectedSamples = useRecoilValue(fos.hasSelectedSamples);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-hiddenlabelids"></a>

### hiddenLabelIds

| Name           | Type                              | Description   |
|----------------|-----------------------------------|---------------|
| hiddenLabelIds | `Set < string >` `<` `string` `>` |               |
```typescript
const hiddenLabelIds = useRecoilValue(fos.hiddenLabelIds);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-hiddenlabels"></a>

### hiddenLabels

| Name         | Type                                      | Description   |
|--------------|-------------------------------------------|---------------|
| hiddenLabels | `plugins.fiftyone.state.SelectedLabelMap` |               |
```typescript
const [hiddenLabels, setHiddenLabels] = useRecoilState(fos.hiddenLabels);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-hiddenlabelsarray"></a>

### hiddenLabelsArray

```typescript
const hiddenLabelsArray = useRecoilValue(fos.hiddenLabelsArray);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-hiddennonegroups"></a>

### hiddenNoneGroups

| Name                    | Type                              | Description   |
|-------------------------|-----------------------------------|---------------|
| hiddenNoneGroups.groups | `Set < string >` `<` `string` `>` |               |
| hiddenNoneGroups.paths  | `Set < string >` `<` `string` `>` |               |
```typescript
const hiddenNoneGroups = useRecoilValue(fos.hiddenNoneGroups);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-hidenonevaluedfields"></a>

### hideNoneValuedFields

| Name                 | Type      | Description   |
|----------------------|-----------|---------------|
| hideNoneValuedFields | `boolean` |               |
```typescript
const [hideNoneValuedFields, setHideNoneValuedFields] = useRecoilState(fos.hideNoneValuedFields);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-hoveredsample"></a>

### hoveredSample

| Name          | Type                            | Description   |
|---------------|---------------------------------|---------------|
| hoveredSample | `plugins.fiftyone.state.Sample` |               |
```typescript
const [hoveredSample, setHoveredSample] = useRecoilState(fos.hoveredSample);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-includenestedfieldsstate"></a>

### includeNestedFieldsState

| Name                     | Type      | Description   |
|--------------------------|-----------|---------------|
| includeNestedFieldsState | `boolean` |               |
```typescript
const [includeNestedFieldsState, setIncludeNestedFieldsState] = useRecoilState(fos.includeNestedFieldsState);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-indexinfo"></a>

### indexInfo

| Name      | Type                                          | Description   |
|-----------|-----------------------------------------------|---------------|
| indexInfo | `plugins.fiftyone.state.indexesFragment$data` |               |
```typescript
const [indexInfo, setIndexInfo] = useRecoilState(fos.indexInfo);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-is3ddataset"></a>

### is3DDataset

| Name        | Type      | Description   |
|-------------|-----------|---------------|
| is3DDataset | `boolean` |               |
```typescript
const is3DDataset = useRecoilValue(fos.is3DDataset);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-isclipsview"></a>

### isClipsView

| Name        | Type      | Description   |
|-------------|-----------|---------------|
| isClipsView | `boolean` |               |
```typescript
const isClipsView = useRecoilValue(fos.isClipsView);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-isdynamicgroup"></a>

### isDynamicGroup

| Name           | Type      | Description   |
|----------------|-----------|---------------|
| isDynamicGroup | `boolean` |               |
```typescript
const isDynamicGroup = useRecoilValue(fos.isDynamicGroup);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-isfieldvisibilityactive"></a>

### isFieldVisibilityActive

| Name                    | Type      | Description   |
|-------------------------|-----------|---------------|
| isFieldVisibilityActive | `boolean` |               |
```typescript
const isFieldVisibilityActive = useRecoilValue(fos.isFieldVisibilityActive);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-isframesview"></a>

### isFramesView

| Name         | Type      | Description   |
|--------------|-----------|---------------|
| isFramesView | `boolean` |               |
```typescript
const isFramesView = useRecoilValue(fos.isFramesView);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-isgeneratedview"></a>

### isGeneratedView

| Name            | Type      | Description   |
|-----------------|-----------|---------------|
| isGeneratedView | `boolean` |               |
```typescript
const isGeneratedView = useRecoilValue(fos.isGeneratedView);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-isgroup"></a>

### isGroup

| Name    | Type      | Description   |
|---------|-----------|---------------|
| isGroup | `boolean` |               |
```typescript
const isGroup = useRecoilValue(fos.isGroup);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-isinmultipanelviewatom"></a>

### isInMultiPanelViewAtom

| Name                   | Type      | Description   |
|------------------------|-----------|---------------|
| isInMultiPanelViewAtom | `boolean` |               |
```typescript
const [isInMultiPanelViewAtom, setIsInMultiPanelViewAtom] = useRecoilState(fos.isInMultiPanelViewAtom);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-islargevideo"></a>

### isLargeVideo

| Name         | Type      | Description   |
|--------------|-----------|---------------|
| isLargeVideo | `boolean` |               |
```typescript
const isLargeVideo = useRecoilValue(fos.isLargeVideo);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-ismodalactive"></a>

### isModalActive

| Name          | Type      | Description   |
|---------------|-----------|---------------|
| isModalActive | `boolean` |               |
```typescript
const isModalActive = useRecoilValue(fos.isModalActive);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-ismultimodaldataset"></a>

### isMultimodalDataset

| Name                | Type      | Description   |
|---------------------|-----------|---------------|
| isMultimodalDataset | `boolean` |               |
```typescript
const isMultimodalDataset = useRecoilValue(fos.isMultimodalDataset);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-isnesteddynamicgroup"></a>

### isNestedDynamicGroup

| Name                 | Type      | Description   |
|----------------------|-----------|---------------|
| isNestedDynamicGroup | `boolean` |               |
```typescript
const isNestedDynamicGroup = useRecoilValue(fos.isNestedDynamicGroup);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-isnonnesteddynamicgroup"></a>

### isNonNestedDynamicGroup

| Name                    | Type      | Description   |
|-------------------------|-----------|---------------|
| isNonNestedDynamicGroup | `boolean` |               |
```typescript
const isNonNestedDynamicGroup = useRecoilValue(fos.isNonNestedDynamicGroup);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-isnotebook"></a>

### isNotebook

| Name       | Type      | Description   |
|------------|-----------|---------------|
| isNotebook | `boolean` |               |
```typescript
const isNotebook = useRecoilValue(fos.isNotebook);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-isordereddynamicgroup"></a>

### isOrderedDynamicGroup

| Name                  | Type      | Description   |
|-----------------------|-----------|---------------|
| isOrderedDynamicGroup | `boolean` |               |
```typescript
const isOrderedDynamicGroup = useRecoilValue(fos.isOrderedDynamicGroup);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-ispatchesview"></a>

### isPatchesView

| Name          | Type      | Description   |
|---------------|-----------|---------------|
| isPatchesView | `boolean` |               |
```typescript
const isPatchesView = useRecoilValue(fos.isPatchesView);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-isqueryperformantview"></a>

### isQueryPerformantView

| Name                  | Type      | Description   |
|-----------------------|-----------|---------------|
| isQueryPerformantView | `boolean` |               |
```typescript
const isQueryPerformantView = useRecoilValue(fos.isQueryPerformantView);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-isrootview"></a>

### isRootView

| Name       | Type      | Description   |
|------------|-----------|---------------|
| isRootView | `boolean` |               |
```typescript
const isRootView = useRecoilValue(fos.isRootView);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-issidebarfiltermode"></a>

### isSidebarFilterMode

| Name                | Type      | Description   |
|---------------------|-----------|---------------|
| isSidebarFilterMode | `boolean` |               |
```typescript
const [isSidebarFilterMode, setIsSidebarFilterMode] = useRecoilState(fos.isSidebarFilterMode);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-istooltiplocked"></a>

### isTooltipLocked

| Name            | Type      | Description   |
|-----------------|-----------|---------------|
| isTooltipLocked | `boolean` |               |
```typescript
const [isTooltipLocked, setIsTooltipLocked] = useRecoilState(fos.isTooltipLocked);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-isvideodataset"></a>

### isVideoDataset

| Name           | Type      | Description   |
|----------------|-----------|---------------|
| isVideoDataset | `boolean` |               |
```typescript
const isVideoDataset = useRecoilValue(fos.isVideoDataset);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-labelpathsset"></a>

### labelPathsSet

| Name          | Type                              | Description   |
|---------------|-----------------------------------|---------------|
| labelPathsSet | `Set < string >` `<` `string` `>` |               |
```typescript
const labelPathsSet = useRecoilValue(fos.labelPathsSet);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-labelpathssetexpanded"></a>

### labelPathsSetExpanded

| Name                  | Type                              | Description   |
|-----------------------|-----------------------------------|---------------|
| labelPathsSetExpanded | `Set < string >` `<` `string` `>` |               |
```typescript
const labelPathsSetExpanded = useRecoilValue(fos.labelPathsSetExpanded);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-labelselectionstyle"></a>

### labelSelectionStyle

| Name                | Type                                         | Description   |
|---------------------|----------------------------------------------|---------------|
| labelSelectionStyle | `plugins.fiftyone.state.LabelSelectionStyle` |               |
```typescript
const [labelSelectionStyle, setLabelSelectionStyle] = useRecoilState(fos.labelSelectionStyle);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-lastloadeddatasetnamestate"></a>

### lastLoadedDatasetNameState

| Name                       | Type     | Description   |
|----------------------------|----------|---------------|
| lastLoadedDatasetNameState | `string` |               |
```typescript
const [lastLoadedDatasetNameState, setLastLoadedDatasetNameState] = useRecoilState(fos.lastLoadedDatasetNameState);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-loading"></a>

### loading

| Name    | Type      | Description   |
|---------|-----------|---------------|
| loading | `boolean` |               |
```typescript
const [loading, setLoading] = useRecoilState(fos.loading);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-lookerpanels"></a>

### lookerPanels

| Name              | Type     | Description   |
|-------------------|----------|---------------|
| lookerPanels.help | `Object` |               |
| lookerPanels.json | `Object` |               |
```typescript
const [lookerPanels, setLookerPanels] = useRecoilState(fos.lookerPanels);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-mediafields"></a>

### mediaFields

```typescript
const [mediaFields, setMediaFields] = useRecoilState(fos.mediaFields);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-mediasources"></a>

### mediaSources

Where each media source the browser addresses by path is, by source id.
Read once per dataset load; a sample’s assets name their source, so nothing
repeats a location per page.

| Name         | Type                                                       | Description   |
|--------------|------------------------------------------------------------|---------------|
| mediaSources | `Readonly < Record >` `<` `Record < string , string >` `>` |               |
```typescript
const mediaSources = useRecoilValue(fos.mediaSources);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-mediatype"></a>

### mediaType

| Name      | Type     | Description   |
|-----------|----------|---------------|
| mediaType | `string` |               |
```typescript
const [mediaType, setMediaType] = useRecoilState(fos.mediaType);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-mediatypeselector"></a>

### mediaTypeSelector

| Name              | Type                                                                                                                                                     | Description   |
|-------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------|---------------|
| mediaTypeSelector | `Union<` `'3d'` `,` `'group'` `,` `'image'` `,` `'point-cloud'` `,` `'video'` `,` `'multimodal'` `,` `'point_cloud'` `,` `'three_d'` `,` `'unknown'` `>` |               |
```typescript
const mediaTypeSelector = useRecoilValue(fos.mediaTypeSelector);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-modal"></a>

### modal

| Name   | Type                                 | Description   |
|--------|--------------------------------------|---------------|
| modal  | `plugins.fiftyone.state.ModalSample` |               |
```typescript
const [modal, setModal] = useRecoilState(fos.modal);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-modalattributevisibility"></a>

### modalAttributeVisibility

| Name                     | Type                             | Description   |
|--------------------------|----------------------------------|---------------|
| modalAttributeVisibility | `plugins.fiftyone.state.Filters` |               |
```typescript
const [modalAttributeVisibility, setModalAttributeVisibility] = useRecoilState(fos.modalAttributeVisibility);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-modalfilters"></a>

### modalFilters

| Name         | Type                             | Description   |
|--------------|----------------------------------|---------------|
| modalFilters | `plugins.fiftyone.state.Filters` |               |
```typescript
const [modalFilters, setModalFilters] = useRecoilState(fos.modalFilters);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-modalgroupslice"></a>

### modalGroupSlice

| Name            | Type     | Description   |
|-----------------|----------|---------------|
| modalGroupSlice | `string` |               |
```typescript
const [modalGroupSlice, setModalGroupSlice] = useRecoilState(fos.modalGroupSlice);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-modallooker"></a>

### modalLooker

| Name        | Type                             | Description   |
|-------------|----------------------------------|---------------|
| modalLooker | `plugins.fiftyone.state.Lookers` |               |
```typescript
const [modalLooker, setModalLooker] = useRecoilState(fos.modalLooker);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-modalsample"></a>

### modalSample

| Name        | Type                                 | Description   |
|-------------|--------------------------------------|---------------|
| modalSample | `plugins.fiftyone.state.ModalSample` |               |
```typescript
const [modalSample, setModalSample] = useRecoilState(fos.modalSample);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-modalsampleid"></a>

### modalSampleId

| Name          | Type     | Description   |
|---------------|----------|---------------|
| modalSampleId | `string` |               |
```typescript
const modalSampleId = useRecoilValue(fos.modalSampleId);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-modalselector"></a>

### modalSelector

| Name          | Type                                   | Description   |
|---------------|----------------------------------------|---------------|
| modalSelector | `plugins.fiftyone.state.ModalSelector` |               |
```typescript
const [modalSelector, setModalSelector] = useRecoilState(fos.modalSelector);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-modaltopbarvisible"></a>

### modalTopBarVisible

| Name               | Type      | Description   |
|--------------------|-----------|---------------|
| modalTopBarVisible | `boolean` |               |
```typescript
const [modalTopBarVisible, setModalTopBarVisible] = useRecoilState(fos.modalTopBarVisible);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-multimodalgridfit"></a>

### multimodalGridFit

Validated grid fit for the active dataset, defaulting to Cover.

| Name              | Type                                       | Description   |
|-------------------|--------------------------------------------|---------------|
| multimodalGridFit | `plugins.fiftyone.state.MultimodalGridFit` |               |
```typescript
const [multimodalGridFit, setMultimodalGridFit] = useRecoilState(fos.multimodalGridFit);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-non3dsamples"></a>

### non3dSamples

```typescript
const non3dSamples = useRecoilValue(fos.non3dSamples);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-nonevaluedpaths"></a>

### noneValuedPaths

| Name            | Type                                                            | Description   |
|-----------------|-----------------------------------------------------------------|---------------|
| noneValuedPaths | `Record < string , Set >` `<` `string` `,` `Set < string >` `>` |               |
```typescript
const [noneValuedPaths, setNoneValuedPaths] = useRecoilState(fos.noneValuedPaths);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-nullablemodalsampleid"></a>

### nullableModalSampleId

| Name                  | Type     | Description   |
|-----------------------|----------|---------------|
| nullableModalSampleId | `string` |               |
```typescript
const nullableModalSampleId = useRecoilValue(fos.nullableModalSampleId);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-only3d"></a>

### only3d

| Name   | Type      | Description   |
|--------|-----------|---------------|
| only3d | `boolean` |               |
```typescript
const only3d = useRecoilValue(fos.only3d);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-parentmediatypeselector"></a>

### parentMediaTypeSelector

| Name                    | Type                                                                                                                                                     | Description   |
|-------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------|---------------|
| parentMediaTypeSelector | `Union<` `'3d'` `,` `'group'` `,` `'image'` `,` `'point-cloud'` `,` `'video'` `,` `'multimodal'` `,` `'point_cloud'` `,` `'three_d'` `,` `'unknown'` `>` |               |
```typescript
const parentMediaTypeSelector = useRecoilValue(fos.parentMediaTypeSelector);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-patching"></a>

### patching

| Name     | Type      | Description   |
|----------|-----------|---------------|
| patching | `boolean` |               |
```typescript
const [patching, setPatching] = useRecoilState(fos.patching);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-pathhiddenlabelsmap"></a>

### pathHiddenLabelsMap

```typescript
const [pathHiddenLabelsMap, setPathHiddenLabelsMap] = useRecoilState(fos.pathHiddenLabelsMap);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-queryperformance"></a>

### queryPerformance

| Name             | Type      | Description   |
|------------------|-----------|---------------|
| queryPerformance | `boolean` |               |
```typescript
const [queryPerformance, setQueryPerformance] = useRecoilState(fos.queryPerformance);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-queryperformancemaxsearch"></a>

### queryPerformanceMaxSearch

| Name                      | Type     | Description   |
|---------------------------|----------|---------------|
| queryPerformanceMaxSearch | `number` |               |
```typescript
const [queryPerformanceMaxSearch, setQueryPerformanceMaxSearch] = useRecoilState(fos.queryPerformanceMaxSearch);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-queryperformancesetting"></a>

### queryPerformanceSetting

| Name                    | Type      | Description   |
|-------------------------|-----------|---------------|
| queryPerformanceSetting | `boolean` |               |
```typescript
const [queryPerformanceSetting, setQueryPerformanceSetting] = useRecoilState(fos.queryPerformanceSetting);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-readonly"></a>

### readOnly

| Name     | Type      | Description   |
|----------|-----------|---------------|
| readOnly | `boolean` |               |
```typescript
const [readOnly, setReadOnly] = useRecoilState(fos.readOnly);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-refreshgroupquery"></a>

### refreshGroupQuery

| Name              | Type     | Description   |
|-------------------|----------|---------------|
| refreshGroupQuery | `number` |               |
```typescript
const [refreshGroupQuery, setRefreshGroupQuery] = useRecoilState(fos.refreshGroupQuery);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-refresher"></a>

### refresher

| Name      | Type     | Description   |
|-----------|----------|---------------|
| refresher | `number` |               |
```typescript
const [refresher, setRefresher] = useRecoilState(fos.refresher);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-resolvedshownlabelattributes"></a>

### resolvedShownLabelAttributes

All customized label fields mapped to their shown attributes, for looker
options. Fields without an entry default to showing “label”.

| Name                         | Type                                                          | Description   |
|------------------------------|---------------------------------------------------------------|---------------|
| resolvedShownLabelAttributes | `Record < string ,  >` `<` `string` `,` `Array< string >` `>` |               |
```typescript
const resolvedShownLabelAttributes = useRecoilValue(fos.resolvedShownLabelAttributes);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-rootelementname"></a>

### rootElementName

| Name            | Type     | Description   |
|-----------------|----------|---------------|
| rootElementName | `string` |               |
```typescript
const rootElementName = useRecoilValue(fos.rootElementName);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-rootelementnameplural"></a>

### rootElementNamePlural

| Name                  | Type     | Description   |
|-----------------------|----------|---------------|
| rootElementNamePlural | `string` |               |
```typescript
const rootElementNamePlural = useRecoilValue(fos.rootElementNamePlural);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-samplefields"></a>

### sampleFields

```typescript
const sampleFields = useRecoilValue(fos.sampleFields);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-sampleselectionstyle"></a>

### sampleSelectionStyle

| Name                 | Type                                    | Description   |
|----------------------|-----------------------------------------|---------------|
| sampleSelectionStyle | `plugins.fiftyone.state.SelectionStyle` |               |
```typescript
const [sampleSelectionStyle, setSampleSelectionStyle] = useRecoilState(fos.sampleSelectionStyle);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-savedlookeroptions"></a>

### savedLookerOptions

```typescript
const [savedLookerOptions, setSavedLookerOptions] = useRecoilState(fos.savedLookerOptions);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-savingfilters"></a>

### savingFilters

| Name          | Type      | Description   |
|---------------|-----------|---------------|
| savingFilters | `boolean` |               |
```typescript
const [savingFilters, setSavingFilters] = useRecoilState(fos.savingFilters);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-schemasearchresultlist"></a>

### schemaSearchResultList

```typescript
const [schemaSearchResultList, setSchemaSearchResultList] = useRecoilState(fos.schemaSearchResultList);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-schemasearchresults"></a>

### schemaSearchResults

```typescript
const [schemaSearchResults, setSchemaSearchResults] = useRecoilState(fos.schemaSearchResults);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-schemasearchterm"></a>

### schemaSearchTerm

| Name             | Type     | Description   |
|------------------|----------|---------------|
| schemaSearchTerm | `string` |               |
```typescript
const [schemaSearchTerm, setSchemaSearchTerm] = useRecoilState(fos.schemaSearchTerm);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-schemaselectedsettingstab"></a>

### schemaSelectedSettingsTab

| Name                      | Type     | Description   |
|---------------------------|----------|---------------|
| schemaSelectedSettingsTab | `string` |               |
```typescript
const [schemaSelectedSettingsTab, setSchemaSelectedSettingsTab] = useRecoilState(fos.schemaSelectedSettingsTab);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-searchmetafilterstate"></a>

### searchMetaFilterState

```typescript
const [searchMetaFilterState, setSearchMetaFilterState] = useRecoilState(fos.searchMetaFilterState);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-selectedlabelids"></a>

### selectedLabelIds

| Name             | Type                              | Description   |
|------------------|-----------------------------------|---------------|
| selectedLabelIds | `Set < string >` `<` `string` `>` |               |
```typescript
const selectedLabelIds = useRecoilValue(fos.selectedLabelIds);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-selectedlabelmap"></a>

### selectedLabelMap

| Name             | Type                                      | Description   |
|------------------|-------------------------------------------|---------------|
| selectedLabelMap | `plugins.fiftyone.state.SelectedLabelMap` |               |
```typescript
const [selectedLabelMap, setSelectedLabelMap] = useRecoilState(fos.selectedLabelMap);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-selectedlabeltypes"></a>

### selectedLabelTypes

| Name               | Type                                                                                            | Description   |
|--------------------|-------------------------------------------------------------------------------------------------|---------------|
| selectedLabelTypes | `Record < string , SelectionType >` `<` `string` `,` `plugins.fiftyone.state.SelectionType` `>` |               |
```typescript
const selectedLabelTypes = useRecoilValue(fos.selectedLabelTypes);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-selectedlabels"></a>

### selectedLabels

```typescript
const [selectedLabels, setSelectedLabels] = useRecoilState(fos.selectedLabels);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-selectedpatchsamples"></a>

### selectedPatchSamples

| Name                 | Type                                | Description   |
|----------------------|-------------------------------------|---------------|
| selectedPatchSamples | `Set < unknown >` `<` `unknown` `>` |               |
```typescript
const selectedPatchSamples = useRecoilValue(fos.selectedPatchSamples);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-selectedsampleobjects"></a>

### selectedSampleObjects

| Name                  | Type                                                                           | Description   |
|-----------------------|--------------------------------------------------------------------------------|---------------|
| selectedSampleObjects | `Map < string , Sample >` `<` `string` `,` `plugins.fiftyone.state.Sample` `>` |               |
```typescript
const [selectedSampleObjects, setSelectedSampleObjects] = useRecoilState(fos.selectedSampleObjects);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-selectedsamples"></a>

### selectedSamples

| Name            | Type                                                                                         | Description   |
|-----------------|----------------------------------------------------------------------------------------------|---------------|
| selectedSamples | `Map < string , SelectionType >` `<` `string` `,` `plugins.fiftyone.state.SelectionType` `>` |               |
```typescript
const [selectedSamples, setSelectedSamples] = useRecoilState(fos.selectedSamples);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-selectedsavedviewstate"></a>

### selectedSavedViewState

| Name                   | Type                                       | Description   |
|------------------------|--------------------------------------------|---------------|
| selectedSavedViewState | `plugins.fiftyone.state.DatasetViewOption` |               |
```typescript
const [selectedSavedViewState, setSelectedSavedViewState] = useRecoilState(fos.selectedSavedViewState);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-selectedviewname"></a>

### selectedViewName

| Name             | Type     | Description   |
|------------------|----------|---------------|
| selectedViewName | `string` |               |
```typescript
const [selectedViewName, setSelectedViewName] = useRecoilState(fos.selectedViewName);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-sessiongroupslice"></a>

### sessionGroupSlice

| Name              | Type     | Description   |
|-------------------|----------|---------------|
| sessionGroupSlice | `string` |               |
```typescript
const [sessionGroupSlice, setSessionGroupSlice] = useRecoilState(fos.sessionGroupSlice);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-sessionspaces"></a>

### sessionSpaces

| Name          | Type                                   | Description   |
|---------------|----------------------------------------|---------------|
| sessionSpaces | `plugins.fiftyone.state.SpaceNodeJSON` |               |
```typescript
const [sessionSpaces, setSessionSpaces] = useRecoilState(fos.sessionSpaces);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-settingsmodal"></a>

### settingsModal

| Name               | Type      | Description   |
|--------------------|-----------|---------------|
| settingsModal.open | `boolean` |               |
```typescript
const [settingsModal, setSettingsModal] = useRecoilState(fos.settingsModal);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-showmetadatastate"></a>

### showMetadataState

| Name              | Type      | Description   |
|-------------------|-----------|---------------|
| showMetadataState | `boolean` |               |
```typescript
const [showMetadataState, setShowMetadataState] = useRecoilState(fos.showMetadataState);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-showmodalnavigationcontrols"></a>

### showModalNavigationControls

| Name                        | Type      | Description   |
|-----------------------------|-----------|---------------|
| showModalNavigationControls | `boolean` |               |
```typescript
const [showModalNavigationControls, setShowModalNavigationControls] = useRecoilState(fos.showModalNavigationControls);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-shownestedfieldsstate"></a>

### showNestedFieldsState

| Name                  | Type      | Description   |
|-----------------------|-----------|---------------|
| showNestedFieldsState | `boolean` |               |
```typescript
const [showNestedFieldsState, setShowNestedFieldsState] = useRecoilState(fos.showNestedFieldsState);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-showoverlays"></a>

### showOverlays

| Name         | Type      | Description   |
|--------------|-----------|---------------|
| showOverlays | `boolean` |               |
```typescript
const [showOverlays, setShowOverlays] = useRecoilState(fos.showOverlays);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-sidebarpaths"></a>

### sidebarPaths

```typescript
const sidebarPaths = useRecoilValue(fos.sidebarPaths);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-sidebarsampleid"></a>

### sidebarSampleId

| Name            | Type     | Description   |
|-----------------|----------|---------------|
| sidebarSampleId | `string` |               |
```typescript
const sidebarSampleId = useRecoilValue(fos.sidebarSampleId);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-similaritymethods"></a>

### similarityMethods

| Name                      | Type                                                              | Description   |
|---------------------------|-------------------------------------------------------------------|---------------|
| similarityMethods.patches | `Array<` `[` `plugins.fiftyone.state.Method` `,` `string` `]` `>` |               |
| similarityMethods.samples | `Array<` `plugins.fiftyone.state.Method` `>`                      |               |
```typescript
const similarityMethods = useRecoilValue(fos.similarityMethods);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-similarityparameters"></a>

### similarityParameters

| Name                 | Type                                                | Description   |
|----------------------|-----------------------------------------------------|---------------|
| similarityParameters | `plugins.fiftyone.state.SortBySimilarityParameters` |               |
```typescript
const [similarityParameters, setSimilarityParameters] = useRecoilState(fos.similarityParameters);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-similaritysorting"></a>

### similaritySorting

| Name              | Type      | Description   |
|-------------------|-----------|---------------|
| similaritySorting | `boolean` |               |
```typescript
const [similaritySorting, setSimilaritySorting] = useRecoilState(fos.similaritySorting);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-snackbarerrors"></a>

### snackbarErrors

```typescript
const [snackbarErrors, setSnackbarErrors] = useRecoilState(fos.snackbarErrors);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-snackbarlink"></a>

### snackbarLink

| Name                 | Type     | Description   |
|----------------------|----------|---------------|
| snackbarLink.link    | `string` |               |
| snackbarLink.message | `string` |               |
```typescript
const [snackbarLink, setSnackbarLink] = useRecoilState(fos.snackbarLink);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-snackbarmessage"></a>

### snackbarMessage

| Name            | Type     | Description   |
|-----------------|----------|---------------|
| snackbarMessage | `string` |               |
```typescript
const [snackbarMessage, setSnackbarMessage] = useRecoilState(fos.snackbarMessage);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-stagedefinitions"></a>

### stageDefinitions

```typescript
const stageDefinitions = useRecoilValue(fos.stageDefinitions);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-stageinfo"></a>

### stageInfo

| Name      | Type   | Description   |
|-----------|--------|---------------|
| stageInfo | `any`  |               |
```typescript
const [stageInfo, setStageInfo] = useRecoilState(fos.stageInfo);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-statesubscription"></a>

### stateSubscription

| Name              | Type     | Description   |
|-------------------|----------|---------------|
| stateSubscription | `string` |               |
```typescript
const stateSubscription = useRecoilValue(fos.stateSubscription);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-targets"></a>

### targets

| Name             | Type                             | Description   |
|------------------|----------------------------------|---------------|
| targets.defaults | `plugins.fiftyone.state.Targets` |               |
| targets.fields   | `Any`                            |               |
```typescript
const targets = useRecoilValue(fos.targets);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-temporaltagcolor"></a>

### temporalTagColor

Resolver for temporal-tag colors. Temporal tags are ALWAYS colored by value
(the tag name), independent of the global color-by mode: each name maps to
its configured color, falling back to the seeded hashed pool. Shared by the
grid overlay, the timeline tracks, and the filter dots so a tag looks the
same everywhere.

```typescript
const temporalTagColor = useRecoilValue(fos.temporalTagColor);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-temporaltagresults"></a>

### temporalTagResults

Read-only view of the temporal-tag results, exposed as the string filter’s
`resultsAtom` (a RecoilValue, mirroring `labelTagsCount`). Populate it via
[`useSyncTemporalTagResults`](#fos.useSyncTemporalTagResults).

| Name               | Type                                        | Description   |
|--------------------|---------------------------------------------|---------------|
| temporalTagResults | `plugins.fiftyone.state.TemporalTagResults` |               |
```typescript
const temporalTagResults = useRecoilValue(fos.temporalTagResults);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-theme"></a>

### theme

| Name   | Type                                | Description   |
|--------|-------------------------------------|---------------|
| theme  | `Union<` `'dark'` `,` `'light'` `>` |               |
```typescript
const [theme, setTheme] = useRecoilState(fos.theme);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-themeconfig"></a>

### themeConfig

| Name        | Type                                                | Description   |
|-------------|-----------------------------------------------------|---------------|
| themeConfig | `Union<` `'dark'` `,` `'light'` `,` `'browser'` `>` |               |
```typescript
const themeConfig = useRecoilValue(fos.themeConfig);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-timezone"></a>

### timeZone

| Name     | Type     | Description   |
|----------|----------|---------------|
| timeZone | `string` |               |
```typescript
const timeZone = useRecoilValue(fos.timeZone);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-tooltipcoordinates"></a>

### tooltipCoordinates

| Name                      | Type                               | Description   |
|---------------------------|------------------------------------|---------------|
| tooltipCoordinates.bottom | `plugins.fiftyone.state.placement` |               |
| tooltipCoordinates.left   | `plugins.fiftyone.state.placement` |               |
| tooltipCoordinates.right  | `plugins.fiftyone.state.placement` |               |
| tooltipCoordinates.top    | `plugins.fiftyone.state.placement` |               |
```typescript
const [tooltipCoordinates, setTooltipCoordinates] = useRecoilState(fos.tooltipCoordinates);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-tooltipdetail"></a>

### tooltipDetail

| Name          | Type                                                                          | Description   |
|---------------|-------------------------------------------------------------------------------|---------------|
| tooltipDetail | `plugins.fiftyone.state.PointInfo` `<` `plugins.fiftyone.state.BaseLabel` `>` |               |
```typescript
const [tooltipDetail, setTooltipDetail] = useRecoilState(fos.tooltipDetail);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-view"></a>

### view

```typescript
const [view, setView] = useRecoilState(fos.view);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-viewcls"></a>

### viewCls

| Name    | Type     | Description   |
|---------|----------|---------------|
| viewCls | `string` |               |
```typescript
const [viewCls, setViewCls] = useRecoilState(fos.viewCls);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-viewcounter"></a>

### viewCounter

| Name        | Type     | Description   |
|-------------|----------|---------------|
| viewCounter | `number` |               |
```typescript
const [viewCounter, setViewCounter] = useRecoilState(fos.viewCounter);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-viewname"></a>

### viewName

| Name     | Type     | Description   |
|----------|----------|---------------|
| viewName | `string` |               |
```typescript
const [viewName, setViewName] = useRecoilState(fos.viewName);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-viewschemastate"></a>

### viewSchemaState

| Name            | Type   | Description   |
|-----------------|--------|---------------|
| viewSchemaState | `any`  |               |
```typescript
const [viewSchemaState, setViewSchemaState] = useRecoilState(fos.viewSchemaState);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-viewstateform-internal"></a>

### viewStateForm_INTERNAL

This atom can be set to parameterize view changes

**See**

> for example usage

| Name                   | Type                               | Description   |
|------------------------|------------------------------------|---------------|
| viewStateForm_INTERNAL | `plugins.fiftyone.state.StateForm` |               |
```typescript
const [viewStateForm_INTERNAL, setViewStateForm_INTERNAL] = useRecoilState(fos.viewStateForm_INTERNAL);
```

## Hooks

<a id="fos-fiftyone-fiftyone-fiftyone-state-useactive3dsamplesmap"></a>

### useActive3dSamplesMap

### fos.useActive3dSamplesMap()

* **Return type:**
  `Record < string , ModalSample >` `<` `string` `,` `plugins.fiftyone.state.ModalSample` `>`

Resolved samples for the currently active 3D slices.

<a id="fos-fiftyone-fiftyone-fiftyone-state-useactive3dslices"></a>

### useActive3dSlices

### fos.useActive3dSlices()

* **Return type:**
  `Array<` `string` `>`

The 3D slice names currently included in the rendered scene.

<a id="fos-fiftyone-fiftyone-fiftyone-state-useactivedirectslices"></a>

### useActiveDirectSlices

### fos.useActiveDirectSlices()

* **Return type:**
  `Array<` `string` `>`

Active non-FO3D 3D slices rendered alongside the scene.

<a id="fos-fiftyone-fiftyone-fiftyone-state-useactivefields"></a>

### useActiveFields

### fos.useActiveFields(params)

* **Arguments:**
  * **params** (`Object`)
  * **params.modal** ([`boolean`](#fos.boolean))
* **Return type:**
  `Array<` `string` `>`

The field paths currently toggled visible in the sidebar.

<a id="fos-fiftyone-fiftyone-fiftyone-state-useactivefiltervalues"></a>

### useActiveFilterValues

### fos.useActiveFilterValues(path)

* **Arguments:**
  * **path** ([`string`](#fos.string))
* **Return type:**
  `Array<` `string` `>`

Recoil-bound [`activeFilterValues`](#fos.activeFilterValues) for the grid’s filter set.

<a id="fos-fiftyone-fiftyone-fiftyone-state-useactivefo3dslice"></a>

### useActiveFo3dSlice

### fos.useActiveFo3dSlice()

* **Return type:**
  `string`

Active FO3D slice currently driving the scene, if one is selected.

<a id="fos-fiftyone-fiftyone-fiftyone-state-useactivemodalfields"></a>

### useActiveModalFields

### fos.useActiveModalFields()

* **Return type:**
  `[` `Array< string >` `,` `SetterOrUpdater <  >` `]`

Hook which provides the modal’s current active paths,
and a setter to update the paths.

<a id="fos-fiftyone-fiftyone-fiftyone-state-useactivemodalsample"></a>

### useActiveModalSample

### fos.useActiveModalSample()

* **Return type:**
  `plugins.fiftyone.state.Sample`

Get the sample currently being acted on in the modal.

Unlike [`useModalSample`](#fos.useModalSample), which always resolves the 2D `modalGroupSlice`
sample, this is 3D-aware: when a 3D slice is pinned it returns that slice’s
sample. It mirrors the sample the sidebar and looker display, so annotation
edits persist to the slice the user is actually editing (e.g. a cuboid edit
targets the point-cloud sample, not the 2D image slice).

Returns `undefined` if the modal is closed or the sample is still loading.

<a id="fos-fiftyone-fiftyone-fiftyone-state-useactivemodalsamplevalue"></a>

### useActiveModalSampleValue

### fos.useActiveModalSampleValue(path)

* **Arguments:**
  * **path** ([`string`](#fos.string))
* **Return type:**
  `Union<` 

  ```
  ``
  ```

  \`\` `,` `plugins.fiftyone.state.T` `>`

Reads a single field value at `path` from the active modal sidebar sample.

**Returns**

The resolved value, or

> when the sample is
> : unresolved or transiently absent for the active slice.

**Throws**

Any non-

> error from the underlying
> : loadable (e.g. plain
```typescript
  `SampleNotFound`

or a thrown selector error).
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-useactivetemporaltagfiltervalues"></a>

### useActiveTemporalTagFilterValues

### fos.useActiveTemporalTagFilterValues()

* **Return type:**
  `Array<` `string` `>`

Tag values the grid is currently filtering *for* via the temporal-tags
filter — inclusive selections only (empty when the filter is unset or set to
exclude). Used to auto-pin the matching timeline tracks when a sample is
opened from a temporal-tag-filtered grid.

Nothing here is tag-specific beyond the path, so the body lives in
`filters.ts` as [`useActiveFilterValues`](#fos.useActiveFilterValues) and is shared with the other
interval sources that pin the same way.

<a id="fos-fiftyone-fiftyone-fiftyone-state-useactivitytoast"></a>

### useActivityToast

### fos.useActivityToast()

* **Return type:**
  `plugins.fiftyone.state.IActivityToast`

Hook which provides read and write access to the application’s ActivityToast
through the [`IActivityToast`](#fos.IActivityToast) interface.

<a id="fos-fiftyone-fiftyone-fiftyone-state-useall3dsamplesmap"></a>

### useAll3dSamplesMap

### fos.useAll3dSamplesMap()

* **Return type:**
  `Record < string , ModalSample >` `<` `string` `,` `plugins.fiftyone.state.ModalSample` `>`

Resolved samples for every available 3D slice in the current modal context.

<a id="fos-fiftyone-fiftyone-fiftyone-state-useall3dslices"></a>

### useAll3dSlices

### fos.useAll3dSlices()

* **Return type:**
  `Array<` `string` `>`

All available 3D slice names.

<a id="fos-fiftyone-fiftyone-fiftyone-state-useapplyselectedlabelsdelta"></a>

### useApplySelectedLabelsDelta

### fos.useApplySelectedLabelsDelta()

Apply a delta to the selected labels in one write.

Additive by nature — it adds and removes exactly what it is given and leaves
the rest alone — which is what lets several independent gestures accumulate
into one selection rather than replacing each other.

A delta that changes nothing publishes nothing. Callers can be driven by
state that also derives FROM this atom (a canvas mirroring the selection
back), where republishing an unchanged map would hand every derived selector
a fresh identity and kick those observers off again for no reason.

> ### fos.applySelectedLabelsDelta()

> * **Arguments:**
>   * **args** (`[ SelectedLabelsDelta ]`)
> * **Return type:**
>   `void`

Returns a function that will run the callback that was passed when
calling this hook. Useful for accessing Recoil state in response to
events.

<a id="fos-fiftyone-fiftyone-fiftyone-state-useassertedrecoilvalue"></a>

### useAssertedRecoilValue

### fos.useAssertedRecoilValue(recoilValue)

* **Arguments:**
  * **recoilValue** (`RecoilValue`)
* **Return type:**
  `plugins.fiftyone.state.T`

<a id="fos-fiftyone-fiftyone-fiftyone-state-usebeforescreenshot"></a>

### useBeforeScreenshot

### fos.useBeforeScreenshot(cb)

* **Arguments:**
  * **cb** (`( )`)
* **Return type:**
  `void`

<a id="fos-fiftyone-fiftyone-fiftyone-state-usebrowserstorage"></a>

### useBrowserStorage

### fos.useBrowserStorage(key, initialValue, useSessionStorage, parseFn)

* **Arguments:**
  * **key** ([`string`](#fos.string))
  * **initialValue** (`Union`)
  * **useSessionStorage** ([`boolean`](#fos.boolean))
  * **parseFn** (`Object`)
  * **parseFn.parse** (`( value : string )`)
  * **parseFn.stringify** (`( value : T )`)
* **Return type:**
  `readonly`

<a id="fos-fiftyone-fiftyone-fiftyone-state-useclearmodal"></a>

### useClearModal

### fos.useClearModal()

A react hook that allows clearing the modal state.

**Example**

```typescript
function MyComponent() {
  const clearModal = useClearModal();
  return (
   <button onClick={clearModal}>Close Modal</button>
  )
}
```

**Returns**

A function that clears the modal state.

> ### fos.clearModal()

> * **Return type:**
>   `void`

<a id="fos-fiftyone-fiftyone-fiftyone-state-usecolorscheme"></a>

### useColorScheme

### fos.useColorScheme()

* **Return type:**
  `plugins.fiftyone.state.ColorSchemeInput`

The session color scheme (per-field customizations, label tag colors).

<a id="fos-fiftyone-fiftyone-fiftyone-state-usecoloring"></a>

### useColoring

### fos.useColoring()

* **Return type:**
  `plugins.fiftyone.state.Coloring`

The resolved coloring configuration (color-by mode, pool, seed) used to
color labels.

<a id="fos-fiftyone-fiftyone-fiftyone-state-usecreatelooker"></a>

### useCreateLooker

### fos.useCreateLooker(isModal, thumbnail, options, highlight, enableTimeline)

* **Arguments:**
  * **isModal** ([`boolean`](#fos.boolean))
  * **thumbnail** ([`boolean`](#fos.boolean))
  * **options** (`Omit`)
  * **highlight** (`( sample : Sample )`)
  * **enableTimeline** ([`boolean`](#fos.boolean))
* **Return type:**
  `MutableRefObject <  >` `<` `( args :  )` `>`

<a id="fos-fiftyone-fiftyone-fiftyone-state-usecurrentdataset"></a>

### useCurrentDataset

### fos.useCurrentDataset()

* **Return type:**
  `plugins.fiftyone.state.Dataset`

Get the current dataset.

**Returns**

The current dataset state

<a id="fos-fiftyone-fiftyone-fiftyone-state-usecurrentdatasetid"></a>

### useCurrentDatasetId

### fos.useCurrentDatasetId()

* **Return type:**
  `string`

Get the current dataset ID.

**Returns**

The current dataset ID, or null if no dataset is selected

<a id="fos-fiftyone-fiftyone-fiftyone-state-usecurrentdatasetname"></a>

### useCurrentDatasetName

### fos.useCurrentDatasetName()

* **Return type:**
  `string`

Get the current dataset name.

**Returns**

The current dataset name

<a id="fos-fiftyone-fiftyone-fiftyone-state-usecurrentsampleid"></a>

### useCurrentSampleId

### fos.useCurrentSampleId()

* **Return type:**
  `string`

Gets the current sample ID.

<a id="fos-fiftyone-fiftyone-fiftyone-state-usedebouncecallback"></a>

### useDebounceCallback

### fos.useDebounceCallback(func, delay, options)

* **Arguments:**
  * **func** (`T`)
  * **delay** (`number`)
  * **options** (`DebounceSettings`)
* **Return type:**
  `plugins.fiftyone.state.DebouncedState` `<` `plugins.fiftyone.state.T` `>`

<a id="fos-fiftyone-fiftyone-fiftyone-state-usedeferrer"></a>

### useDeferrer

### fos.useDeferrer()

* **Return type:**
  `Object`

<a id="fos-fiftyone-fiftyone-fiftyone-state-usedimensions"></a>

### useDimensions

### fos.useDimensions()

* **Return type:**
  `Object`

<a id="fos-fiftyone-fiftyone-fiftyone-state-usedisabledcheckboxpaths"></a>

### useDisabledCheckboxPaths

### fos.useDisabledCheckboxPaths()

* **Return type:**
  `Set < string >` `<` `string` `>`

Returns the set of field paths that are disabled in the sidebar checkbox list.
Includes unsupported field types (DictField, VectorField, etc.) and frame fields that are not labels.

<a id="fos-fiftyone-fiftyone-fiftyone-state-useelementscount"></a>

### useElementsCount

### fos.useElementsCount(modal)

* **Arguments:**
  * **modal** ([`boolean`](#fos.boolean))
* **Return type:**
  `number`

Returns the last settled element count for the current dynamic group without
suspending. Uses the stable groupByFieldValue so the count stays frozen while
modalSample is transitioning between pages.

<a id="fos-fiftyone-fiftyone-fiftyone-state-useeventhandler"></a>

### useEventHandler

### fos.useEventHandler(target, eventType, handler, options)

* **Arguments:**
  * **target** (`EventTarget`)
  * **eventType** ([`string`](#fos.string))
  * **handler** (`( event : any )`)
  * **options** (`Union`)
* **Return type:**
  `void`

<a id="fos-fiftyone-fiftyone-fiftyone-state-useexpandsample"></a>

### useExpandSample

### fos.useExpandSample(store)

* **Arguments:**
  * **store** ()

Returns a function that will run the callback that was passed when
calling this hook. Useful for accessing Recoil state in response to
events.

<a id="fos-fiftyone-fiftyone-fiftyone-state-usefo3dcontent"></a>

### useFo3dContent

### fos.useFo3dContent()

* **Return type:**
  `unknown`

Parsed FO3D scene content cached for the active scene sample.

<a id="fos-fiftyone-fiftyone-fiftyone-state-usefollow"></a>

### useFollow

### fos.useFollow(leaderRef, followerRef, api)

* **Arguments:**
  * **leaderRef** (`any`)
  * **followerRef** (`any`)
  * **api** (`any`)
* **Return type:**
  `void`

<a id="fos-fiftyone-fiftyone-fiftyone-state-useframeschema"></a>

### useFrameSchema

### fos.useFrameSchema()

* **Return type:**
  `plugins.fiftyone.state.Schema`

Get the current FRAME field schema — the per-frame fields of a video
dataset, keyed WITHOUT the `frames.` prefix that sidebar paths carry.

**Returns**

The field schema for the frame space

<a id="fos-fiftyone-fiftyone-fiftyone-state-usegetkeypointskeleton"></a>

### useGetKeypointSkeleton

### fos.useGetKeypointSkeleton()

Hook which provides a function to get the default keypoint skeleton for a
given field.

> ### fos.getKeypointSkeleton()

> * **Arguments:**
>   * **args** (`[ field ]`)
> * **Return type:**
>   `plugins.fiftyone.state.KeypointSkeleton`

Returns a function that will run the callback that was passed when
calling this hook. Useful for accessing Recoil state in response to
events.

<a id="fos-fiftyone-fiftyone-fiftyone-state-usegridcustomrendererfailover"></a>

### useGridCustomRendererFailover

### fos.useGridCustomRendererFailover(datasetName)

* **Arguments:**
  * **datasetName** ([`string`](#fos.string))
* **Return type:**
  `Object`

React view onto the external fail-open store.

`useSyncExternalStore` bridges React to this module-level source of truth,
while selectors and other non-React code can still read it synchronously.

When a dataset name is provided, the disable/banner state is scoped to that
dataset. The forced subscription remains shared because the sync repair path
still applies to the entire tab.

<a id="fos-fiftyone-fiftyone-fiftyone-state-usegridentries"></a>

### useGridEntries

### fos.useGridEntries()

* **Return type:**
  `[` `Array< SidebarEntry >` `,` `( entries :  )` `]`

<a id="fos-fiftyone-fiftyone-fiftyone-state-usegroupbyfieldvalue"></a>

### useGroupByFieldValue

### fos.useGroupByFieldValue()

* **Return type:**
  `string`

Returns the last settled groupByFieldValue without ever suspending.

groupByFieldValue derives from modalSample (a graphQLSelector) and suspends
during sample transitions. This hook holds the previous value steady while
the next one loads, preventing Suspense boundaries from triggering on every
sample navigation. Returns undefined until the first value has settled.

<a id="fos-fiftyone-fiftyone-fiftyone-state-usegroupslices"></a>

### useGroupSlices

### fos.useGroupSlices(mediaTypes)

* **Arguments:**
  * **mediaTypes** (`Array`)
* **Return type:**
  `Array<` `string` `>`

Returns the names of dataset-level group slices whose media type matches
any of the provided types.

**Returns**

Slice names matching the requested media types, in dataset order.

<a id="fos-fiftyone-fiftyone-fiftyone-state-usehas3dslice"></a>

### useHas3dSlice

### fos.useHas3dSlice()

* **Return type:**
  `boolean`

Whether the current modal context exposes any 3D slice.

<a id="fos-fiftyone-fiftyone-fiftyone-state-usehasmultiple3dslices"></a>

### useHasMultiple3dSlices

### fos.useHasMultiple3dSlices()

* **Return type:**
  `boolean`

Whether more than one 3D slice is available.

<a id="fos-fiftyone-fiftyone-fiftyone-state-usehashchangehandler"></a>

### useHashChangeHandler

### fos.useHashChangeHandler(handler)

* **Arguments:**
  * **handler** (`any`)
* **Return type:**
  `void`

<a id="fos-fiftyone-fiftyone-fiftyone-state-usehelppanel"></a>

### useHelpPanel

### fos.useHelpPanel()

* **Return type:**
  `Object`

<a id="fos-fiftyone-fiftyone-fiftyone-state-usehover"></a>

### useHover

### fos.useHover()

* **Return type:**
  `[` `MutableRefObject < any >` `,` `boolean` `]`

<a id="fos-fiftyone-fiftyone-fiftyone-state-usehoveredsample"></a>

### useHoveredSample

### fos.useHoveredSample(sample, args)

* **Arguments:**
  * **sample** ([`Sample`](#fos.Sample))
  * **args** (`Object`)
  * **args.clear** (`( )`)
  * **args.update** (`( )`)
* **Return type:**
  `Object`

<a id="fos-fiftyone-fiftyone-fiftyone-state-useinteraction3dsample"></a>

### useInteraction3dSample

### fos.useInteraction3dSample()

* **Return type:**
  `plugins.fiftyone.state.ModalSample`

Representative sample used for 3D interaction-driven behavior.

<a id="fos-fiftyone-fiftyone-fiftyone-state-useis3dpinned"></a>

### useIs3dPinned

### fos.useIs3dPinned()

* **Return type:**
  `boolean`

Whether the 3D slice selection is pinned to a specific slice.

<a id="fos-fiftyone-fiftyone-fiftyone-state-useis3dvisible"></a>

### useIs3dVisible

### fos.useIs3dVisible()

* **Return type:**
  `boolean`

Whether the 3D viewer is currently visible.

<a id="fos-fiftyone-fiftyone-fiftyone-state-useis3dvisiblesetting"></a>

### useIs3dVisibleSetting

### fos.useIs3dVisibleSetting()

* **Return type:**
  `boolean`

Persisted user preference for showing the 3D viewer.

<a id="fos-fiftyone-fiftyone-fiftyone-state-useisgroupcarouselvisible"></a>

### useIsGroupCarouselVisible

### fos.useIsGroupCarouselVisible()

* **Return type:**
  `boolean`

Whether the carousel is visible. Always false in annotate mode.

<a id="fos-fiftyone-fiftyone-fiftyone-state-useisgroupdataset"></a>

### useIsGroupDataset

### fos.useIsGroupDataset()

* **Return type:**
  `boolean`

Whether the current dataset is a grouped dataset.

**Returns**

True if the current dataset is a group dataset

<a id="fos-fiftyone-fiftyone-fiftyone-state-useisgroupmain2dviewervisible"></a>

### useIsGroupMain2dViewerVisible

### fos.useIsGroupMain2dViewerVisible()

* **Return type:**
  `boolean`

Whether the 2D viewer is visible. In annotate mode, suppressed when the 3D
viewer is also visible so only one viewer shows at a time.

<a id="fos-fiftyone-fiftyone-fiftyone-state-useismediatype"></a>

### useIsMediaType

### fos.useIsMediaType(mediaType)

* **Arguments:**
  * **mediaType** ([`string`](#fos.string))
* **Return type:**
  `boolean`

Returns `true` when the current dataset’s media type matches the argument.

Equality is on the dataset-level `mediaType` (e.g. `"video"`, `"image"`,
`"point_cloud"`). For media-family checks like “is 3D”, prefer the existing
`is3DDataset` selector since it handles multiple matching types.

<a id="fos-fiftyone-fiftyone-fiftyone-state-useisvideo"></a>

### useIsVideo

### fos.useIsVideo()

* **Return type:**
  `boolean`

Convenience: `useIsMediaType("video")`.

<a id="fos-fiftyone-fiftyone-fiftyone-state-usejsonpanel"></a>

### useJSONPanel

### fos.useJSONPanel()

* **Return type:**
  `Object`

Manage the JSON panel state and events.

**Example**

```typescript
function MyComponent() {
  const jsonPanel = useJSONPanel();

  return jsonPanel.isOpen && (
     <JSONPanel
       containerRef={jsonPanel.containerRef}
       onClose={() => jsonPanel.close()}
       onCopy={() => jsonPanel.copy()}
     />
   )
}
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-usekeydown"></a>

### useKeyDown

### fos.useKeyDown(key, handler, deps)

* **Arguments:**
  * **key** ([`string`](#fos.string))
  * **handler** (`( down : boolean ,  e : KeyboardEvent )`)
  * **deps** (`DependencyList`)
* **Return type:**
  `void`

a react hook that calls the handler when a given key is down

<a id="fos-fiftyone-fiftyone-fiftyone-state-usekeydownhandler"></a>

### useKeydownHandler

### fos.useKeydownHandler(handler)

* **Arguments:**
  * **handler** (`( e : KeyboardEvent )`)
* **Return type:**
  `void`

<a id="fos-fiftyone-fiftyone-fiftyone-state-uselabelattributetoggle"></a>

### useLabelAttributeToggle

### fos.useLabelAttributeToggle(path, modal)

* **Arguments:**
  * **path** ([`string`](#fos.string))
  * **modal** ([`boolean`](#fos.boolean))
* **Return type:**
  `Object`

Show/hide state for a sidebar label attribute row, e.g.
“ground_truth.detections.label”. Returns null when the row is not a label
attribute or toggling it would not change what is rendered.

<a id="fos-fiftyone-fiftyone-fiftyone-state-uselabelfields"></a>

### useLabelFields

### fos.useLabelFields(params)

* **Arguments:**
  * **params** (`Object`)
  * **params.space** (`SPACE`)
* **Return type:**
  `Array<` `string` `>`

The label field paths in the dataset schema.

<a id="fos-fiftyone-fiftyone-fiftyone-state-uselookeroptions"></a>

### useLookerOptions

### fos.useLookerOptions(modal)

* **Arguments:**
  * **modal** ([`boolean`](#fos.boolean))
* **Return type:**
  `Partial < Omit >` `<` `Omit <  ,  >` `>`

<a id="fos-fiftyone-fiftyone-fiftyone-state-uselookerstore"></a>

### useLookerStore

### fos.useLookerStore()

* **Return type:**
  `plugins.fiftyone.state.LookerStore` `<` `plugins.fiftyone.state.Lookers` `>`

<a id="fos-fiftyone-fiftyone-fiftyone-state-usemodalactive"></a>

### useModalActive

### fos.useModalActive()

* **Return type:**
  `boolean`

Returns whether the sample modal is currently active.

<a id="fos-fiftyone-fiftyone-fiftyone-state-usemodalexplorentries"></a>

### useModalExplorEntries

### fos.useModalExplorEntries()

* **Return type:**
  `[` `Array< SidebarEntry >` `,` `( entries :  )` `]`

<a id="fos-fiftyone-fiftyone-fiftyone-state-usemodallookeroptions"></a>

### useModalLookerOptions

### fos.useModalLookerOptions(withFilter)

* **Arguments:**
  * **withFilter** ([`boolean`](#fos.boolean))
* **Return type:**
  `Partial < Omit >` `<` `Omit <  ,  >` `>`

Gets the looker options for the modal.

<a id="fos-fiftyone-fiftyone-fiftyone-state-usemodalmediapath"></a>

### useModalMediaPath

### fos.useModalMediaPath()

* **Return type:**
  `string`

Returns the current media path in the modal.

<a id="fos-fiftyone-fiftyone-fiftyone-state-usemodalmode"></a>

### useModalMode

### fos.useModalMode()

* **Return type:**
  `plugins.fiftyone.state.ModalMode`

Get the current modal mode.

<a id="fos-fiftyone-fiftyone-fiftyone-state-usemodalmodecontroller"></a>

### useModalModeController

### fos.useModalModeController()

* **Return type:**
  `plugins.fiftyone.state.ModalModeController`

Hook which provides a [`ModalModeController`](#fos.ModalModeController).

<a id="fos-fiftyone-fiftyone-fiftyone-state-usemodalsample"></a>

### useModalSample

### fos.useModalSample()

* **Return type:**
  `plugins.fiftyone.state.ModalSample`

Get the current modal sample data.

If the modal is not open, or the sample is being loaded, this hook will
return `undefined`.

<a id="fos-fiftyone-fiftyone-fiftyone-state-usemodalsampleid"></a>

### useModalSampleId

### fos.useModalSampleId()

* **Return type:**
  `string`

The sample the modal is showing.

<a id="fos-fiftyone-fiftyone-fiftyone-state-usemodalsampleschema"></a>

### useModalSampleSchema

### fos.useModalSampleSchema()

* **Return type:**
  `plugins.fiftyone.state.Schema`

Get the current modal sample schema.

<a id="fos-fiftyone-fiftyone-fiftyone-state-usemodalviewport"></a>

### useModalViewport

### fos.useModalViewport()

* **Return type:**
  `plugins.fiftyone.state.ModalViewportState`

Gets the saved modal viewport (zoom/pan) state.

<a id="fos-fiftyone-fiftyone-fiftyone-state-usemutation"></a>

### useMutation

### fos.useMutation(hasPermission, mutation)

* **Arguments:**
  * **hasPermission** ([`boolean`](#fos.boolean))
  * **mutation** ([`string`](#fos.string))
* **Return type:**
  `plugins.fiftyone.state.CanPerformActionReturnType`

<a id="fos-fiftyone-fiftyone-fiftyone-state-usenon3dslices"></a>

### useNon3dSlices

### fos.useNon3dSlices()

* **Return type:**
  `Array<` `string` `>`

All available non-3D slice names.

<a id="fos-fiftyone-fiftyone-fiftyone-state-usenotification"></a>

### useNotification

### fos.useNotification()

### fos.notification()

* **Arguments:**
  * **options** (`NotificationOption`)
* **Return type:**
  `void`

<a id="fos-fiftyone-fiftyone-fiftyone-state-useobserve"></a>

### useObserve

### fos.useObserve(target, handler)

* **Arguments:**
  * **target** (`any`)
  * **handler** (`any`)
* **Return type:**
  `void`

<a id="fos-fiftyone-fiftyone-fiftyone-state-useonselectlabel"></a>

### useOnSelectLabel

### fos.useOnSelectLabel()

### fos.onSelectLabel()

* **Arguments:**
  * **args** (`[ SelectEvent ]`)
* **Return type:**
  `Promise < void >` `<` `void` `>`

Returns a function that will run the callback that was passed when
calling this hook. Useful for accessing Recoil state in response to
events.

<a id="fos-fiftyone-fiftyone-fiftyone-state-useoutsideclick"></a>

### useOutsideClick

### fos.useOutsideClick(ref, handler, eventName)

* **Arguments:**
  * **ref** (`MutableRefObject`)
  * **handler** (`MouseEventHandler`)
  * **eventName** ([`string`](#fos.string))
* **Return type:**
  `void`

<a id="fos-fiftyone-fiftyone-fiftyone-state-usepanel"></a>

### usePanel

### fos.usePanel(name, atom)

* **Arguments:**
  * **name** (`any`)
  * **atom** (`any`)
* **Return type:**
  `Object`

<a id="fos-fiftyone-fiftyone-fiftyone-state-usepathvaluecolors"></a>

### usePathValueColors

### fos.usePathValueColors(paths)

* **Arguments:**
  * **paths** (`readonly`)

Domain hook for [`pathValueColors`](#fos.pathValueColors): returns a
`(path: string, value?: string) => string` resolving any of `paths` — and,
where the caller names one of that path’s values, that value — to the color
the sidebar shows for it.

Omit `value` for something the sidebar has no value dot for: those take the
field’s color in both modes. A path that was not requested falls back to the
seeded pool, so a caller that discovers a path late still gets a stable
color rather than nothing.

> ### fos.pathValueColors()

> * **Arguments:**
>   * **path** ([`string`](#fos.string))
>   * **value** ([`string`](#fos.string))
> * **Return type:**
>   `string`

<a id="fos-fiftyone-fiftyone-fiftyone-state-usepinned3dslice"></a>

### usePinned3dSlice

### fos.usePinned3dSlice()

* **Return type:**
  `string`

Slice name currently pinned for 3D rendering, if any.

<a id="fos-fiftyone-fiftyone-fiftyone-state-usepreferredgroupannotationslice"></a>

### usePreferredGroupAnnotationSlice

### fos.usePreferredGroupAnnotationSlice()

* **Return type:**
  `[` `string` `,` `SetAtom <  , void >` `]`

Get and set the preferred annotation slice for grouped datasets.
Returns [preferredSlice, setPreferredSlice].

<a id="fos-fiftyone-fiftyone-fiftyone-state-usequeryperformance"></a>

### useQueryPerformance

### fos.useQueryPerformance()

* **Return type:**
  `Object`

<a id="fos-fiftyone-fiftyone-fiftyone-state-usequeryperformancesamplelimit"></a>

### useQueryPerformanceSampleLimit

### fos.useQueryPerformanceSampleLimit()

* **Return type:**
  `number`

Hook which returns the sample limit for dataset query performance.

<a id="fos-fiftyone-fiftyone-fiftyone-state-userealfo3dslices"></a>

### useRealFo3dSlices

### fos.useRealFo3dSlices()

* **Return type:**
  `Array<` `string` `>`

Available 3D slices whose media resolves to FO3D files.

<a id="fos-fiftyone-fiftyone-fiftyone-state-userefresh"></a>

### useRefresh

### fos.useRefresh()

### fos.refresh()

* **Arguments:**
  * **args** (`[ ]`)
* **Return type:**
  `void`

Returns a function that will run the callback that was passed when
calling this hook. Useful for accessing Recoil state in response to
events.

<a id="fos-fiftyone-fiftyone-fiftyone-state-userefreshsample"></a>

### useRefreshSample

### fos.useRefreshSample()

Refresh a sample in both the modal and the grid.

> ### fos.refreshSample()

> * **Arguments:**
>   * **sample** ([`Sample`](#fos.Sample))
> * **Return type:**
>   `void`

<a id="fos-fiftyone-fiftyone-fiftyone-state-userenderconfig3dactions"></a>

### useRenderConfig3dActions

### fos.useRenderConfig3dActions()

* **Return type:**
  `plugins.fiftyone.state.RenderConfig3dActions`

3D render config mutation actions.

<a id="fos-fiftyone-fiftyone-fiftyone-state-userenderconfig3dimperativestate"></a>

### useRenderConfig3dImperativeState

### fos.useRenderConfig3dImperativeState()

* **Return type:**
  `plugins.fiftyone.state.RenderConfig3dImperativeState`

Imperative 3D render state queries for event handlers and callbacks.

<a id="fos-fiftyone-fiftyone-fiftyone-state-userenderconfig3dstate"></a>

### useRenderConfig3dState

### fos.useRenderConfig3dState()

* **Return type:**
  `plugins.fiftyone.state.RenderConfig3dState`

Suspense-compatible 3D render state for React rendering.

<a id="fos-fiftyone-fiftyone-fiftyone-state-usereset"></a>

### useReset

### fos.useReset()

* **Return type:**
  `SetterOrUpdater <  >` `<` `Array< Stage >` `>`

**Deprecated**

use

> instead

<a id="fos-fiftyone-fiftyone-fiftyone-state-useresetextendedselection"></a>

### useResetExtendedSelection

### fos.useResetExtendedSelection()

### fos.resetExtendedSelection()

* **Arguments:**
  * **args** (`[ ]`)
* **Return type:**
  `void`

Returns a function that executes an atomic transaction for updating Recoil state.

<a id="fos-fiftyone-fiftyone-fiftyone-state-useresizehandler"></a>

### useResizeHandler

### fos.useResizeHandler(handler)

* **Arguments:**
  * **handler** (`any`)
* **Return type:**
  `void`

<a id="fos-fiftyone-fiftyone-fiftyone-state-useretrycontroller"></a>

### useRetryController

### fos.useRetryController(\_\_namedParameters)

* **Arguments:**
  * **\_\_namedParameters** ([`RetryConfig`](#fos.RetryConfig))
* **Return type:**
  `plugins.fiftyone.state.RetryController`

Hook which returns a [`RetryController`](#fos.RetryController) to support retryable flows.

<a id="fos-fiftyone-fiftyone-fiftyone-state-usesamplefields"></a>

### useSampleFields

### fos.useSampleFields()

* **Return type:**
  `Array<` `plugins.fiftyone.state.Field` `>`

Returns the dataset’s sample-space fields (schema metadata resolved by the
active view), sorted by field path.

<a id="fos-fiftyone-fiftyone-fiftyone-state-usesampleschema"></a>

### useSampleSchema

### fos.useSampleSchema()

* **Return type:**
  `plugins.fiftyone.state.Schema`

Get the current sample schema.

**Returns**

The field schema for the sample space

<a id="fos-fiftyone-fiftyone-fiftyone-state-usesavemodalviewport"></a>

### useSaveModalViewport

### fos.useSaveModalViewport()

* **Return type:**
  `SetAtom <  , unknown >` `<` `Array< unknown >` `,` `unknown` `>`

Setter for persisting the modal viewport (zoom/pan) state.

<a id="fos-fiftyone-fiftyone-fiftyone-state-usesavedviews"></a>

### useSavedViews

### fos.useSavedViews()

* **Return type:**
  `Object`

<a id="fos-fiftyone-fiftyone-fiftyone-state-usescenesample3d"></a>

### useSceneSample3d

### fos.useSceneSample3d()

* **Return type:**
  `plugins.fiftyone.state.ModalSample`

Sample currently used to render the visible 3D scene.

<a id="fos-fiftyone-fiftyone-fiftyone-state-useschemasettings"></a>

### useSchemaSettings

### fos.useSchemaSettings()

* **Return type:**
  `Object`

<a id="fos-fiftyone-fiftyone-fiftyone-state-usescreenshot"></a>

### useScreenshot

### fos.useScreenshot(context)

* **Arguments:**
  * **context** ()

<a id="fos-fiftyone-fiftyone-fiftyone-state-usescrollhandler"></a>

### useScrollHandler

### fos.useScrollHandler(handler)

* **Arguments:**
  * **handler** (`any`)
* **Return type:**
  `void`

<a id="fos-fiftyone-fiftyone-fiftyone-state-usesearchschemafields"></a>

### useSearchSchemaFields

### fos.useSearchSchemaFields(mergedSchema)

* **Arguments:**
  * **mergedSchema** (`Any`)
* **Return type:**
  `Object`

<a id="fos-fiftyone-fiftyone-fiftyone-state-useselectsample"></a>

### useSelectSample

### fos.useSelectSample()

### fos.selectSample()

* **Arguments:**
  * **args** (`[ sampleId , altKey ]`)
* **Return type:**
  `Promise < void >` `<` `void` `>`

Returns a function that will run the callback that was passed when
calling this hook. Useful for accessing Recoil state in response to
events.

<a id="fos-fiftyone-fiftyone-fiftyone-state-useselectedlabelids"></a>

### useSelectedLabelIds

### fos.useSelectedLabelIds()

* **Return type:**
  `ReadonlySet < string >` `<` `string` `>`

The ids of every currently selected label.

<a id="fos-fiftyone-fiftyone-fiftyone-state-useselectedmediafieldgrid"></a>

### useSelectedMediaFieldGrid

### fos.useSelectedMediaFieldGrid()

* **Return type:**
  `string`

Hook to retrieve the selected media field for the grid view.

**Returns**

The selected media field state for the grid

<a id="fos-fiftyone-fiftyone-fiftyone-state-useselectedmediafieldmodal"></a>

### useSelectedMediaFieldModal

### fos.useSelectedMediaFieldModal()

* **Return type:**
  `string`

Hook to retrieve the selected media field for the modal view.

**Returns**

The selected media field state for the modal

<a id="fos-fiftyone-fiftyone-fiftyone-state-usesession"></a>

### useSession

### fos.useSession(setter, ref)

* **Arguments:**
  * **setter** (`Setter`)
  * **ref** ([`Session`](#fos.Session))
* **Return type:**
  `void`

<a id="fos-fiftyone-fiftyone-fiftyone-state-usesessionref"></a>

### useSessionRef

### fos.useSessionRef()

* **Return type:**
  `plugins.fiftyone.state.Session`

<a id="fos-fiftyone-fiftyone-fiftyone-state-usesessionsetter"></a>

### useSessionSetter

### fos.useSessionSetter()

### fos.sessionSetter()

* **Arguments:**
  * **key** (`K`)
  * **value**
* **Return type:**
  `void`

<a id="fos-fiftyone-fiftyone-fiftyone-state-usesessionspaces"></a>

### useSessionSpaces

### fos.useSessionSpaces()

* **Return type:**
  `Array<` `any` `>`

<a id="fos-fiftyone-fiftyone-fiftyone-state-usesetdataset"></a>

### useSetDataset

### fos.useSetDataset()

* **Return type:**
  `SetterOrUpdater < string >` `<` `string` `>`

<a id="fos-fiftyone-fiftyone-fiftyone-state-usesetexpandedsample"></a>

### useSetExpandedSample

### fos.useSetExpandedSample()

### fos.setExpandedSample()

* **Arguments:**
  * **selector** ([`ModalSelector`](#fos.ModalSelector))
* **Return type:**
  `Promise < void >` `<` `void` `>`

<a id="fos-fiftyone-fiftyone-fiftyone-state-usesetgroupslice"></a>

### useSetGroupSlice

### fos.useSetGroupSlice()

* **Return type:**
  `SetterOrUpdater < string >` `<` `string` `>`

<a id="fos-fiftyone-fiftyone-fiftyone-state-usesetmodalstate"></a>

### useSetModalState

### fos.useSetModalState()

Initializer that applys relevant grid settings to the modal, e.g. sidebar
checkboxes. If no navigation is provided, next/previous in the modal is
disabled

> ### fos.setModalState()

> * **Arguments:**
>   * **args** (`[ navigation ]`)
> * **Return type:**
>   `Promise < void >` `<` `void` `>`

Returns a function that will run the callback that was passed when
calling this hook. Useful for accessing Recoil state in response to
events.

<a id="fos-fiftyone-fiftyone-fiftyone-state-usesetselected"></a>

### useSetSelected

### fos.useSetSelected()

* **Return type:**
  `SetterOrUpdater < Map >` `<` `Map < string , SelectionType >` `>`

<a id="fos-fiftyone-fiftyone-fiftyone-state-usesetselectedfieldsstage"></a>

### useSetSelectedFieldsStage

### fos.useSetSelectedFieldsStage()

* **Return type:**
  `Object`

**Returns**

a callback to set the selectedFields stage

<a id="fos-fiftyone-fiftyone-fiftyone-state-usesetselectedlabels"></a>

### useSetSelectedLabels

### fos.useSetSelectedLabels()

* **Return type:**
  `SetterOrUpdater <  >` `<` `Array< SelectedLabel >` `>`

<a id="fos-fiftyone-fiftyone-fiftyone-state-usesetsessioncolorscheme"></a>

### useSetSessionColorScheme

### fos.useSetSessionColorScheme()

* **Return type:**
  `SetterOrUpdater < ColorSchemeInput >` `<` `plugins.fiftyone.state.ColorSchemeInput` `>`

<a id="fos-fiftyone-fiftyone-fiftyone-state-usesetsidebarexpanded"></a>

### useSetSidebarExpanded

### fos.useSetSidebarExpanded(params)

* **Arguments:**
  * **params** (`SidebarExpandedParams`)
* **Return type:**
  `SetterOrUpdater < boolean >` `<` `boolean` `>`

Returns a setter for the expanded state of the given sidebar path.
Use this when the component only needs to write, not read.

**Example**

```typescript
const setExpanded = useSetSidebarExpanded({ path: "ground_truth", modal: false });
setExpanded(true);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-usesetspaces"></a>

### useSetSpaces

### fos.useSetSpaces()

* **Return type:**
  `SetterOrUpdater < SpaceNodeJSON >` `<` `plugins.fiftyone.state.SpaceNodeJSON` `>`

<a id="fos-fiftyone-fiftyone-fiftyone-state-usesetview"></a>

### useSetView

### fos.useSetView()

* **Return type:**
  `SetterOrUpdater <  >` `<` `Array< Stage >` `>`

<a id="fos-fiftyone-fiftyone-fiftyone-state-usesidebarexpanded"></a>

### useSidebarExpanded

### fos.useSidebarExpanded(params)

* **Arguments:**
  * **params** (`SidebarExpandedParams`)
* **Return type:**
  `boolean`

Returns whether the given sidebar path is currently expanded.

Prefer this over reading `fos.sidebarExpanded` directly so that
call sites remain decoupled from the underlying recoil atom.

<a id="fos-fiftyone-fiftyone-fiftyone-state-usesidebarexpandedstate"></a>

### useSidebarExpandedState

### fos.useSidebarExpandedState(params)

* **Arguments:**
  * **params** (`SidebarExpandedParams`)
* **Return type:**
  `[` `boolean` `,` `( value :  )` `]`

Returns `[expanded, setExpanded]` for the given sidebar path —
the standard read/write accessor for toggling field expansion.

**Example**

```typescript
const [expanded, setExpanded] = useSidebarExpandedState({ path, modal });
setExpanded((v) => !v);
```

<a id="fos-fiftyone-fiftyone-fiftyone-state-usesimilaritytype"></a>

### useSimilarityType

### fos.useSimilarityType(props)

* **Arguments:**
  * **props** (`SimilarityTypeProp`)
* **Return type:**
  `Object`

<a id="fos-fiftyone-fiftyone-fiftyone-state-usestableactive3dsamplesmap"></a>

### useStableActive3dSamplesMap

### fos.useStableActive3dSamplesMap()

* **Return type:**
  `Record < string , ModalSample >` `<` `string` `,` `plugins.fiftyone.state.ModalSample` `>`

Like useActive3dSamplesMap but holds the last settled value while loading.
Returns {} before the first value settles.

<a id="fos-fiftyone-fiftyone-fiftyone-state-usestableactivefo3dslice"></a>

### useStableActiveFo3dSlice

### fos.useStableActiveFo3dSlice()

* **Return type:**
  `string`

Like useActiveFo3dSlice but holds the last settled value while loading.
Returns null before the first value settles (same as selector default).

<a id="fos-fiftyone-fiftyone-fiftyone-state-usestableall3dsamplesmap"></a>

### useStableAll3dSamplesMap

### fos.useStableAll3dSamplesMap()

* **Return type:**
  `Record < string , ModalSample >` `<` `string` `,` `plugins.fiftyone.state.ModalSample` `>`

Like useAll3dSamplesMap but holds the last settled value while loading.
Returns {} before the first value settles.

<a id="fos-fiftyone-fiftyone-fiftyone-state-usestableinteraction3dsample"></a>

### useStableInteraction3dSample

### fos.useStableInteraction3dSample()

* **Return type:**
  `plugins.fiftyone.state.ModalSample`

Like useInteraction3dSample but holds the last settled value while loading.
Returns undefined before the first value settles — callers must guard.

<a id="fos-fiftyone-fiftyone-fiftyone-state-usestablemodalsample"></a>

### useStableModalSample

### fos.useStableModalSample()

* **Return type:**
  `plugins.fiftyone.state.ModalSample`

Like [`useModalSample`](#fos.useModalSample) but holds the last settled value across loading
transitions so consumers don’t lose the sample mid-navigation. Returns
`undefined` before the first value settles. Treats `GroupSampleNotFound` as
a non-error (sparse groups legitimately lack a sample on the active slice);
all other errors still bubble.

<a id="fos-fiftyone-fiftyone-fiftyone-state-usestablerealfo3dslices"></a>

### useStableRealFo3dSlices

### fos.useStableRealFo3dSlices()

* **Return type:**
  `Array<` `string` `>`

Like useRealFo3dSlices but holds the last settled value while loading.
Returns [] before the first value settles.

<a id="fos-fiftyone-fiftyone-fiftyone-state-usestablescenesample3d"></a>

### useStableSceneSample3d

### fos.useStableSceneSample3d()

* **Return type:**
  `plugins.fiftyone.state.ModalSample`

Like useSceneSample3d but holds the last settled value while the selector is
re-fetching (e.g. during group-sample navigation). The 3D scene stays visible
instead of flickering to “Pixelating…”. Returns undefined before the first
value settles — callers must guard (return null when undefined).

<a id="fos-fiftyone-fiftyone-fiftyone-state-usesynctemporaltagresults"></a>

### useSyncTemporalTagResults

### fos.useSyncTemporalTagResults()

* **Return type:**
  `void`

Loads temporal-tag value counts for the active dataset into the results atom.
Encapsulates all Recoil + fetch access so the filter component never touches
atoms directly. Call once from the temporal-tags sidebar filter.

<a id="fos-fiftyone-fiftyone-fiftyone-state-usetemporaltagcolor"></a>

### useTemporalTagColor

### fos.useTemporalTagColor()

Domain hook for the [`temporalTagColor`](#fos.temporalTagColor) resolver: returns a
`(value: string) => string` mapping each temporal-tag name to its color.
Consume this from components/hooks instead of reading the selector directly.

> ### fos.temporalTagColor()

> * **Arguments:**
>   * **value** ([`string`](#fos.string))
> * **Return type:**
>   `string`

<a id="fos-fiftyone-fiftyone-fiftyone-state-usetemporaltagvalues"></a>

### useTemporalTagValues

### fos.useTemporalTagValues()

* **Return type:**
  `Array<` `string` `>`

Every temporal-tag value defined on the current dataset. Populated by
[`useSyncTemporalTagResults`](#fos.useSyncTemporalTagResults); empty until that has run, so callers
that need it should call the sync hook too.

<a id="fos-fiftyone-fiftyone-fiftyone-state-usetemporaltagsfieldactive"></a>

### useTemporalTagsFieldActive

### fos.useTemporalTagsFieldActive()

* **Return type:**
  `boolean`

Whether the temporal-tags pseudo-field is enabled in the grid sidebar.

<a id="fos-fiftyone-fiftyone-fiftyone-state-usetimezone"></a>

### useTimeZone

### fos.useTimeZone()

* **Return type:**
  `string`

Returns the app display timezone (`fo.config.timezone`, “UTC” by default)

<a id="fos-fiftyone-fiftyone-fiftyone-state-usetimeout"></a>

### useTimeout

### fos.useTimeout(time)

* **Arguments:**
  * **time** (`number`)
* **Return type:**
  `boolean`

<a id="fos-fiftyone-fiftyone-fiftyone-state-usetoclips"></a>

### useToClips

### fos.useToClips()

### fos.toClips()

* **Arguments:**
  * **args** (`[ field ]`)
* **Return type:**
  `Promise < void >` `<` `void` `>`

Returns a function that will run the callback that was passed when
calling this hook. Useful for accessing Recoil state in response to
events.

<a id="fos-fiftyone-fiftyone-fiftyone-state-usetoevaluationpatches"></a>

### useToEvaluationPatches

### fos.useToEvaluationPatches()

### fos.toEvaluationPatches()

* **Arguments:**
  * **args** (`[ evaluation ]`)
* **Return type:**
  `Promise < void >` `<` `void` `>`

Returns a function that will run the callback that was passed when
calling this hook. Useful for accessing Recoil state in response to
events.

<a id="fos-fiftyone-fiftyone-fiftyone-state-usetopatches"></a>

### useToPatches

### fos.useToPatches()

### fos.toPatches()

* **Arguments:**
  * **args** (`[ field ]`)
* **Return type:**
  `Promise < void >` `<` `void` `>`

Returns a function that will run the callback that was passed when
calling this hook. Useful for accessing Recoil state in response to
events.

<a id="fos-fiftyone-fiftyone-fiftyone-state-usetooltip"></a>

### useTooltip

### fos.useTooltip()

* **Return type:**
  `Object`

<a id="fos-fiftyone-fiftyone-fiftyone-state-useunboundstate"></a>

### useUnboundState

### fos.useUnboundState(value)

* **Arguments:**
  * **value** (`State`)
* **Return type:**
  `plugins.fiftyone.state.State`

The hook can be used to get the latest value of the state without
re-rendering the component.

<a id="fos-fiftyone-fiftyone-fiftyone-state-useunboundstateref"></a>

### useUnboundStateRef

### fos.useUnboundStateRef(value)

* **Arguments:**
  * **value** (`State`)
* **Return type:**
  `MutableRefObject < State >` `<` `plugins.fiftyone.state.State` `>`

<a id="fos-fiftyone-fiftyone-fiftyone-state-useupdatesamples"></a>

### useUpdateSamples

### fos.useUpdateSamples()

### fos.updateSamples()

* **Arguments:**
  * **samples** (`Array`)
* **Return type:**
  `void`

<a id="fos-fiftyone-fiftyone-fiftyone-state-usevaluecolor"></a>

### useValueColor

### fos.useValueColor(path)

* **Arguments:**
  * **path** ([`string`](#fos.string))

Domain hook for [`valueColor`](#id12): returns a `(value) => color` for `path`.

> ### fos.valueColor()

> * **Arguments:**
>   * **value** ([`string`](#fos.string))
> * **Return type:**
>   `string`

<a id="fos-fiftyone-fiftyone-fiftyone-state-usewindowsize"></a>

### useWindowSize

### fos.useWindowSize()

* **Return type:**
  `Object`

## Functions

<a id="fos-fiftyone-fiftyone-fiftyone-state-activefield"></a>

### activeField

### fos.activeField(params)

* **Arguments:**
  * **params** (`Object`)
  * **params.modal** ([`boolean`](#fos.boolean)) – Whether the field is in a modal or not
  * **params.path** ([`string`](#fos.string)) – The path of the field
* **Return type:**
  `RecoilState < boolean >` `<` `boolean` `>`

Get or set the active state of a field.

<a id="fos-fiftyone-fiftyone-fiftyone-state-activefields"></a>

### activeFields

### fos.activeFields(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.expanded** ([`boolean`](#fos.boolean))
  * **param.modal** ([`boolean`](#fos.boolean))
* **Return type:**
  `RecoilState <  >` `<` `Array< string >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-activefiltervalues"></a>

### activeFilterValues

### fos.activeFilterValues(current, path)

* **Arguments:**
  * **current** ([`Filters`](#fos.Filters))
  * **path** ([`string`](#fos.string))
* **Return type:**
  `Array<` `string` `>`

String values a filter set is currently filtering *for* at `path` —
inclusive selections only, empty when the filter is unset or set to exclude.

The shape read here is the string filter’s (`{ values, exclude }`), so this
applies to any path whose sidebar filter is a string filter. Non-string
filters at `path` yield an empty list rather than an error: a caller asking
“which values is this filtered to” gets “none it can name”.

Lives in its own module, free of the sidebar and graphQL machinery
`filters.ts` pulls in, so a test can run the real rule instead of standing a
copy of it up in a mock.

<a id="fos-fiftyone-fiftyone-fiftyone-state-activelabelfields"></a>

### activeLabelFields

### fos.activeLabelFields(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.space** (`SPACE`)
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Array< string >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-activelabelpaths"></a>

### activeLabelPaths

### fos.activeLabelPaths(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.space** (`SPACE`)
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Array< string >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-activelabels"></a>

### activeLabels

### fos.activeLabels(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.expanded** ([`boolean`](#fos.boolean))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Array< LabelData >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-aggregation"></a>

### aggregation

### fos.aggregation(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.extended** ([`boolean`](#fos.boolean))
  * **param.isQueryPerformance** ([`boolean`](#fos.boolean))
  * **param.mixed** ([`boolean`](#fos.boolean))
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Union<  ,  ,  ,  ,  ,  >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-aggregationquery"></a>

### aggregationQuery

### fos.aggregationQuery(parameter)

* **Arguments:**
  * **parameter** (`Object`)
  * **parameter.dynamicGroup** (`SerializableParam`)
  * **parameter.extended** ([`boolean`](#fos.boolean))
  * **parameter.isQueryPerformance** ([`boolean`](#fos.boolean))
  * **parameter.mixed** ([`boolean`](#fos.boolean))
  * **parameter.modal** ([`boolean`](#fos.boolean))
  * **parameter.paths** (`Array`)
  * **parameter.root** ([`boolean`](#fos.boolean))
  * **parameter.useSelection** ([`boolean`](#fos.boolean))
* **Return type:**
  `RecoilState <  >` `<` `Array< Aggregation >` `>`

GraphQL Selector Family for Aggregations.

<a id="fos-fiftyone-fiftyone-fiftyone-state-aggregations"></a>

### aggregations

### fos.aggregations(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.extended** ([`boolean`](#fos.boolean))
  * **param.isQueryPerformance** ([`boolean`](#fos.boolean))
  * **param.mixed** ([`boolean`](#fos.boolean))
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.paths** (`Array`)
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Array< Aggregation >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-appconfigoption"></a>

### appConfigOption

### fos.appConfigOption(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.key** ([`string`](#fos.string))
  * **param.modal** ([`boolean`](#fos.boolean))
* **Return type:**
  `RecoilState < any >` `<` `any` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-boolexcludeatom"></a>

### boolExcludeAtom

### fos.boolExcludeAtom(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `RecoilState < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-boolismatchingatom"></a>

### boolIsMatchingAtom

### fos.boolIsMatchingAtom(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `RecoilState < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-boolean"></a>

### boolean

### fos.boolean(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `( value : boolean )` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-booleancountresults"></a>

### booleanCountResults

### fos.booleanCountResults(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.extended** ([`boolean`](#fos.boolean))
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Object` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-booleanresults"></a>

### booleanResults

### fos.booleanResults(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.extended** ([`boolean`](#fos.boolean))
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Object` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-booleanselectedvaluesatom"></a>

### booleanSelectedValuesAtom

### fos.booleanSelectedValuesAtom(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `RecoilState <  >` `<` `Array< string >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-boundedcount"></a>

### boundedCount

### fos.boundedCount(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.extended** ([`boolean`](#fos.boolean))
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < number >` `<` `number` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-bounds"></a>

### bounds

### fos.bounds(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.extended** ([`boolean`](#fos.boolean))
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `[ number , number ]` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-boundsatom"></a>

### boundsAtom

### fos.boundsAtom(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < Range >` `<` `plugins.fiftyone.state.Range` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-buildschema"></a>

### buildSchema

### fos.buildSchema(sampleFields, frameFields)

* **Arguments:**
  * **sampleFields** (`Array`)
  * **frameFields** (`Array`)
* **Return type:**
  `plugins.fiftyone.state.Schema`

<a id="fos-fiftyone-fiftyone-fiftyone-state-cantoggleshownlabelattributes"></a>

### canToggleShownLabelAttributes

### fos.canToggleShownLabelAttributes(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < boolean >` `<` `boolean` `>`

Whether toggling shown attributes for a label field changes what is
rendered in the current context: classification-style tag overlays render
everywhere, detection box headers and polyline tags render in the modal, and
spatial patch labels render as grid tag overlays in patches views.

<a id="fos-fiftyone-fiftyone-fiftyone-state-clearextendedselectionmirror"></a>

### clearExtendedSelectionMirror

### fos.clearExtendedSelectionMirror()

* **Return type:**
  `void`

Clears what `read` hands back, so a reset survives the next update.

<a id="fos-fiftyone-fiftyone-fiftyone-state-collapsefields"></a>

### collapseFields

### fos.collapseFields(paths)

* **Arguments:**
  * **paths** (`any`)
* **Return type:**
  `Array<` `plugins.fiftyone.state.StrictField` `>`

<a id="fos-fiftyone-fiftyone-fiftyone-state-computecoordinates"></a>

### computeCoordinates

### fos.computeCoordinates(\_\_namedParameters)

* **Arguments:**
  * **\_\_namedParameters** (`[ number , number ]`)
* **Return type:**
  `Object`

<a id="fos-fiftyone-fiftyone-fiftyone-state-consumegridcustomrendererfailover"></a>

### consumeGridCustomRendererFailover

### fos.consumeGridCustomRendererFailover()

* **Return type:**
  `void`

Records that the reload these failures triggered has landed. They stay in
force for this page load; the next one drops them and retries the renderer.

<a id="fos-fiftyone-fiftyone-fiftyone-state-converttargets"></a>

### convertTargets

### fos.convertTargets(targets)

* **Arguments:**
  * **targets** (`Array`)
* **Return type:**
  `Any`

<a id="fos-fiftyone-fiftyone-fiftyone-state-count"></a>

### count

### fos.count(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.extended** ([`boolean`](#fos.boolean))
  * **param.lightning** ([`boolean`](#fos.boolean))
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
  * **param.value** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < number >` `<` `number` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-countvalues"></a>

### countValues

### fos.countValues(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Union<  ,  >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-counts"></a>

### counts

### fos.counts(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.extended** ([`boolean`](#fos.boolean))
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Any` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-croptocontent"></a>

### cropToContent

### fos.cropToContent(param)

* **Arguments:**
  * **param** ([`boolean`](#fos.boolean))
* **Return type:**
  `RecoilState < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-cumulativecounts"></a>

### cumulativeCounts

### fos.cumulativeCounts(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.embeddedDocType** (`Union`)
  * **param.extended** ([`boolean`](#fos.boolean))
  * **param.ftype** (`Union`)
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Any` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-cumulativevalues"></a>

### cumulativeValues

### fos.cumulativeValues(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.embeddedDocType** (`Union`)
  * **param.extended** ([`boolean`](#fos.boolean))
  * **param.ftype** (`Union`)
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Array< string >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-currentslice"></a>

### currentSlice

### fos.currentSlice(param)

* **Arguments:**
  * **param** ([`boolean`](#fos.boolean))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < string >` `<` `string` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-currentslices"></a>

### currentSlices

### fos.currentSlices(param)

* **Arguments:**
  * **param** ([`boolean`](#fos.boolean))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Array< string >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-dbpath"></a>

### dbPath

### fos.dbPath(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < string >` `<` `string` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-deferrer"></a>

### deferrer

### fos.deferrer(initialized)

* **Arguments:**
  * **initialized** ()

<a id="fos-fiftyone-fiftyone-fiftyone-state-dismissgridcustomrendererfailoverbanner"></a>

### dismissGridCustomRendererFailoverBanner

### fos.dismissGridCustomRendererFailoverBanner(datasetName)

* **Arguments:**
  * **datasetName** ([`string`](#fos.string))
* **Return type:**
  `void`

Hides the warning banner for a dataset without clearing fail-open mode.
Dismissing the banner is purely a UI choice and should not re-enable the
crashing renderer for that dataset.

<a id="fos-fiftyone-fiftyone-fiftyone-state-distribution"></a>

### distribution

### fos.distribution(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Union<  ,  ,  ,  ,  >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-dynamicgrouppageselector"></a>

### dynamicGroupPageSelector

### fos.dynamicGroupPageSelector(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.value** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `( cursor : number ,  pageSize : number )` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-dynamicgroupselementcount"></a>

### dynamicGroupsElementCount

### fos.dynamicGroupsElementCount(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.value** (`SerializableParam`)
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < any >` `<` `any` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-dynamicgroupsviewmode"></a>

### dynamicGroupsViewMode

### fos.dynamicGroupsViewMode(param)

* **Arguments:**
  * **param** ([`boolean`](#fos.boolean))
* **Return type:**
  `RecoilState <  >` `<` `Union<  ,  ,  >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-dynamicgroupsviewmodestore"></a>

### dynamicGroupsViewModeStore

### fos.dynamicGroupsViewModeStore(param)

* **Arguments:**
  * **param** ([`boolean`](#fos.boolean))
* **Return type:**
  `RecoilState <  >` `<` `Union<  ,  ,  >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-ensurecolorscheme"></a>

### ensureColorScheme

### fos.ensureColorScheme(colorScheme, appConfig)

* **Arguments:**
  * **colorScheme** (`any`)
  * **appConfig** (`Object`)
  * **appConfig.colorBy** (`ColorBy`)
  * **appConfig.colorPool** (`readonly`)
  * **appConfig.colorscale** ([`string`](#fos.string))
  * **appConfig.multicolorKeypoints** ([`boolean`](#fos.boolean))
  * **appConfig.showSkeletons** ([`boolean`](#fos.boolean))
* **Return type:**
  `plugins.fiftyone.state.ColorSchemeInput`

<a id="fos-fiftyone-fiftyone-fiftyone-state-excludedpathsstate"></a>

### excludedPathsState

### fos.excludedPathsState(param)

* **Arguments:**
  * **param** (`SerializableParam`)
* **Return type:**
  `RecoilState < unknown >` `<` `unknown` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-expandpath"></a>

### expandPath

### fos.expandPath(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < string >` `<` `string` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-falseatom"></a>

### falseAtom

### fos.falseAtom(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.isFiltering** ([`boolean`](#fos.boolean))
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `RecoilState < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-fetchtemporaltagresults"></a>

### fetchTemporalTagResults

### fos.fetchTemporalTagResults(datasetId)

* **Arguments:**
  * **datasetId** ([`string`](#fos.string))
* **Return type:**
  `Promise < TemporalTagResults >` `<` `plugins.fiftyone.state.TemporalTagResults` `>`

Fetches temporal-tag value counts for a dataset from the multimodal tags
REST endpoint and shapes them for the string filter. Mirrors the
`@fiftyone/multimodal` client’s `countDatasetTemporalTags` — duplicated here
because `@fiftyone/state` cannot depend on `@fiftyone/multimodal`.

<a id="fos-fiftyone-fiftyone-fiftyone-state-field"></a>

### field

### fos.field(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < Field >` `<` `plugins.fiftyone.state.Field` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-fieldhasvisibilitysetting"></a>

### fieldHasVisibilitySetting

### fos.fieldHasVisibilitySetting(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-fieldisfiltered"></a>

### fieldIsFiltered

### fos.fieldIsFiltered(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-fieldpath"></a>

### fieldPath

### fos.fieldPath(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < string >` `<` `string` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-fieldpaths"></a>

### fieldPaths

### fos.fieldPaths(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.embeddedDocType** (`Union`)
  * **param.ftype** (`Union`)
  * **param.path** ([`string`](#fos.string))
  * **param.space** (`SPACE`)
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Array< string >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-fieldschema"></a>

### fieldSchema

### fos.fieldSchema(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.space** (`SPACE`)
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < Schema >` `<` `plugins.fiftyone.state.Schema` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-fieldtype"></a>

### fieldType

### fos.fieldType(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.path** ([`string`](#fos.string))
  * **param.useListSubfield** ([`boolean`](#fos.boolean))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < string >` `<` `string` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-fields"></a>

### fields

### fos.fields(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.embeddedDocType** (`Union`)
  * **param.ftype** (`Union`)
  * **param.path** ([`string`](#fos.string))
  * **param.space** (`SPACE`)
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Array< Field >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-fieldsmatcher"></a>

### fieldsMatcher

### fos.fieldsMatcher(fields, matcher, present, prefix)

* **Arguments:**
  * **fields** (`Array`)
  * **matcher** (`( field : StrictField )`)
  * **present** (`Set`)
  * **prefix** ([`string`](#fos.string))
* **Return type:**
  `Array<` `string` `>`

<a id="fos-fiftyone-fiftyone-fiftyone-state-filter"></a>

### filter

### fos.filter(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `RecoilState < Filter >` `<` `plugins.fiftyone.state.Filter` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-filterfields"></a>

### filterFields

### fos.filterFields(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Array< string >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-filterpaths"></a>

### filterPaths

### fos.filterPaths(paths, schema)

* **Arguments:**
  * **paths** (`Array`)
  * **schema** (`Schema`)
* **Return type:**
  `Array<` `string` `>`

<a id="fos-fiftyone-fiftyone-fiftyone-state-filtersearch"></a>

### filterSearch

### fos.filterSearch(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Object` `>`

Given a field path, return a set a field filters and index name that would
result in a optimized IXSCAN, if possible

<a id="fos-fiftyone-fiftyone-fiftyone-state-filterview"></a>

### filterView

### fos.filterView(stages)

* **Arguments:**
  * **stages** (`Array`)
* **Return type:**
  `string`

<a id="fos-fiftyone-fiftyone-fiftyone-state-gatheredpaths"></a>

### gatheredPaths

### fos.gatheredPaths(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.embeddedDocType** (`Union`)
  * **param.ftype** (`Union`)
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Array< any >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-generatebooleanselectorfamily"></a>

### generateBooleanSelectorFamily

### fos.generateBooleanSelectorFamily(key)

* **Arguments:**
  * **key** ()

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-generateselectorfamily"></a>

### generateSelectorFamily

### fos.generateSelectorFamily(key)

* **Arguments:**
  * **key** ()

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-getbrowserstorageeffectforkey"></a>

### getBrowserStorageEffectForKey

### fos.getBrowserStorageEffectForKey(key, props)

> * **param key:**
> * **param props:**
> * **param props.map:**
> * **param props.prependDatasetNameInKey:**
>   If true, prepends the dataset name to the storage key.

This allows per-dataset storage isolation. Defaults to false
: * **param props.sessionStorage:**
    If true, uses sessionStorage instead of localStorage. Defaults to false
  * **param props.useJsonSerialization:**
    If true, uses JSON.stringify/parse for serialization.

Otherwise uses simple string conversion. Defaults to false
: * **param props.valueClass:**
    The type of value being stored. Affects how the value is serialized/deserialized.

Options: “string”, “stringArray”, “number”, “boolean”. Defaults to “string”
: * **type key:**
    string
  * **type props:**
    Object
  * **type props.map:**
    ( value : unknown )
  * **type props.prependDatasetNameInKey:**
    boolean
  * **type props.sessionStorage:**
    boolean
  * **type props.useJsonSerialization:**
    boolean
  * **type props.valueClass:**
    Union<  ,  ,  ,  >
  * **rtype:**
    `AtomEffect < T >` `<` `plugins.fiftyone.state.T` `>`

Recoil effect that syncs atom state with browser storage (localStorage or sessionStorage).
Automatically loads the value from storage on initialization and saves it on every set.

**Returns**

A Recoil atom effect that syncs the atom with browser storage

<a id="fos-fiftyone-fiftyone-fiftyone-state-getcurrentenvironment"></a>

### getCurrentEnvironment

### fos.getCurrentEnvironment()

* **Return type:**
  `default`

<a id="fos-fiftyone-fiftyone-fiftyone-state-getembeddedlabelfields"></a>

### getEmbeddedLabelFields

### fos.getEmbeddedLabelFields(fields, prefix)

* **Arguments:**
  * **fields** (`Array`)
  * **prefix** ([`string`](#fos.string))
* **Return type:**
  `Array<` `string` `>`

<a id="fos-fiftyone-fiftyone-fiftyone-state-getenvironment"></a>

### getEnvironment

### fos.getEnvironment()

* **Return type:**
  `default`

<a id="fos-fiftyone-fiftyone-fiftyone-state-getgridcustomrendererfailover"></a>

### getGridCustomRendererFailover

### fos.getGridCustomRendererFailover(datasetName)

* **Arguments:**
  * **datasetName** ([`string`](#fos.string))
* **Return type:**
  `plugins.fiftyone.state.GridCustomRendererFailure`

Returns the recorded failure for a dataset in the current browser session.

<a id="fos-fiftyone-fiftyone-fiftyone-state-getgridcustomrendererfailoverforcedsubscription"></a>

### getGridCustomRendererFailoverForcedSubscription

### fos.getGridCustomRendererFailoverForcedSubscription()

* **Return type:**
  `string`

Returns the replacement synced subscription used after a renderer crash. The
disable state is dataset-scoped, but subscription repair still happens at
the tab level because the poisoned sync channel is shared by the whole app.

<a id="fos-fiftyone-fiftyone-fiftyone-state-getgridcustomrendererfailoversnapshot"></a>

### getGridCustomRendererFailoverSnapshot

### fos.getGridCustomRendererFailoverSnapshot()

* **Return type:**
  `plugins.fiftyone.state.GridCustomRendererFailoverSnapshot`

Returns the current fail-open snapshot for this browser session.

<a id="fos-fiftyone-fiftyone-fiftyone-state-getlabelfields"></a>

### getLabelFields

### fos.getLabelFields(fields, prefix)

* **Arguments:**
  * **fields** (`Array`)
  * **prefix** ([`string`](#fos.string))
* **Return type:**
  `Array<` `string` `>`

<a id="fos-fiftyone-fiftyone-fiftyone-state-getnormalizedurls"></a>

### getNormalizedUrls

### fos.getNormalizedUrls(urls)

* **Arguments:**
  * **urls** (`Union`)
* **Return type:**
  `Any`

<a id="fos-fiftyone-fiftyone-fiftyone-state-getqueryperformancepath"></a>

### getQueryPerformancePath

### fos.getQueryPerformancePath()

* **Return type:**
  `Object`

<a id="fos-fiftyone-fiftyone-fiftyone-state-getsamplesrc"></a>

### getSampleSrc

### fos.getSampleSrc(url)

* **Arguments:**
  * **url** ([`string`](#fos.string))
* **Return type:**
  `string`

<a id="fos-fiftyone-fiftyone-fiftyone-state-getsessionref"></a>

### getSessionRef

### fos.getSessionRef()

* **Return type:**
  `plugins.fiftyone.state.Session`

<a id="fos-fiftyone-fiftyone-fiftyone-state-getstagekwarg"></a>

### getStageKwarg

### fos.getStageKwarg(stage, key)

* **Arguments:**
  * **stage** ([`Stage`](#fos.Stage))
  * **key** ([`string`](#fos.string))
* **Return type:**
  `plugins.fiftyone.state.T`

Helper to extract a kwarg value from a view stage’s kwargs array.
kwargs are stored as arrays of [key, value] tuples.

<a id="fos-fiftyone-fiftyone-fiftyone-state-gridsortbystore"></a>

### gridSortByStore

### fos.gridSortByStore(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `RecoilState < string >` `<` `string` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-gridsortdescendingstore"></a>

### gridSortDescendingStore

### fos.gridSortDescendingStore(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `RecoilState < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-groupfilter"></a>

### groupFilter

### fos.groupFilter(field)

* **Arguments:**
  * **field** (`StrictField`)
* **Return type:**
  `boolean`

<a id="fos-fiftyone-fiftyone-fiftyone-state-grouphassampleonslice"></a>

### groupHasSampleOnSlice

### fos.groupHasSampleOnSlice(parameter)

* **Arguments:**
  * **parameter** (`Object`)
  * **parameter.groupId** ([`string`](#fos.string))
  * **parameter.slice** ([`string`](#fos.string))
* **Return type:**
  `RecoilState < boolean >` `<` `boolean` `>`

<a id="fos-fiftyone-fiftyone-fiftyone-state-groupisempty"></a>

### groupIsEmpty

### fos.groupIsEmpty(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.group** ([`string`](#fos.string))
  * **param.modal** ([`boolean`](#fos.boolean))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-grouplength"></a>

### groupLength

### fos.groupLength(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.group** ([`string`](#fos.string))
  * **param.modal** ([`boolean`](#fos.boolean))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < number >` `<` `number` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-groupsamples"></a>

### groupSamples

### fos.groupSamples(parameter)

* **Arguments:**
  * **parameter** (`Object`)
  * **parameter.count** (`number`)
  * **parameter.paginationData** ([`boolean`](#fos.boolean))
  * **parameter.slices** (`Array`)
* **Return type:**
  `RecoilState <  >` `<` `Array< ModalSample >` `>`

<a id="fos-fiftyone-fiftyone-fiftyone-state-groupshown"></a>

### groupShown

### fos.groupShown(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.group** ([`string`](#fos.string))
  * **param.loading** ([`boolean`](#fos.boolean))
  * **param.modal** ([`boolean`](#fos.boolean))
* **Return type:**
  `RecoilState < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-groupstatistics"></a>

### groupStatistics

### fos.groupStatistics(param)

* **Arguments:**
  * **param** ([`boolean`](#fos.boolean))
* **Return type:**
  `RecoilState <  >` `<` `Union<  ,  >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-hasfieldfilters"></a>

### hasFieldFilters

### fos.hasFieldFilters(param)

* **Arguments:**
  * **param** ([`boolean`](#fos.boolean))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < boolean >` `<` `boolean` `>`

Field filters alone — the only input an aggregation’s `extended` flag
controls. An extended selection (grid checkboxes, a plot lasso, an override
stage) rides in `extendedStages`, which every aggregation sends whether or
not it is extended, so counting it as a filter made the extended
aggregation a byte-identical twin of the unextended one.

<a id="fos-fiftyone-fiftyone-fiftyone-state-hasfilters"></a>

### hasFilters

### fos.hasFilters(param)

* **Arguments:**
  * **param** ([`boolean`](#fos.boolean))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-hasvisibility"></a>

### hasVisibility

### fos.hasVisibility(param)

* **Arguments:**
  * **param** ([`boolean`](#fos.boolean))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-helperfunction"></a>

### helperFunction

### fos.helperFunction(value, exclude, start, end, none, inf, ninf, nan)

* **Arguments:**
  * **value** (`Union`)
  * **exclude** ([`boolean`](#fos.boolean))
  * **start** (`number`)
  * **end** (`number`)
  * **none** ([`boolean`](#fos.boolean))
  * **inf** ([`boolean`](#fos.boolean))
  * **ninf** ([`boolean`](#fos.boolean))
  * **nan** ([`boolean`](#fos.boolean))
* **Return type:**
  `boolean`

<a id="fos-fiftyone-fiftyone-fiftyone-state-hiddenfieldlabels"></a>

### hiddenFieldLabels

### fos.hiddenFieldLabels(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Array< string >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-histogramvalues"></a>

### histogramValues

### fos.histogramValues(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Union<  ,  ,  >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-imavidlookerstate"></a>

### imaVidLookerState

### fos.imaVidLookerState(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `RecoilState < any >` `<` `any` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-imavidstorekey"></a>

### imaVidStoreKey

### fos.imaVidStoreKey(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.groupByFieldValue** ([`string`](#fos.string))
  * **param.modal** ([`boolean`](#fos.boolean))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < string >` `<` `string` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-indexedpaths"></a>

### indexedPaths

### fos.indexedPaths(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.path** ([`string`](#fos.string))
  * **param.withFilters** ([`boolean`](#fos.boolean))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Array< string >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-indexesbypath"></a>

### indexesByPath

### fos.indexesByPath(param)

* **Arguments:**
  * **param** (`Array`)
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Array< string >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-iscompoundindexed"></a>

### isCompoundIndexed

### fos.isCompoundIndexed(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-isdisabledcheckboxpath"></a>

### isDisabledCheckboxPath

### fos.isDisabledCheckboxPath(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-isdisabledfilterpath"></a>

### isDisabledFilterPath

### fos.isDisabledFilterPath(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-isdisabledframefilterpath"></a>

### isDisabledFrameFilterPath

### fos.isDisabledFrameFilterPath(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-isfilterdefault"></a>

### isFilterDefault

### fos.isFilterDefault(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-isframefield"></a>

### isFrameField

### fos.isFrameField(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-isgridcustomrendererfailopen"></a>

### isGridCustomRendererFailOpen

### fos.isGridCustomRendererFailOpen(datasetName)

* **Arguments:**
  * **datasetName** ([`string`](#fos.string))
* **Return type:**
  `boolean`

Whether custom grid renderers are disabled for the given dataset.

<a id="fos-fiftyone-fiftyone-fiftyone-state-ishoveringanylabelwithinstanceconfig"></a>

### isHoveringAnyLabelWithInstanceConfig

### fos.isHoveringAnyLabelWithInstanceConfig()

* **Return type:**
  `boolean`

Whether there are hovered instances

<a id="fos-fiftyone-fiftyone-fiftyone-state-ishoveringparticularlabelwithinstanceconfig"></a>

### isHoveringParticularLabelWithInstanceConfig

### fos.isHoveringParticularLabelWithInstanceConfig(instanceId)

* **Arguments:**
  * **instanceId** ([`string`](#fos.string))
* **Return type:**
  `boolean`

Whether there are hovered instances of a particular instance

<a id="fos-fiftyone-fiftyone-fiftyone-state-isinlistfield"></a>

### isInListField

### fos.isInListField(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-islabelpath"></a>

### isLabelPath

### fos.isLabelPath(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-islistfield"></a>

### isListField

### fos.isListField(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-ismatchingatom"></a>

### isMatchingAtom

### fos.isMatchingAtom(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `RecoilState < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-isnumericfield"></a>

### isNumericField

### fos.isNumericField(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-isobjectidfield"></a>

### isObjectIdField

### fos.isObjectIdField(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-isofdocumentfieldlist"></a>

### isOfDocumentFieldList

### fos.isOfDocumentFieldList(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-isstringfield"></a>

### isStringField

### fos.isStringField(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-keypointfilter"></a>

### keypointFilter

### fos.keypointFilter(name, embeddedDocType, filter)

* **Arguments:**
  * **name** ([`string`](#fos.string))
  * **embeddedDocType** ([`string`](#fos.string))
  * **filter** ()

<a id="fos-fiftyone-fiftyone-fiftyone-state-labelattributerow"></a>

### labelAttributeRow

### fos.labelAttributeRow(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Object` `>`

Resolve a sidebar attribute row path, e.g. “ground_truth.detections.label”,
to its label field path and attribute name, e.g. “ground_truth” and
“label”. Returns null when the path is not a label attribute.

<a id="fos-fiftyone-fiftyone-fiftyone-state-labelcount"></a>

### labelCount

### fos.labelCount(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.extended** ([`boolean`](#fos.boolean))
  * **param.modal** ([`boolean`](#fos.boolean))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < number >` `<` `number` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-labelfields"></a>

### labelFields

### fos.labelFields(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.space** (`SPACE`)
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Array< string >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-labelpath"></a>

### labelPath

### fos.labelPath(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < string >` `<` `string` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-labelpaths"></a>

### labelPaths

### fos.labelPaths(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.expanded** ([`boolean`](#fos.boolean))
  * **param.space** (`SPACE`)
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Array< string >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-labeltagcounts"></a>

### labelTagCounts

### fos.labelTagCounts(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.extended** ([`boolean`](#fos.boolean))
  * **param.modal** ([`boolean`](#fos.boolean))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Any` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-labelsmatcher"></a>

### labelsMatcher

### fos.labelsMatcher(parent)

* **Arguments:**
  * **parent** ()

<a id="fos-fiftyone-fiftyone-fiftyone-state-lightningbooleanresults"></a>

### lightningBooleanResults

### fos.lightningBooleanResults(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.extended** ([`boolean`](#fos.boolean))
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Object` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-lightningbounds"></a>

### lightningBounds

### fos.lightningBounds(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `[ number , number ]` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-lightningnonfinites"></a>

### lightningNonfinites

### fos.lightningNonfinites(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Union<  ,  >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-lightningnumericresults"></a>

### lightningNumericResults

### fos.lightningNumericResults(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Union<  ,  >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-lightningquery"></a>

### lightningQuery

### fos.lightningQuery(parameter)

* **Arguments:**
  * **parameter** (`readonly`)
* **Return type:**
  `readonly` `readonly RecoilState <  >` `<` `readonly` `>`

<a id="fos-fiftyone-fiftyone-fiftyone-state-lightningstringresults"></a>

### lightningStringResults

### fos.lightningStringResults(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.exclude** (`Array`)
  * **param.filters** (`SerializableParam`)
  * **param.index** ([`string`](#fos.string))
  * **param.maxDocumentsSearch** (`number`)
  * **param.path** ([`string`](#fos.string))
  * **param.search** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Array< string >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-listboolean"></a>

### listBoolean

### fos.listBoolean(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `( value : boolean )` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-listnumber"></a>

### listNumber

### fos.listNumber(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `( value : number )` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-liststring"></a>

### listString

### fos.listString(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `( value : string )` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-logonseteffect"></a>

### logOnSetEffect

### fos.logOnSetEffect(options)

* **Arguments:**
  * **options** (`Object`)
  * **options.logPrefix** ([`string`](#fos.string)) – Custom prefix for log messages. Defaults to “[Recoil Set]”
* **Return type:**
  `AtomEffect < T >` `<` `plugins.fiftyone.state.T` `>`

Debug effect that logs when atom value is set.

**Returns**

A Recoil atom effect that logs set operations

<a id="fos-fiftyone-fiftyone-fiftyone-state-lookeroptions"></a>

### lookerOptions

### fos.lookerOptions(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.withFilter** ([`boolean`](#fos.boolean))
* **Return type:**
  `RecoilState < Partial >` `<` `Partial < Omit >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-mapsampleresponse"></a>

### mapSampleResponse

### fos.mapSampleResponse(data)

* **Arguments:**
  * **data** (`T`)
* **Return type:**
  `plugins.fiftyone.state.T`

<a id="fos-fiftyone-fiftyone-fiftyone-state-markgridcustomrendererfailed"></a>

### markGridCustomRendererFailed

### fos.markGridCustomRendererFailed(\_\_namedParameters)

* **Arguments:**
  * **\_\_namedParameters** (`MarkGridCustomRendererFailedOptions`)
* **Return type:**
  `Object`

Records the first renderer failure for a dataset in the current browser
session.

Repeated failures on the same dataset are ignored, but a later first failure
on a different dataset will mint a fresh forced subscription so the app can
reload away from any newly poisoned sync channel.

<a id="fos-fiftyone-fiftyone-fiftyone-state-maxatom"></a>

### maxAtom

### fos.maxAtom(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
  * **param.withBounds** ([`boolean`](#fos.boolean))
* **Return type:**
  `RecoilState < number >` `<` `number` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-meetstype"></a>

### meetsType

### fos.meetsType(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.acceptLists** ([`boolean`](#fos.boolean))
  * **param.embeddedDocType** (`Union`)
  * **param.ftype** (`Union`)
  * **param.path** ([`string`](#fos.string))
  * **param.under** ([`boolean`](#fos.boolean))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-minatom"></a>

### minAtom

### fos.minAtom(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
  * **param.withBounds** ([`boolean`](#fos.boolean))
* **Return type:**
  `RecoilState < number >` `<` `number` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-modalaggregationpaths"></a>

### modalAggregationPaths

### fos.modalAggregationPaths(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.mixed** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Array< string >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-modalfilterfields"></a>

### modalFilterFields

### fos.modalFilterFields(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Array< string >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-noneatom"></a>

### noneAtom

### fos.noneAtom(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.isFiltering** ([`boolean`](#fos.boolean))
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `RecoilState < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-nonecount"></a>

### noneCount

### fos.noneCount(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.extended** ([`boolean`](#fos.boolean))
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < number >` `<` `number` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-nonfiniteatom"></a>

### nonfiniteAtom

### fos.nonfiniteAtom(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.key** (`Union`)
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `RecoilState < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-nonfinitecount"></a>

### nonfiniteCount

### fos.nonfiniteCount(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.extended** ([`boolean`](#fos.boolean))
  * **param.key** (`Nonfinite`)
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `RecoilState < number >` `<` `number` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-nonfinitedata"></a>

### nonfiniteData

### fos.nonfiniteData(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.extended** ([`boolean`](#fos.boolean))
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Union<  ,  ,  ,  >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-numgroupfieldsactive"></a>

### numGroupFieldsActive

### fos.numGroupFieldsActive(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.group** ([`string`](#fos.string))
  * **param.modal** ([`boolean`](#fos.boolean))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < number >` `<` `number` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-numgroupfieldsfiltered"></a>

### numGroupFieldsFiltered

### fos.numGroupFieldsFiltered(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.group** ([`string`](#fos.string))
  * **param.modal** ([`boolean`](#fos.boolean))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < number >` `<` `number` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-numgroupfieldsvisible"></a>

### numGroupFieldsVisible

### fos.numGroupFieldsVisible(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.group** ([`string`](#fos.string))
  * **param.modal** ([`boolean`](#fos.boolean))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < number >` `<` `number` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-numeric"></a>

### numeric

### fos.numeric(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `( value : number )` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-numericexcludeatom"></a>

### numericExcludeAtom

### fos.numericExcludeAtom(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `RecoilState < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-numericfields"></a>

### numericFields

### fos.numericFields(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Array< string >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-numericismatchingatom"></a>

### numericIsMatchingAtom

### fos.numericIsMatchingAtom(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `RecoilState < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-parentfield"></a>

### parentField

### fos.parentField(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < Field >` `<` `plugins.fiftyone.state.Field` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-pathcanbeoptimized"></a>

### pathCanBeOptimized

### fos.pathCanBeOptimized(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Union<  ,  >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-pathcolor"></a>

### pathColor

### fos.pathColor(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < string >` `<` `string` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-pathfilter"></a>

### pathFilter

### fos.pathFilter(param)

* **Arguments:**
  * **param** ([`boolean`](#fos.boolean))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < PathFilterSelector >` `<` `plugins.fiftyone.state.PathFilterSelector` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-pathhasactiveindex"></a>

### pathHasActiveIndex

### fos.pathHasActiveIndex(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-pathhasindexes"></a>

### pathHasIndexes

### fos.pathHasIndexes(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.path** ([`string`](#fos.string))
  * **param.withFilters** ([`boolean`](#fos.boolean))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-pathindex"></a>

### pathIndex

### fos.pathIndex(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.path** ([`string`](#fos.string))
  * **param.withFilters** ([`boolean`](#fos.boolean))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-pathisshown"></a>

### pathIsShown

### fos.pathIsShown(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-persistsidebargroups"></a>

### persistSidebarGroups

### fos.persistSidebarGroups(variables)

* **Arguments:**
  * **variables** (`setSidebarGroupsMutation$variables`)
* **Return type:**
  `void`

<a id="fos-fiftyone-fiftyone-fiftyone-state-primitivesmatcher"></a>

### primitivesMatcher

### fos.primitivesMatcher(field)

* **Arguments:**
  * **field** (`StrictField`)
* **Return type:**
  `boolean`

<a id="fos-fiftyone-fiftyone-fiftyone-state-pullsidebarvalue"></a>

### pullSidebarValue

### fos.pullSidebarValue(inputField, keys, input, isList)

* **Arguments:**
  * **inputField** (`Pick`)
  * **keys** (`Array`)
  * **input** (`object`)
  * **isList** ([`boolean`](#fos.boolean))
* **Return type:**
  `object`

<a id="fos-fiftyone-fiftyone-fiftyone-state-rangeatom"></a>

### rangeAtom

### fos.rangeAtom(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
  * **param.withBounds** ([`boolean`](#fos.boolean))
* **Return type:**
  `RecoilState < Range >` `<` `plugins.fiftyone.state.Range` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-readabletags"></a>

### readableTags

### fos.readableTags(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.group** (`Union`)
  * **param.modal** ([`boolean`](#fos.boolean))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Array< string >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-registerextendedselectionresetparticipant"></a>

### registerExtendedSelectionResetParticipant

### fos.registerExtendedSelectionResetParticipant(participant)

* **Arguments:**
  * **participant** ([`ExtendedSelectionResetParticipant`](#fos.ExtendedSelectionResetParticipant))

Registers a callback to join every extended-selection reset. Extensions
that publish selection artifacts of their own (atoms this package does not
know) register one so “clear the selection” clears them in the same
transaction. Returns the unregister, for HMR disposal.

> ### fos.registerExtendedSelectionResetParticipant(participant)

> * **Return type:**
>   `void`

<a id="fos-fiftyone-fiftyone-fiftyone-state-removergbproperty"></a>

### removeRgbProperty

### fos.removeRgbProperty(input)

* **Arguments:**
  * **input** (`any`)
* **Return type:**
  `any`

<a id="fos-fiftyone-fiftyone-fiftyone-state-resetextendedselectiontransaction"></a>

### resetExtendedSelectionTransaction

### fos.resetExtendedSelectionTransaction(cb)

* **Arguments:**
  * **cb** ([`ExtendedSelectionResetInterface`](#fos.ExtendedSelectionResetInterface))
* **Return type:**
  `void`

Clears every extended-selection layer inside the caller’s Recoil
transaction. Atom effects do not fire in a transaction, so the mirror the
atoms restore themselves from on fragment refetches is cleared explicitly
alongside them — any transaction that resets the atoms without this
resurrects the selection on the next dataset fragment update.

<a id="fos-fiftyone-fiftyone-fiftyone-state-resolvegroups"></a>

### resolveGroups

### fos.resolveGroups(sampleFields, frameFields, currentGroups, configGroups)

* **Arguments:**
  * **sampleFields** (`Array`)
  * **frameFields** (`Array`)
  * **currentGroups** (`Array`)
  * **configGroups** (`Array`)
* **Return type:**
  `Array<` `plugins.fiftyone.state.SidebarGroup` `>`

<a id="fos-fiftyone-fiftyone-fiftyone-state-resolvemediafieldlooker"></a>

### resolveMediaFieldLooker

### fos.resolveMediaFieldLooker(\_\_namedParameters)

* **Arguments:**
  * **\_\_namedParameters** (`ResolveMediaFieldLookerParams`)
* **Return type:**
  `Object`

Resolves the selected media source and the built-in looker that can render it.

The root sample media type and metadata describe `filepath` only. Alternate
fields are classified from their own paths so they can safely override it.

<a id="fos-fiftyone-fiftyone-fiftyone-state-resolveselectionicon"></a>

### resolveSelectionIcon

### fos.resolveSelectionIcon(selectedSamples, style, sampleId, isSelected)

* **Arguments:**
  * **selectedSamples** (`Map`)
  * **style** ([`SelectionStyle`](#fos.SelectionStyle))
  * **sampleId** ([`string`](#fos.string))
  * **isSelected** ([`boolean`](#fos.boolean))
* **Return type:**
  `Object`

<a id="fos-fiftyone-fiftyone-fiftyone-state-runextendedselectionresetparticipants"></a>

### runExtendedSelectionResetParticipants

### fos.runExtendedSelectionResetParticipants(cb)

* **Arguments:**
  * **cb** ([`ExtendedSelectionResetInterface`](#fos.ExtendedSelectionResetInterface))
* **Return type:**
  `void`

Invokes every registered participant with the caller’s transaction.

<a id="fos-fiftyone-fiftyone-fiftyone-state-sampletagcounts"></a>

### sampleTagCounts

### fos.sampleTagCounts(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.extended** ([`boolean`](#fos.boolean))
  * **param.modal** ([`boolean`](#fos.boolean))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Any` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-schemareduce"></a>

### schemaReduce

### fos.schemaReduce(schema, field)

* **Arguments:**
  * **schema** (`Schema`)
  * **field** (`StrictField`)
* **Return type:**
  `plugins.fiftyone.state.Schema`

<a id="fos-fiftyone-fiftyone-fiftyone-state-selectedmediafield"></a>

### selectedMediaField

### fos.selectedMediaField(param)

* **Arguments:**
  * **param** ([`boolean`](#fos.boolean))
* **Return type:**
  `RecoilState < string >` `<` `string` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-selectedmediafieldatomfamily"></a>

### selectedMediaFieldAtomFamily

### fos.selectedMediaFieldAtomFamily(params)

* **Arguments:**
  * **params** ([`boolean`](#fos.boolean))
* **Return type:**
  `RecoilState < string >` `<` `string` `>`

<a id="fos-fiftyone-fiftyone-fiftyone-state-selectedpatchids"></a>

### selectedPatchIds

### fos.selectedPatchIds(param)

* **Arguments:**
  * **param** (`SerializableParam`)
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < Set >` `<` `Set < string >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-sessionatom"></a>

### sessionAtom

### fos.sessionAtom(options)

* **Arguments:**
  * **options** (`SessionAtomOptions`)
* **Return type:**
  `RecoilState <  >` `<` 

  ```
  ``
  ```

  \`\` `>`

<a id="fos-fiftyone-fiftyone-fiftyone-state-setcurrentenvironment"></a>

### setCurrentEnvironment

### fos.setCurrentEnvironment(environment)

* **Arguments:**
  * **environment** (`default`)
* **Return type:**
  `void`

<a id="fos-fiftyone-fiftyone-fiftyone-state-setqueryperformancepath"></a>

### setQueryPerformancePath

### fos.setQueryPerformancePath(path, isFrameField)

* **Arguments:**
  * **path** ([`string`](#fos.string))
  * **isFrameField** ([`boolean`](#fos.boolean))
* **Return type:**
  `void`

<a id="fos-fiftyone-fiftyone-fiftyone-state-shouldrenderimavidlooker"></a>

### shouldRenderImaVidLooker

### fos.shouldRenderImaVidLooker(param)

* **Arguments:**
  * **param** ([`boolean`](#fos.boolean))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-shownlabelattributes"></a>

### shownLabelAttributes

### fos.shownLabelAttributes(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `RecoilState <  >` `<` `Array< string >` `>`

The attribute names of a label field rendered as text in looker overlays.
An explicitly empty list renders no text. Attributes no longer present in
the schema are silently dropped; when a non-empty list loses every valid
entry, the default applies.

<a id="fos-fiftyone-fiftyone-fiftyone-state-sidebarentries"></a>

### sidebarEntries

### fos.sidebarEntries(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.filtered** ([`boolean`](#fos.boolean))
  * **param.loading** ([`boolean`](#fos.boolean))
  * **param.modal** ([`boolean`](#fos.boolean))
* **Return type:**
  `RecoilState <  >` `<` `Array< SidebarEntry >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-sidebarexpanded"></a>

### sidebarExpanded

### fos.sidebarExpanded(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `RecoilState < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-sidebarexpandedstore"></a>

### sidebarExpandedStore

### fos.sidebarExpandedStore(param)

* **Arguments:**
  * **param** ([`boolean`](#fos.boolean))
* **Return type:**
  `RecoilState <  >` `<` `Any` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-sidebargroup"></a>

### sidebarGroup

### fos.sidebarGroup(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.filtered** ([`boolean`](#fos.boolean))
  * **param.group** ([`string`](#fos.string))
  * **param.loading** ([`boolean`](#fos.boolean))
  * **param.modal** ([`boolean`](#fos.boolean))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Array< string >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-sidebargroupmapping"></a>

### sidebarGroupMapping

### fos.sidebarGroupMapping(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.filtered** ([`boolean`](#fos.boolean))
  * **param.loading** ([`boolean`](#fos.boolean))
  * **param.modal** ([`boolean`](#fos.boolean))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Any` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-sidebargroupnames"></a>

### sidebarGroupNames

### fos.sidebarGroupNames(param)

* **Arguments:**
  * **param** ([`boolean`](#fos.boolean))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Array< string >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-sidebargroups"></a>

### sidebarGroups

### fos.sidebarGroups(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.filtered** ([`boolean`](#fos.boolean))
  * **param.loading** ([`boolean`](#fos.boolean))
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.persist** ([`boolean`](#fos.boolean))
* **Return type:**
  `RecoilState <  >` `<` `Array< SidebarGroup >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-sidebargroupsdefinition"></a>

### sidebarGroupsDefinition

### fos.sidebarGroupsDefinition(params)

* **Arguments:**
  * **params** ([`boolean`](#fos.boolean))
* **Return type:**
  `RecoilState <  >` `<` `Array< SidebarGroup >` `>`

<a id="fos-fiftyone-fiftyone-fiftyone-state-sidebarvisible"></a>

### sidebarVisible

### fos.sidebarVisible(param)

* **Arguments:**
  * **param** ([`boolean`](#fos.boolean))
* **Return type:**
  `RecoilState < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-sidebarwidth"></a>

### sidebarWidth

### fos.sidebarWidth(param)

* **Arguments:**
  * **param** ([`boolean`](#fos.boolean))
* **Return type:**
  `RecoilState < number >` `<` `number` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-skeleton"></a>

### skeleton

### fos.skeleton(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly < KeypointSkeleton >` `<` `plugins.fiftyone.state.KeypointSkeleton` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-sortfilterresults"></a>

### sortFilterResults

### fos.sortFilterResults(param)

* **Arguments:**
  * **param** ([`boolean`](#fos.boolean))
* **Return type:**
  `RecoilState < SortResults >` `<` `plugins.fiftyone.state.SortResults` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-string"></a>

### string

### fos.string(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `( value : string )` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-stringcountresults"></a>

### stringCountResults

### fos.stringCountResults(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.extended** ([`boolean`](#fos.boolean))
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Object` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-stringexcludeatom"></a>

### stringExcludeAtom

### fos.stringExcludeAtom(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `RecoilState < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-stringresults"></a>

### stringResults

### fos.stringResults(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.extended** ([`boolean`](#fos.boolean))
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Object` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-stringselectedvaluesatom"></a>

### stringSelectedValuesAtom

### fos.stringSelectedValuesAtom(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `RecoilState <  >` `<` `Array< string >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-stringifyobj"></a>

### stringifyObj

### fos.stringifyObj(obj)

* **Arguments:**
  * **obj** (`any`)
* **Return type:**
  `any`

<a id="fos-fiftyone-fiftyone-fiftyone-state-subscribetogridcustomrendererfailover"></a>

### subscribeToGridCustomRendererFailover

### fos.subscribeToGridCustomRendererFailover(listener)

* **Arguments:**
  * **listener** (`( )`)

Subscribes React to this external fail-open store.

> ### fos.subscribeToGridCustomRendererFailover(listener)

> * **Return type:**
>   `void`

<a id="fos-fiftyone-fiftyone-fiftyone-state-supportsnativelooker"></a>

### supportsNativeLooker

### fos.supportsNativeLooker(\_\_namedParameters)

* **Arguments:**
  * **\_\_namedParameters** (`NativeLookerSupport`)
* **Return type:**
  `boolean`

Determines whether the selected media source can use a native looker.

The sample media type describes `filepath`. A present alternate media
field must instead prove its own native compatibility through its path.

<a id="fos-fiftyone-fiftyone-fiftyone-state-tagging"></a>

### tagging

### fos.tagging(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.labels** ([`boolean`](#fos.boolean))
  * **param.modal** ([`boolean`](#fos.boolean))
* **Return type:**
  `RecoilState < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-textfilter"></a>

### textFilter

### fos.textFilter(param)

* **Arguments:**
  * **param** ([`boolean`](#fos.boolean))
* **Return type:**
  `RecoilState < string >` `<` `string` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-toggleshownlabelattribute"></a>

### toggleShownLabelAttribute

### fos.toggleShownLabelAttribute(shown, attribute)

* **Arguments:**
  * **shown** (`Array`)
  * **attribute** ([`string`](#fos.string))
* **Return type:**
  `Array<` `string` `>`

<a id="fos-fiftyone-fiftyone-fiftyone-state-transformdataset"></a>

### transformDataset

### fos.transformDataset(dataset)

* **Arguments:**
  * **dataset** (`any`)
* **Return type:**
  `Readonly < Dataset >` `<` `plugins.fiftyone.state.Dataset` `>`

<a id="fos-fiftyone-fiftyone-fiftyone-state-trueatom"></a>

### trueAtom

### fos.trueAtom(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.isFiltering** ([`boolean`](#fos.boolean))
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `RecoilState < boolean >` `<` `boolean` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-unsupportedmatcher"></a>

### unsupportedMatcher

### fos.unsupportedMatcher(field)

* **Arguments:**
  * **field** (`StrictField`)
* **Return type:**
  `boolean`

<a id="fos-fiftyone-fiftyone-fiftyone-state-validindexes"></a>

### validIndexes

### fos.validIndexes(param)

* **Arguments:**
  * **param** (`Array`)
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Object` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-validategroupname"></a>

### validateGroupName

### fos.validateGroupName(current, name)

* **Arguments:**
  * **current** (`Array`)
  * **name** ([`string`](#fos.string))
* **Return type:**
  `boolean`

<a id="fos-fiftyone-fiftyone-fiftyone-state-valuecolor"></a>

### valueColor

### fos.valueColor(param)

* **Arguments:**
  * **param** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `( value : string )` `>`

Resolver for the values of one path, under whichever color-by mode is set:
the path’s own field color when coloring by field, and the value’s own color
when coloring by value, honoring any per-value colors configured for the
field.

This is what the sidebar paints a filter value’s dot with, so anything else
that shows the same value — a grid overlay’s interval marks, a timeline row —
matches the sidebar by resolving through here rather than reaching for
[`pathColor`](#fos.pathColor) directly. Coloring by instance has no meaning for a
primitive value and resolves as coloring by field does.

<a id="fos-fiftyone-fiftyone-fiftyone-state-values"></a>

### values

### fos.values(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.extended** ([`boolean`](#fos.boolean))
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `readonly` `readonly RecoilValueReadOnly <  >` `<` `Array< string >` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-viewsareequal"></a>

### viewsAreEqual

### fos.viewsAreEqual(viewOne, viewTwo)

* **Arguments:**
  * **viewOne** (`Union`)
  * **viewTwo** (`Union`)
* **Return type:**
  `boolean`

<a id="fos-fiftyone-fiftyone-fiftyone-state-visibility"></a>

### visibility

### fos.visibility(param)

* **Arguments:**
  * **param** (`Object`)
  * **param.modal** ([`boolean`](#fos.boolean))
  * **param.path** ([`string`](#fos.string))
* **Return type:**
  `RecoilState < Filter >` `<` `plugins.fiftyone.state.Filter` `>`

Returns a function which returns a memoized atom for each unique parameter value.

<a id="fos-fiftyone-fiftyone-fiftyone-state-withsuspense"></a>

### withSuspense

### fos.withSuspense(Component, LoaderComponent)

* **Arguments:**
  * **Component** (`ComponentType`)
  * **LoaderComponent** ()

## Types

<a id="fos-fiftyone-fiftyone-fiftyone-state-state-space"></a>

### SPACE

| Name   | Value   |
|--------|---------|
| FRAME  |         |
| SAMPLE |         |

<a id="fos-fiftyone-fiftyone-fiftyone-state-state-annotationrun"></a>

### AnnotationRun

### *class* fos.AnnotationRun()

#### Properties

| Name       | Type       | Description   |
|------------|------------|---------------|
| config     | `Any`      |               |
| key        | `string`   |               |
| timestamp  | `string`   |               |
| version    | `string`   |               |
| viewStages | `readonly` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-state-brainrun"></a>

### BrainRun

### *class* fos.BrainRun()

#### Properties

(e.g. its config class no longer imports); null when usable.”
: “key”,”`string`”
  “ready”,”`boolean`”,”Whether the run’s results have been saved. A run still computing (or

whose computation died) is not ready.”
: “timestamp”,”`string`”
  “version”,”`string`”
  “viewStages”,”`readonly`”

<a id="fos-fiftyone-fiftyone-fiftyone-state-state-config"></a>

### Config

### *class* fos.Config()

#### Properties

| Name             | Type                                                      | Description   |
|------------------|-----------------------------------------------------------|---------------|
| colorPool        | `Array<` `string` `>`                                     |               |
| colorscale       | `string`                                                  |               |
| customizedColors | `Array<` `plugins.fiftyone.state.CustomizeColorInput` `>` |               |
| gridZoom         | `number`                                                  |               |
| loopVideos       | `boolean`                                                 |               |
| mediaFallback    | `boolean`                                                 |               |
| mediaFields      | `Array<` `string` `>`                                     |               |
| notebookHeight   | `number`                                                  |               |
| plugins          | `plugins.fiftyone.state.PluginConfig`                     |               |
| showConfidence   | `boolean`                                                 |               |
| showIndex        | `boolean`                                                 |               |
| showLabel        | `boolean`                                                 |               |
| showTooltip      | `boolean`                                                 |               |
| theme            | `Union<` `'dark'` `,` `'light'` `,` `'browser'` `>`       |               |
| timezone         | `string`                                                  |               |
| useFrameNumber   | `boolean`                                                 |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-state-dataset"></a>

### Dataset

### *class* fos.Dataset()

The dataset object returned by the API.

#### Properties

source id. Absent on datasets whose media is not reference-backed.”
: “mediaType”,”`plugins.fiftyone.state.MediaType`”
  “name”,”`string`”
  “parentMediaType”,”`plugins.fiftyone.state.MediaType`”
  “skeletons”,”`Array<` `plugins.fiftyone.state.StrictKeypointSkeleton` `>`”
  “version”,”`string`”

<a id="fos-fiftyone-fiftyone-fiftyone-state-state-datasetappconfig"></a>

### DatasetAppConfig

### *class* fos.DatasetAppConfig()

#### Properties

| Name                         | Type                                  | Description   |
|------------------------------|---------------------------------------|---------------|
| activeFields                 | `plugins.fiftyone.state.ActiveFields` |               |
| dynamicGroupsTargetFrameRate | `number`                              |               |
| gridMediaField               | `string`                              |               |
| mediaFields                  | `Array<` `string` `>`                 |               |
| modalMediaField              | `string`                              |               |
| plugins                      | `plugins.fiftyone.state.PluginConfig` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-state-datetime"></a>

### DateTime

### *class* fos.DateTime()

#### Properties

| Name   | Type     | Description   |
|--------|----------|---------------|
| $date  | `number` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-state-description"></a>

### Description

### *class* fos.Description()

#### Properties

| Name                 | Type                                                | Description   |
|----------------------|-----------------------------------------------------|---------------|
| dataset              | `string`                                            |               |
| fieldVisibilityStage | `plugins.fiftyone.state.FieldVisibilityStage`       |               |
| savedViewSlug        | `string`                                            |               |
| savedViews           | `Array<` `plugins.fiftyone.state.SavedView` `>`     |               |
| selected             | `Array<` `string` `>`                               |               |
| selectedLabels       | `Array<` `plugins.fiftyone.state.SelectedLabel` `>` |               |
| spaces               | `plugins.fiftyone.state.SpaceNodeJSON`              |               |
| view                 | `Array<` `plugins.fiftyone.state.Stage` `>`         |               |
| viewCls              | `string`                                            |               |
| viewName             | `string`                                            |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-state-dynamicgroupparameters"></a>

### DynamicGroupParameters

### *class* fos.DynamicGroupParameters()

#### Properties

| Name       | Type                                        | Description   |
|------------|---------------------------------------------|---------------|
| groupBy    | `Union<` `object` `,` `Array< string >` `>` |               |
| orderBy    | `string`                                    |               |
| orderByKey | `unknown`                                   |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-state-evaluation"></a>

### Evaluation

### *class* fos.Evaluation()

<a id="fos-fiftyone-fiftyone-fiftyone-state-state-evaluationrun"></a>

### EvaluationRun

### *class* fos.EvaluationRun()

#### Properties

| Name       | Type       | Description   |
|------------|------------|---------------|
| config     | `Object`   |               |
| key        | `string`   |               |
| timestamp  | `string`   |               |
| version    | `string`   |               |
| viewStages | `readonly` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-state-fieldvisibilitystage"></a>

### FieldVisibilityStage

### *class* fos.FieldVisibilityStage()

#### Properties

| Name   | Type     | Description   |
|--------|----------|---------------|
| cls    | `string` |               |
| kwargs | `Object` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-state-filter"></a>

### Filter

### *class* fos.Filter()

| Name   | Type     | Description   |
|--------|----------|---------------|
| [key]  | `string` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-state-filters"></a>

### Filters

### *class* fos.Filters()

| Name   | Type     | Description   |
|--------|----------|---------------|
| [key]  | `string` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-state-id"></a>

### ID

### *class* fos.ID()

#### Properties

| Name   | Type     | Description   |
|--------|----------|---------------|
| $oid   | `string` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-state-keypointskeleton"></a>

### KeypointSkeleton

### *class* fos.KeypointSkeleton()

#### Properties

| Name   | Type                               | Description   |
|--------|------------------------------------|---------------|
| edges  | `Array<` `Array<` `number` `>` `>` |               |
| labels | `Array<` `string` `>`              |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-state-run"></a>

### Run

### *class* fos.Run()

#### Properties

| Name       | Type       | Description   |
|------------|------------|---------------|
| config     | `Any`      |               |
| key        | `string`   |               |
| timestamp  | `string`   |               |
| version    | `string`   |               |
| viewStages | `readonly` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-state-savedview"></a>

### SavedView

### *class* fos.SavedView()

#### Properties

| Name           | Type                                        | Description   |
|----------------|---------------------------------------------|---------------|
| color          | `string`                                    |               |
| createdAt      | `plugins.fiftyone.state.DateTime`           |               |
| datasetId      | `string`                                    |               |
| description    | `string`                                    |               |
| id             | `string`                                    |               |
| lastLoadedAt   | `plugins.fiftyone.state.DateTime`           |               |
| lastModifiedAt | `plugins.fiftyone.state.DateTime`           |               |
| name           | `string`                                    |               |
| slug           | `string`                                    |               |
| viewStages     | `Array<` `plugins.fiftyone.state.Stage` `>` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-state-selectedlabel"></a>

### SelectedLabel

### *class* fos.SelectedLabel()

#### Properties

| Name        | Type                                   | Description   |
|-------------|----------------------------------------|---------------|
| field       | `string`                               |               |
| frameNumber | `number`                               |               |
| instanceId  | `string`                               |               |
| labelId     | `string`                               |               |
| sampleId    | `string`                               |               |
| type        | `plugins.fiftyone.state.SelectionType` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-state-selectedlabeldata"></a>

### SelectedLabelData

### *class* fos.SelectedLabelData()

#### Properties

| Name        | Type                                   | Description   |
|-------------|----------------------------------------|---------------|
| field       | `string`                               |               |
| frameNumber | `number`                               |               |
| instanceId  | `string`                               |               |
| sampleId    | `string`                               |               |
| type        | `plugins.fiftyone.state.SelectionType` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-state-selectedlabelmap"></a>

### SelectedLabelMap

### *class* fos.SelectedLabelMap()

| Name      | Type     | Description   |
|-----------|----------|---------------|
| [labelId] | `string` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-state-sidebargroup"></a>

### SidebarGroup

### *class* fos.SidebarGroup()

#### Properties

| Name     | Type                  | Description   |
|----------|-----------------------|---------------|
| expanded | `boolean`             |               |
| name     | `string`              |               |
| paths    | `Array<` `string` `>` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-state-sortbysimilarityparameters"></a>

### SortBySimilarityParameters

### *class* fos.SortBySimilarityParameters()

#### Properties

| Name      | Type                                        | Description   |
|-----------|---------------------------------------------|---------------|
| brainKey  | `string`                                    |               |
| distField | `string`                                    |               |
| k         | `number`                                    |               |
| query     | `Union<` `string` `,` `Array< string >` `>` |               |
| queryIds  | `Array<` `string` `>`                       |               |
| reverse   | `boolean`                                   |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-state-stage"></a>

### Stage

### *class* fos.Stage()

#### Properties

| Name   | Type                                        | Description   |
|--------|---------------------------------------------|---------------|
| kwargs | `Array<` `[` `string` `,` `unknown` `]` `>` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-state-strictkeypointskeleton"></a>

### StrictKeypointSkeleton

### *class* fos.StrictKeypointSkeleton()

#### Properties

| Name   | Type                               | Description   |
|--------|------------------------------------|---------------|
| edges  | `Array<` `Array<` `number` `>` `>` |               |
| labels | `Array<` `string` `>`              |               |
| name   | `string`                           |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-state-targets"></a>

### Targets

### *class* fos.Targets()

| Name   | Type     | Description   |
|--------|----------|---------------|
| [key]  | `number` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-state-activefields"></a>

### *class* fos.ActiveFields()

### ActiveFields

| Name                 | Type                              | Description   |
|----------------------|-----------------------------------|---------------|
| ActiveFields.exclude | `Union<` `boolean` `,` `null` `>` |               |
| ActiveFields.paths   | `Array<` `string` `>`             |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-state-mediatype"></a>

### *class* fos.MediaType()

### MediaType

Union of `RecognizedMediaType`, `'point_cloud'`, `'three_d'`, `'unknown'`

<a id="fos-fiftyone-fiftyone-fiftyone-state-state-pluginconfig"></a>

### *class* fos.PluginConfig()

### PluginConfig

An object containing the configuration for plugins.
Each key is the name of a plugin, and the value is the
configuration for that plugin.

<a id="fos-fiftyone-fiftyone-fiftyone-state-constants-panel-surface"></a>

### PANEL_SURFACE

| Name   | Value   |
|--------|---------|
| GRID   |         |
| MODAL  |         |

<a id="fos-fiftyone-fiftyone-fiftyone-state-constants-color-blind-friendly-palette"></a>

### COLOR_BLIND_FRIENDLY_PALETTE

<a id="fos-fiftyone-fiftyone-fiftyone-state-constants-color-options"></a>

### COLOR_OPTIONS

<a id="fos-fiftyone-fiftyone-fiftyone-state-constants-color-options-map"></a>

### COLOR_OPTIONS_MAP

| Name    | Type     | Description   |
|---------|----------|---------------|
| #06AED4 | `Object` |               |
| #16B364 | `Object` |               |
| #2970FF | `Object` |               |
| #667085 | `Object` |               |
| #7A5AF8 | `Object` |               |
| #EE46BC | `Object` |               |
| #EF6820 | `Object` |               |
| #F04438 | `Object` |               |
| #FAC515 | `Object` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-constants-default-color"></a>

### DEFAULT_COLOR

| Name        | Type   | Description   |
|-------------|--------|---------------|
| `'#667085'` |        |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-constants-default-color-option"></a>

### DEFAULT_COLOR_OPTION

| Name        | Type     | Description   |
|-------------|----------|---------------|
| color       | `string` |               |
| description | `string` |               |
| id          | `string` |               |
| label       | `string` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-constants-fiftyone-grid-spaces-id"></a>

### FIFTYONE_GRID_SPACES_ID

| Name                | Type   | Description   |
|---------------------|--------|---------------|
| `'fiftyone-spaces'` |        |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-constants-fiftyone-modal-spaces-id"></a>

### FIFTYONE_MODAL_SPACES_ID

| Name                      | Type   | Description   |
|---------------------------|--------|---------------|
| `'fiftyone-modal-spaces'` |        |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-booleanfilter"></a>

### BooleanFilter

### *class* fos.BooleanFilter()

#### Properties

| Name       | Type      | Description   |
|------------|-----------|---------------|
| exclude    | `boolean` |               |
| false      | `boolean` |               |
| isMatching | `boolean` |               |
| none       | `boolean` |               |
| true       | `boolean` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-classificationannotationlabel"></a>

### ClassificationAnnotationLabel

### *class* fos.ClassificationAnnotationLabel()

#### Properties

| Name    | Type                                           | Description   |
|---------|------------------------------------------------|---------------|
| data    | `plugins.fiftyone.state.ClassificationLabel`   |               |
| isNew   | `boolean`                                      |               |
| overlay | `plugins.fiftyone.state.ClassificationOverlay` |               |
| path    | `string`                                       |               |
| type    | `'Classification'`                             |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-contextmanager"></a>

### ContextManager

### *class* fos.ContextManager()

A context manager provides support for stateful transitions into and out-of
some logical context.

Callbacks can be registered to be executed when entering or exiting the
context.

#### Properties

| Name                  | Type    | Description                                                   |
|-----------------------|---------|---------------------------------------------------------------|
| isActive              | `(` `)` |                                                               |
| enter                 | `void`  | Enter the context, triggering all registered enter callbacks. |
| exit                  | `void`  | Exit the context, triggering all registered exit callbacks.   |
| registerEnterCallback | `void`  | Register a callback to be invoked on context `enter`.         |
| registerExitCallback  | `void`  | Register a callback to be invoked on context `exit`.          |
| reset                 | `void`  | Reset the context, clearing all registered callbacks.         |

<a id="fos-fiftyone-fiftyone-fiftyone-state-detection3dannotationlabel"></a>

### Detection3DAnnotationLabel

### *class* fos.Detection3DAnnotationLabel()

#### Properties

| Name    | Type                                                                                    | Description   |
|---------|-----------------------------------------------------------------------------------------|---------------|
| data    | `plugins.fiftyone.state.DetectionLabel`                                                 |               |
| isNew   | `boolean`                                                                               |               |
| overlay | `plugins.fiftyone.state.GenericOverlay` `<` `plugins.fiftyone.state.DetectionLabel` `>` |               |
| path    | `string`                                                                                |               |
| type    | `'Detection'`                                                                           |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-detectionannotationlabel"></a>

### DetectionAnnotationLabel

### *class* fos.DetectionAnnotationLabel()

#### Properties

| Name    | Type                                      | Description   |
|---------|-------------------------------------------|---------------|
| data    | `plugins.fiftyone.state.DetectionLabel`   |               |
| isNew   | `boolean`                                 |               |
| overlay | `plugins.fiftyone.state.DetectionOverlay` |               |
| path    | `string`                                  |               |
| type    | `'Detection'`                             |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-emptyannotationsentry"></a>

### EmptyAnnotationsEntry

### *class* fos.EmptyAnnotationsEntry()

#### Properties

| Name   | Type                                       | Description   |
|--------|--------------------------------------------|---------------|
| kind   | `plugins.fiftyone.state.EMPTY_ANNOTATIONS` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-emptyentry"></a>

### EmptyEntry

### *class* fos.EmptyEntry()

#### Properties

| Name   | Type                           | Description   |
|--------|--------------------------------|---------------|
| group  | `string`                       |               |
| kind   | `plugins.fiftyone.state.EMPTY` |               |
| shown  | `boolean`                      |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-extendedselectionresetinterface"></a>

### ExtendedSelectionResetInterface

### *class* fos.ExtendedSelectionResetInterface()

The set/reset surface a participant receives — the SAME Recoil transaction
`./useResetExtendedSelection` resets the core selection atoms in, so
a participant’s writes land in one commit with them. Atoms are untyped
here: participants own atoms this package has never heard of.

#### Properties

| Name   | Type                                                                   | Description   |
|--------|------------------------------------------------------------------------|---------------|
| reset  | `(` `state` `:` `RecoilState < any >` `)`                              |               |
| set    | `(` `state` `:` `RecoilState < any >` `, `` ``value` `:` `unknown` `)` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-groupentry"></a>

### GroupEntry

### *class* fos.GroupEntry()

#### Properties

| Name   | Type                           | Description   |
|--------|--------------------------------|---------------|
| kind   | `plugins.fiftyone.state.GROUP` |               |
| name   | `string`                       |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-groupvisibilityconfigsnapshot"></a>

### GroupVisibilityConfigSnapshot

### *class* fos.GroupVisibilityConfigSnapshot()

Snapshot of group visibility settings and slice captured before entering Annotate mode.
Used to restore settings when returning to Explore mode.

#### Properties

| Name         | Type      | Description   |
|--------------|-----------|---------------|
| carousel     | `boolean` |               |
| main         | `boolean` |               |
| slice        | `string`  |               |
| threeDViewer | `boolean` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-iactivitytoast"></a>

### IActivityToast

### *class* fos.IActivityToast()

Activity toast interface.

#### Properties

| Name        | Type                                         | Description                                |
|-------------|----------------------------------------------|--------------------------------------------|
| config      | `plugins.fiftyone.state.ActivityToastConfig` | Current toast configuration.               |
| open        | `boolean`                                    | `true` if the toast is open, else `false`. |
| setConfig   | `void`                                       | Set the toast configuration.               |
| setIconName | `void`                                       | Set the icon for the toast.                |
| setMessage  | `void`                                       | Set the message for the toast.             |
| setTimeout  | `void`                                       | Set the timeout for the toast.             |
| setVariant  | `void`                                       | Set the toast variant.                     |

<a id="fos-fiftyone-fiftyone-fiftyone-state-inputentry"></a>

### InputEntry

### *class* fos.InputEntry()

#### Properties

| Name   | Type                                | Description   |
|--------|-------------------------------------|---------------|
| kind   | `plugins.fiftyone.state.INPUT`      |               |
| type   | `Union<` `'filter'` `,` `'add'` `>` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-keypointannotationlabel"></a>

### KeypointAnnotationLabel

### *class* fos.KeypointAnnotationLabel()

#### Properties

| Name    | Type                                     | Description   |
|---------|------------------------------------------|---------------|
| data    | `plugins.fiftyone.state.KeypointLabel`   |               |
| isNew   | `boolean`                                |               |
| overlay | `plugins.fiftyone.state.KeypointOverlay` |               |
| path    | `string`                                 |               |
| type    | `'Keypoint'`                             |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-label"></a>

### Label

### *class* fos.Label()

#### Properties

| Name   | Type      | Description   |
|--------|-----------|---------------|
| isNew  | `boolean` |               |
| path   | `string`  |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-labelentry"></a>

### LabelEntry

### *class* fos.LabelEntry()

#### Properties

| Name   | Type                           | Description                                                              |
|--------|--------------------------------|--------------------------------------------------------------------------|
| frame  | `number`                       | Occurrence frame for video frame labels; absent for sample-level labels. |
| id     | `string`                       |                                                                          |
| kind   | `plugins.fiftyone.state.LABEL` |                                                                          |
| path   | `string`                       |                                                                          |

<a id="fos-fiftyone-fiftyone-fiftyone-state-loadingentry"></a>

### LoadingEntry

### *class* fos.LoadingEntry()

#### Properties

| Name   | Type                             | Description   |
|--------|----------------------------------|---------------|
| id     | `string`                         |               |
| kind   | `plugins.fiftyone.state.LOADING` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-lookerstore"></a>

### LookerStore

### *class* fos.LookerStore()

#### Properties

| Name    | Type                                                                                              | Description   |
|---------|---------------------------------------------------------------------------------------------------|---------------|
| indices | `Map < number , string >` `<` `number` `,` `string` `>`                                           |               |
| lookers | `LRUCache < string , T , unknown >` `<` `string` `,` `plugins.fiftyone.state.T` `,` `unknown` `>` |               |
| reset   | `(` `)`                                                                                           |               |
| samples | `Map < string , ModalSample >` `<` `string` `,` `plugins.fiftyone.state.ModalSample` `>`          |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-modalmodecontroller"></a>

### ModalModeController

### *class* fos.ModalModeController()

Manager which supports switching modal modes.

#### Properties

| Name                 | Type    | Description   |
|----------------------|---------|---------------|
| activateAnnotateMode | `(` `)` |               |
| activateExploreMode  | `(` `)` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-modalviewportstate"></a>

### ModalViewportState

### *class* fos.ModalViewportState()

Extends the base ViewportState with a `sampleId` so stale state from
a previous sample is never mistakenly applied when switching between
modes (EXPLORE vs ANNOTATE).

#### Properties

| Name     | Type     | Description   |
|----------|----------|---------------|
| panX     | `number` |               |
| panY     | `number` |               |
| sampleId | `string` |               |
| scale    | `number` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-numericfilter"></a>

### NumericFilter

### *class* fos.NumericFilter()

#### Properties

| Name       | Type                           | Description   |
|------------|--------------------------------|---------------|
| exclude    | `boolean`                      |               |
| inf        | `boolean`                      |               |
| isMatching | `boolean`                      |               |
| nan        | `boolean`                      |               |
| ninf       | `boolean`                      |               |
| none       | `boolean`                      |               |
| range      | `plugins.fiftyone.state.Range` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-pathentry"></a>

### PathEntry

### *class* fos.PathEntry()

#### Properties

| Name   | Type                          | Description   |
|--------|-------------------------------|---------------|
| kind   | `plugins.fiftyone.state.PATH` |               |
| path   | `string`                      |               |
| shown  | `boolean`                     |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-polylineannotationlabel"></a>

### PolylineAnnotationLabel

### *class* fos.PolylineAnnotationLabel()

#### Properties

| Name    | Type                                                                                              | Description   |
|---------|---------------------------------------------------------------------------------------------------|---------------|
| data    | `plugins.fiftyone.state.PolylineLabel`                                                            |               |
| isNew   | `boolean`                                                                                         |               |
| overlay | `Union<` `plugins.fiftyone.state.PolylineOverlay` `,` `plugins.fiftyone.state.GenericOverlay` `>` |               |
| path    | `string`                                                                                          |               |
| type    | `'Polyline'`                                                                                      |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-primitivevalue"></a>

### PrimitiveValue

### *class* fos.PrimitiveValue()

#### Properties

| Name   | Type                               | Description   |
|--------|------------------------------------|---------------|
| data   | `plugins.fiftyone.state.Primitive` |               |
| op     | `plugins.fiftyone.state.OpType`    |               |
| path   | `string`                           |               |
| type   | `'Primitive'`                      |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-retrycontroller"></a>

### RetryController

### *class* fos.RetryController()

Utility which provides retry control flow logic.

#### Properties

| Name          | Type      | Description                            |
|---------------|-----------|----------------------------------------|
| canAttempt    | `boolean` | If `true`, operation can be attempted. |
| recordAttempt | `(` `)`   |                                        |
| reset         | `(` `)`   |                                        |

<a id="fos-fiftyone-fiftyone-fiftyone-state-selectevent"></a>

### SelectEvent

### *class* fos.SelectEvent()

#### Properties

| Name   | Type     | Description   |
|--------|----------|---------------|
| detail | `Object` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-selectedlabelsdelta"></a>

### SelectedLabelsDelta

### *class* fos.SelectedLabelsDelta()

A change to the selection, expressed as labels in and label ids out.

#### Properties

| Name   | Type       | Description   |
|--------|------------|---------------|
| add    | `readonly` |               |
| remove | `readonly` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-session"></a>

### Session

### *class* fos.Session()

#### Properties

| Name                  | Type                                                                                         | Description   |
|-----------------------|----------------------------------------------------------------------------------------------|---------------|
| canAnnotate           | `Object`                                                                                     |               |
| canCreateNewField     | `Object`                                                                                     |               |
| canEditCustomColors   | `Object`                                                                                     |               |
| canEditLabels         | `Object`                                                                                     |               |
| canEditSavedViews     | `Object`                                                                                     |               |
| canEditWorkspaces     | `Object`                                                                                     |               |
| canManageSchema       | `Object`                                                                                     |               |
| canModifySidebarGroup | `Object`                                                                                     |               |
| canTagSamplesOrLabels | `Object`                                                                                     |               |
| colorScheme           | `plugins.fiftyone.state.ColorSchemeInput`                                                    |               |
| fieldVisibilityStage  | `plugins.fiftyone.state.FieldVisibilityStage`                                                |               |
| filters               | `plugins.fiftyone.state.Filters`                                                             |               |
| labelSelectionStyle   | `plugins.fiftyone.state.LabelSelectionStyle`                                                 |               |
| modalFilters          | `plugins.fiftyone.state.Filters`                                                             |               |
| modalSelector         | `plugins.fiftyone.state.ModalSelector`                                                       |               |
| readOnly              | `boolean`                                                                                    |               |
| sampleSelectionStyle  | `plugins.fiftyone.state.SelectionStyle`                                                      |               |
| selectedLabels        | `Array<` `plugins.fiftyone.state.SelectedLabel` `>`                                          |               |
| selectedSamples       | `Map < string , SelectionType >` `<` `string` `,` `plugins.fiftyone.state.SelectionType` `>` |               |
| sessionGroupSlice     | `string`                                                                                     |               |
| sessionSpaces         | `plugins.fiftyone.state.SpaceNodeJSON`                                                       |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-sortresults"></a>

### SortResults

### *class* fos.SortResults()

#### Properties

| Name   | Type      | Description   |
|--------|-----------|---------------|
| asc    | `boolean` |               |
| count  | `boolean` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-stringfilter"></a>

### StringFilter

### *class* fos.StringFilter()

#### Properties

| Name       | Type                  | Description   |
|------------|-----------------------|---------------|
| exclude    | `boolean`             |               |
| isMatching | `boolean`             |               |
| values     | `Array<` `string` `>` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-temporaldetectionannotationlabel"></a>

### TemporalDetectionAnnotationLabel

### *class* fos.TemporalDetectionAnnotationLabel()

#### Properties

| Name    | Type                                     | Description   |
|---------|------------------------------------------|---------------|
| data    | `plugins.fiftyone.state.TemporalLabel`   |               |
| isNew   | `boolean`                                |               |
| overlay | `plugins.fiftyone.state.TemporalOverlay` |               |
| path    | `string`                                 |               |
| type    | `'TemporalDetection'`                    |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-temporaltagresult"></a>

### TemporalTagResult

### *class* fos.TemporalTagResult()

One selectable temporal-tag value and its occurrence count.

#### Properties

| Name   | Type     | Description   |
|--------|----------|---------------|
| count  | `number` |               |
| value  | `string` |               |

<a id="id76"></a>

### TemporalTagResults

### *class* fos.TemporalTagResults()

Shape consumed by the string filter’s `resultsAtom`.

#### Properties

| Name    | Type                                                    | Description   |
|---------|---------------------------------------------------------|---------------|
| count   | `number`                                                |               |
| results | `Array<` `plugins.fiftyone.state.TemporalTagResult` `>` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-activitytoastconfig"></a>

### *class* fos.ActivityToastConfig()

### ActivityToastConfig

Configuration data which drives ActivityToast behavior.

the toast will disappear after this time has elapsed.

This timeout is reset any time the toast configuration is modified.

A negative timeout value will disable the timeout, causing
the toast to remain visible indefinitely.”

> “ActivityToastConfig.variant”,”`Variant`”,”Toast variant.”

<a id="fos-fiftyone-fiftyone-fiftyone-state-aggregationresponsefrom"></a>

### *class* fos.AggregationResponseFrom()

### AggregationResponseFrom

A generic type that extracts the response type from a GraphQL query.

<a id="fos-fiftyone-fiftyone-fiftyone-state-annotationlabel"></a>

### *class* fos.AnnotationLabel()

### AnnotationLabel

Union of [`ClassificationAnnotationLabel`](#fos.ClassificationAnnotationLabel), [`DetectionAnnotationLabel`](#fos.DetectionAnnotationLabel), [`Detection3DAnnotationLabel`](#fos.Detection3DAnnotationLabel), [`PolylineAnnotationLabel`](#fos.PolylineAnnotationLabel), [`KeypointAnnotationLabel`](#fos.KeypointAnnotationLabel), [`TemporalDetectionAnnotationLabel`](#fos.TemporalDetectionAnnotationLabel)

<a id="fos-fiftyone-fiftyone-fiftyone-state-annotationlabeldata"></a>

### *class* fos.AnnotationLabelData()

### AnnotationLabelData

<a id="fos-fiftyone-fiftyone-fiftyone-state-computecoordinatesreturntype"></a>

### *class* fos.ComputeCoordinatesReturnType()

### ComputeCoordinatesReturnType

| Name                         | Type                                                                 | Description   |
|------------------------------|----------------------------------------------------------------------|---------------|
| ComputeCoordinatesReturnType | `ReturnType <  >` `<` <br/><br/>```<br/>``<br/>```<br/><br/>\`\` `>` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-datasetviewoption"></a>

### *class* fos.DatasetViewOption()

### DatasetViewOption

<a id="fos-fiftyone-fiftyone-fiftyone-state-debouncedstate"></a>

### *class* fos.DebouncedState()

### DebouncedState

<a id="fos-fiftyone-fiftyone-fiftyone-state-dimensionstype"></a>

### *class* fos.DimensionsType()

### DimensionsType

| Name           | Type                                                                 | Description   |
|----------------|----------------------------------------------------------------------|---------------|
| DimensionsType | `ReturnType <  >` `<` <br/><br/>```<br/>``<br/>```<br/><br/>\`\` `>` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-extendedselectionresetparticipant"></a>

### *class* fos.ExtendedSelectionResetParticipant()

### ExtendedSelectionResetParticipant

<a id="fos-fiftyone-fiftyone-fiftyone-state-gridcustomrendererfailure"></a>

### *class* fos.GridCustomRendererFailure()

### GridCustomRendererFailure

| Name                                   | Type      | Description   |
|----------------------------------------|-----------|---------------|
| GridCustomRendererFailure.consumed     | `boolean` |               |
| GridCustomRendererFailure.datasetName  | `string`  |               |
| GridCustomRendererFailure.errorMessage | `string`  |               |
| GridCustomRendererFailure.failedAt     | `number`  |               |
| GridCustomRendererFailure.rendererName | `string`  |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-groupslicemediatype"></a>

### *class* fos.GroupSliceMediaType()

### GroupSliceMediaType

Union of `'video'`, `'3d'`, `'image'`, `'multimodal'`

<a id="fos-fiftyone-fiftyone-fiftyone-state-hoveredinstanceslabelstuple"></a>

### *class* fos.HoveredInstancesLabelsTuple()

### HoveredInstancesLabelsTuple

| Name                        | Type                                                                              | Description   |
|-----------------------------|-----------------------------------------------------------------------------------|---------------|
| HoveredInstancesLabelsTuple | `[` `plugins.fiftyone.state.InstanceId` `,` `plugins.fiftyone.state.LabelMap` `]` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-labelmap"></a>

### *class* fos.LabelMap()

### LabelMap

======= TYPES =======

| Name     | Type                                                                                                                                     | Description   |
|----------|------------------------------------------------------------------------------------------------------------------------------------------|---------------|
| LabelMap | `Record < LabelId , LabelHoveredEventData >` `<` `plugins.fiftyone.state.LabelId` `,` `plugins.fiftyone.state.LabelHoveredEventData` `>` |               |

<a id="id83"></a>

### *class* fos.LabelSelectionStyle()

### LabelSelectionStyle

| Name                        | Type                                             | Description   |
|-----------------------------|--------------------------------------------------|---------------|
| LabelSelectionStyle.alt     | `plugins.fiftyone.state.LabelSelectionStyleName` |               |
| LabelSelectionStyle.default | `plugins.fiftyone.state.LabelSelectionStyleName` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-labelselectionstylename"></a>

### *class* fos.LabelSelectionStyleName()

### LabelSelectionStyleName

Union of `'dashed'`, `'dashed-green'`, `'dashed-red'`

<a id="id85"></a>

### *class* fos.Loading()

### Loading

<a id="fos-fiftyone-fiftyone-fiftyone-state-lookers"></a>

### *class* fos.Lookers()

### Lookers

Union of `FrameLooker`, `ImageLooker`, `ImaVidLooker`, `VideoLooker`

<a id="fos-fiftyone-fiftyone-fiftyone-state-method"></a>

### *class* fos.Method()

### Method

| Name                           | Type      | Description   |
|--------------------------------|-----------|---------------|
| Method.key                     | `string`  |               |
| Method.maxK                    | `number`  |               |
| Method.supportsLeastSimilarity | `boolean` |               |
| Method.supportsPrompts         | `boolean` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-modalnavigation"></a>

### *class* fos.ModalNavigation()

### ModalNavigation

| Name                     | Type                          | Description   |
|--------------------------|-------------------------------|---------------|
| ModalNavigation.next     | `(` `offset` `:` `number` `)` |               |
| ModalNavigation.peek     | `(` `offset` `:` `number` `)` |               |
| ModalNavigation.previous | `(` `offset` `:` `number` `)` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-modalnavigationpeek"></a>

### *class* fos.ModalNavigationPeek()

### ModalNavigationPeek

as loaded by the grid. Typed loosely because the paginator’s node type
belongs to the relay layer.”

<a id="id87"></a>

### *class* fos.ModalSample()

### ModalSample

<a id="fos-fiftyone-fiftyone-fiftyone-state-modalsampledata"></a>

### *class* fos.ModalSampleData()

### ModalSampleData

| Name            | Type                                                          | Description   |
|-----------------|---------------------------------------------------------------|---------------|
| ModalSampleData | `Exclude < Exclude ,  >` `<` `Exclude <  ,  >` `,` `null` `>` |               |

<a id="id89"></a>

### *class* fos.ModalSelector()

### ModalSelector

| Name                      | Type      | Description   |
|---------------------------|-----------|---------------|
| ModalSelector.groupId     | `string`  |               |
| ModalSelector.hasNext     | `boolean` |               |
| ModalSelector.hasPrevious | `boolean` |               |
| ModalSelector.id          | `string`  |               |

<a id="id91"></a>

### *class* fos.MultimodalGridFit()

### MultimodalGridFit

Presentation fit for media rendered inside square multimodal grid tiles.

Union of `'contain'`, `'cover'`

<a id="fos-fiftyone-fiftyone-fiftyone-state-nativelookertype"></a>

### *class* fos.NativeLookerType()

### NativeLookerType

Union of `'image'`, `'video'`, `'3d'`

<a id="fos-fiftyone-fiftyone-fiftyone-state-optional"></a>

### *class* fos.Optional()

### Optional

Optional
From `T` make a set of properties by key `K` become optional

<a id="fos-fiftyone-fiftyone-fiftyone-state-pathfilterselector"></a>

### *class* fos.PathFilterSelector()

### PathFilterSelector

<a id="fos-fiftyone-fiftyone-fiftyone-state-range"></a>

### *class* fos.Range()

### Range

| Name   | Type                                                  | Description   |
|--------|-------------------------------------------------------|---------------|
| Range  | `[` `Union< number ,  >` `,` `Union< number ,  >` `]` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-renderconfig3dactions"></a>

### *class* fos.RenderConfig3dActions()

### RenderConfig3dActions

Mutation helpers exposed by [`useRenderConfig3dActions`](#fos.useRenderConfig3dActions).

| Name                                           | Type                                                            | Description   |
|------------------------------------------------|-----------------------------------------------------------------|---------------|
| RenderConfig3dActions.focusSlice               | `(` `sliceName` `:` `string` `)`                                |               |
| RenderConfig3dActions.initializeFromModalSlice | `(` `sliceName` `:` `Union< string ,  >` `)`                    |               |
| RenderConfig3dActions.reconcileAvailableSlices | `(` `)`                                                         |               |
| RenderConfig3dActions.setFo3dContent           | `(` `content` `:` `Union< unknown ,  >` `)`                     |               |
| RenderConfig3dActions.setPinned                | `(` `pinned` `:` `boolean` `)`                                  |               |
| RenderConfig3dActions.setVisible               | `(` `visible` `:` `boolean` `)`                                 |               |
| RenderConfig3dActions.toggleSlice              | `(` `sliceName` `:` `string` `, `` ``enabled` `:` `boolean` `)` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-renderconfig3dimperativestate"></a>

### *class* fos.RenderConfig3dImperativeState()

### RenderConfig3dImperativeState

Imperative snapshot query helpers exposed by [`useRenderConfig3dImperativeState`](#fos.useRenderConfig3dImperativeState).

| Name                                      | Type    | Description   |
|-------------------------------------------|---------|---------------|
| RenderConfig3dImperativeState.getIsPinned | `(` `)` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-renderconfig3dstate"></a>

### *class* fos.RenderConfig3dState()

### RenderConfig3dState

Derived 3D modal state exposed by [`useRenderConfig3dState`](#fos.useRenderConfig3dState).

| Name                                   | Type                                             | Description                                                                 |
|----------------------------------------|--------------------------------------------------|-----------------------------------------------------------------------------|
| RenderConfig3dState.activeDirectSlices | `Array<` `string` `>`                            | Active non-FO3D 3D slices rendered alongside the scene.                     |
| RenderConfig3dState.activeFo3dSlice    | `Union<` `string` `,` `null` `>`                 | Active FO3D slice currently driving the scene, if one is selected.          |
| RenderConfig3dState.activeSampleMap    | `plugins.fiftyone.state.RenderConfig3dSampleMap` | Resolved samples for the currently active 3D slices.                        |
| RenderConfig3dState.activeSlices       | `Array<` `string` `>`                            | Slice names currently participating in 3D rendering.                        |
| RenderConfig3dState.allSampleMap       | `plugins.fiftyone.state.RenderConfig3dSampleMap` | Resolved samples for every available 3D slice in the current modal context. |
| RenderConfig3dState.allSlices          | `Array<` `string` `>`                            | All available 3D slice names.                                               |
| RenderConfig3dState.fo3dContent        | `Union<` `unknown` `,` `null` `>`                | Parsed FO3D scene content cached for the active scene sample.               |
| RenderConfig3dState.has3dSlice         | `boolean`                                        | Whether the current modal context exposes any 3D slice.                     |
| RenderConfig3dState.hasFo3dSlice       | `boolean`                                        | Whether any available 3D slice resolves to an FO3D asset.                   |
| RenderConfig3dState.hasMultipleSlices  | `boolean`                                        | Whether more than one 3D slice is available.                                |
| RenderConfig3dState.interactionSample  | `plugins.fiftyone.state.ModalSample`             | Representative sample used for 3D interaction-driven behavior.              |
| RenderConfig3dState.interactionSlice   | `Union<` `string` `,` `null` `>`                 | Slice corresponding to `RenderConfig3dState.interactionSample`.             |
| RenderConfig3dState.is3dVisible        | `boolean`                                        | Whether the 3D viewer should currently be shown.                            |
| RenderConfig3dState.is3dVisibleSetting | `boolean`                                        | Persisted user preference for showing the 3D viewer.                        |
| RenderConfig3dState.isPinned           | `boolean`                                        | Whether the 3D selection is pinned to a specific slice.                     |
| RenderConfig3dState.non3dSlices        | `Array<` `string` `>`                            | All available non-3D slice names.                                           |
| RenderConfig3dState.pinnedSlice        | `Union<` `string` `,` `null` `>`                 | Slice name currently pinned for 3D rendering, if any.                       |
| RenderConfig3dState.realFo3dSlices     | `Array<` `string` `>`                            | Available 3D slices whose media resolves to FO3D files.                     |
| RenderConfig3dState.sceneSample        | `plugins.fiftyone.state.ModalSample`             | Sample currently used to render the visible 3D scene.                       |

<a id="fos-fiftyone-fiftyone-fiftyone-state-responsefrom"></a>

### *class* fos.ResponseFrom()

### ResponseFrom

<a id="fos-fiftyone-fiftyone-fiftyone-state-retryconfig"></a>

### *class* fos.RetryConfig()

### RetryConfig

Retry configuration.

| Name                    | Type     | Description                                    |
|-------------------------|----------|------------------------------------------------|
| RetryConfig.id          | `string` | Unique ID to identify this retryable instance. |
| RetryConfig.maxAttempts | `number` | Maximum number of attempts.                    |

<a id="fos-fiftyone-fiftyone-fiftyone-state-sample"></a>

### *class* fos.Sample()

### Sample

| Name   | Type                                                                                                 | Description   |
|--------|------------------------------------------------------------------------------------------------------|---------------|
| Sample | `Exclude < PaginateSamplesNode ,  >` `<` `plugins.fiftyone.state.PaginateSamplesNode` `,` `null` `>` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-selectioniconstyle"></a>

### *class* fos.SelectionIconStyle()

### SelectionIconStyle

Union of `'checkmark'`, `'green-checkmark'`, `'red-checkmark'`, `'thumbsup'`, `'thumbsdown'`, `'pin'`, `'star'`, `'x'`, `'bookmark'`

<a id="fos-fiftyone-fiftyone-fiftyone-state-selectionstyle"></a>

### *class* fos.SelectionStyle()

### SelectionStyle

| Name                   | Type                                        | Description   |
|------------------------|---------------------------------------------|---------------|
| SelectionStyle.alt     | `plugins.fiftyone.state.SelectionIconStyle` |               |
| SelectionStyle.default | `plugins.fiftyone.state.SelectionIconStyle` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-selectiontype"></a>

### *class* fos.SelectionType()

### SelectionType

Union of `'default'`, `'alt'`

<a id="fos-fiftyone-fiftyone-fiftyone-state-sidebarentry"></a>

### *class* fos.SidebarEntry()

### SidebarEntry

Union of [`EmptyEntry`](#fos.EmptyEntry), [`EmptyAnnotationsEntry`](#fos.EmptyAnnotationsEntry), [`GroupEntry`](#fos.GroupEntry), [`InputEntry`](#fos.InputEntry), [`LabelEntry`](#fos.LabelEntry), [`LoadingEntry`](#fos.LoadingEntry), [`PathEntry`](#fos.PathEntry)

## Enums

<a id="fos-fiftyone-fiftyone-fiftyone-state-entrykind"></a>

### EntryKind

| Name              | Value   |
|-------------------|---------|
| EMPTY             |         |
| EMPTY_ANNOTATIONS |         |
| GROUP             |         |
| INPUT             |         |
| LABEL             |         |
| LOADING           |         |
| PATH              |         |

<a id="fos-fiftyone-fiftyone-fiftyone-state-modalmode"></a>

### ModalMode

Operating mode of the modal.

| Name     | Value   |
|----------|---------|
| ANNOTATE |         |
| EXPLORE  |         |

## Variables

<a id="fos-fiftyone-fiftyone-fiftyone-state-annotate"></a>

### ANNOTATE

| Name         | Type   | Description   |
|--------------|--------|---------------|
| `'annotate'` |        |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-beforescreenshotcontext"></a>

### BeforeScreenshotContext

| Name            | Type                                 | Description   |
|-----------------|--------------------------------------|---------------|
| Context < Set > | `Context < Set >` `<` `Set <  >` `>` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-default-alpha"></a>

### DEFAULT_ALPHA

| Name   | Type   | Description   |
|--------|--------|---------------|
| `0.7`  |        |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-default-label-selection-style"></a>

### DEFAULT_LABEL_SELECTION_STYLE

| Name                | Type                                         | Description   |
|---------------------|----------------------------------------------|---------------|
| LabelSelectionStyle | `plugins.fiftyone.state.LabelSelectionStyle` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-default-selected"></a>

### DEFAULT_SELECTED

| Name              | Type                                       | Description   |
|-------------------|--------------------------------------------|---------------|
| DatasetViewOption | `plugins.fiftyone.state.DatasetViewOption` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-default-selection-style"></a>

### DEFAULT_SELECTION_STYLE

| Name           | Type                                    | Description   |
|----------------|-----------------------------------------|---------------|
| SelectionStyle | `plugins.fiftyone.state.SelectionStyle` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-default-shown-label-attributes"></a>

### DEFAULT_SHOWN_LABEL_ATTRIBUTES

<a id="fos-fiftyone-fiftyone-fiftyone-state-explore"></a>

### EXPLORE

| Name        | Type   | Description   |
|-------------|--------|---------------|
| `'explore'` |        |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-grid-spaces-default"></a>

### GRID_SPACES_DEFAULT

| Name         | Type                  | Description   |
|--------------|-----------------------|---------------|
| active_child | `string`              |               |
| children     | `Array<` `Object` `>` |               |
| component_id | `string`              |               |
| id           | `string`              |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-group-by-view-stage"></a>

### GROUP_BY_VIEW_STAGE

| Name                             | Type   | Description   |
|----------------------------------|--------|---------------|
| `'fiftyone.core.stages.GroupBy'` |        |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-indefinite-toast-timeout"></a>

### INDEFINITE_TOAST_TIMEOUT

Timeout value which will cause the activity toast to remain open indefinitely.

| Name   | Type   | Description   |
|--------|--------|---------------|
| `-1`   |        |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-label-tags-field"></a>

### LABEL_TAGS_FIELD

| Name            | Type   | Description   |
|-----------------|--------|---------------|
| `'_label_tags'` |        |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-limit-view-stage"></a>

### LIMIT_VIEW_STAGE

| Name                           | Type   | Description   |
|--------------------------------|--------|---------------|
| `'fiftyone.core.stages.Limit'` |        |               |

<a id="id93"></a>

### LOADING

Sentinel returned by [`useActiveModalSampleValue`](#fos.useActiveModalSampleValue) when no real value is
available yet. Returned in two cases:

1. The active modal sidebar sample is still loading.
2. The sample failed with `GroupSampleNotFound` — sparse
   groups can legitimately lack a sample on the active slice; consumers
   should render a placeholder rather than crashing.

Other errors (including plain `SampleNotFound`) still bubble — they
indicate a real problem, not a transient loading state.

Compare with `=== LOADING` and typically render a loading placeholder.

<a id="fos-fiftyone-fiftyone-fiftyone-state-match-label-tags"></a>

### MATCH_LABEL_TAGS

| Name            | Type                  | Description   |
|-----------------|-----------------------|---------------|
| embeddedDocType | `Array<` `string` `>` |               |
| ftype           | `string`              |               |
| path            | `string`              |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-match-view-stage"></a>

### MATCH_VIEW_STAGE

| Name                           | Type   | Description   |
|--------------------------------|--------|---------------|
| `'fiftyone.core.stages.Match'` |        |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-other-group"></a>

### OTHER_GROUP

| Name      | Type   | Description   |
|-----------|--------|---------------|
| `'other'` |        |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-reserved-groups"></a>

### RESERVED_GROUPS

| Name           | Type                              | Description   |
|----------------|-----------------------------------|---------------|
| Set < string > | `Set < string >` `<` `string` `>` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-relayenvironmentkey"></a>

### RelayEnvironmentKey

| Name           | Type             | Description   |
|----------------|------------------|---------------|
| EnvironmentKey | `EnvironmentKey` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-session-default"></a>

### SESSION_DEFAULT

| Name    | Type                             | Description   |
|---------|----------------------------------|---------------|
| Session | `plugins.fiftyone.state.Session` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-skip-view-stage"></a>

### SKIP_VIEW_STAGE

| Name                          | Type   | Description   |
|-------------------------------|--------|---------------|
| `'fiftyone.core.stages.Skip'` |        |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-sort-view-stage"></a>

### SORT_VIEW_STAGE

| Name                            | Type   | Description   |
|---------------------------------|--------|---------------|
| `'fiftyone.core.stages.SortBy'` |        |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-tab-options"></a>

### TAB_OPTIONS

<a id="fos-fiftyone-fiftyone-fiftyone-state-tab-options-map"></a>

### TAB_OPTIONS_MAP

| Name        | Type     | Description   |
|-------------|----------|---------------|
| FILTER_RULE | `string` |               |
| SELECTION   | `string` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-tags-field"></a>

### TAGS_FIELD

| Name     | Type   | Description   |
|----------|--------|---------------|
| `'tags'` |        |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-take-view-stage"></a>

### TAKE_VIEW_STAGE

| Name                          | Type   | Description   |
|-------------------------------|--------|---------------|
| `'fiftyone.core.stages.Take'` |        |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-temporal-tags-field"></a>

### TEMPORAL_TAGS_FIELD

| Name               | Type   | Description   |
|--------------------|--------|---------------|
| `'_temporal_tags'` |        |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-appconfigdefault"></a>

### appConfigDefault

| Name   | Type   | Description   |
|--------|--------|---------------|
| `any`  |        |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-currentmodaluniqueidjotaiatom"></a>

### currentModalUniqueIdJotaiAtom

Current modal unique id.
It’s a concatenation of the group id and the sample id.

<a id="fos-fiftyone-fiftyone-fiftyone-state-datasetquerycontext"></a>

### datasetQueryContext

| Name                               | Type                                                                                         | Description   |
|------------------------------------|----------------------------------------------------------------------------------------------|---------------|
| Context < savedViewsFragment$key > | `Context < savedViewsFragment$key >` `<` `plugins.fiftyone.state.savedViewsFragment$key` `>` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-hoveredinstances"></a>

### hoveredInstances

Set of hovered instances

<a id="fos-fiftyone-fiftyone-fiftyone-state-jotaistore"></a>

### jotaiStore

| Name            | Type                                                                 | Description   |
|-----------------|----------------------------------------------------------------------|---------------|
| ReturnType <  > | `ReturnType <  >` `<` <br/><br/>```<br/>``<br/>```<br/><br/>\`\` `>` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-modalbridge"></a>

### modalBridge

Bridge for synchronous access to modal viewport state from non-React code
Provides read-only access to saved viewport state (zoom/pan position).

| Name             | Type                                        | Description                             |
|------------------|---------------------------------------------|-----------------------------------------|
| getModalViewport | `plugins.fiftyone.state.ModalViewportState` | Reads the current modal viewport state. |

<a id="id97"></a>

### modalMode

| Name                                 | Type                                                                                                                           | Description   |
|--------------------------------------|--------------------------------------------------------------------------------------------------------------------------------|---------------|
| WritableAtom < ModalMode ,  , void > | `WritableAtom < ModalMode ,  , void >` `<` `plugins.fiftyone.state.ModalMode` `,` `[ SetStateActionWithReset ]` `,` `void` `>` |               |

<a id="id99"></a>

### modalNavigation

| Name   | Type                                                         | Description   |
|--------|--------------------------------------------------------------|---------------|
| get    | `(` `)`                                                      |               |
| set    | `(` `value` `:` `plugins.fiftyone.state.ModalNavigation` `)` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-numconcurrentrenderinglabels"></a>

### numConcurrentRenderingLabels

Number of concurrently rendering labels.

<a id="fos-fiftyone-fiftyone-fiftyone-state-removeallhoveredinstances"></a>

### removeAllHoveredInstances

Remove all hovered instances

| Name                               | Type                                                                        | Description   |
|------------------------------------|-----------------------------------------------------------------------------|---------------|
| WritableAtom < unknown ,  , void > | `WritableAtom < unknown ,  , void >` `<` `unknown` `,` `[ ]` `,` `void` `>` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-screenshotcallbacks"></a>

### screenshotCallbacks

| Name     | Type                     | Description   |
|----------|--------------------------|---------------|
| Set <  > | `Set <  >` `<` `( )` `>` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-stores"></a>

### stores

| Name     | Type                        | Description   |
|----------|-----------------------------|---------------|
| Set <  > | `Set <  >` `<` `Object` `>` |               |

<a id="fos-fiftyone-fiftyone-fiftyone-state-updatehoveredinstances"></a>

### updateHoveredInstances

add a label instance to the hovered instances set

| Name                               | Type                                                                                 | Description   |
|------------------------------------|--------------------------------------------------------------------------------------|---------------|
| WritableAtom < unknown ,  , void > | `WritableAtom < unknown ,  , void >` `<` `unknown` `,` `[ newValue ]` `,` `void` `>` |               |
