# settings_presets.json

> settings_presets.json defines the preset styles a Shoplazza Theme ships with. See its schema and how preset values map back to settings_schema.json.

The `settings_presets.json` file contains the setting values for theme styles based on the settings included in [settings\_schema.json](./settings-schema-json).

## Location

The `settings_presets.json` file is located in the `config` directory of the theme:

```text title="Directory"
└── theme
    ...
    ├── config
        ├── settings_data.json
        ├── settings_presets.json
        └── settings_schema.json
    └── locales
```

***

## Schema

The `settings_presets.json` file has the following parent objects:

| Object        | Description                                                                                                                           | Required |
| :------------ | :------------------------------------------------------------------------------------------------------------------------------------ | :------- |
| `presets`     | Contains an object for each [theme style](./settings-presets-json#theme-styles). Each object is in the same format as the current. | Yes      |
| `<StyleName>` | Contains an object for a [theme style](./settings-presets-json#theme-styles). Each object is in the same format as the current.    | Yes      |

For example:

```json
{
  "presets": {
    "<StyleName>": {
      "color_body_bg": "#FFFFFF",
      ...
    },
    "Default": {
      "color_body_bg": "#FFFFFF",
      ...
    },
    "Impress": {
      "color_body_bg": "#FFE6EB",
      ...
    }
  }
}
```

:::warning
The `Default` style represents the style composed of all default configurations. When there is a `settings_presets.json` file, there must be a `Default` style.
:::

## Usage

When you're working with the `settings_.json` file, you should familiarize yourself with the following concepts:

* [Theme styles](./settings-presets-json#theme-styles)

### Theme styles

A theme style is a collection of theme setting defaults that enable merchants to easily change the general look and feel of the theme through the theme editor when getting started.

Selecting a theme style updates the current object to use the associated theme style values. However, only values from [presentational settings](./settings-presets-json#presentational-settings) are updated.

#### Presentational settings

Presentational settings are settings that are related to a visual aspect of the theme. Examples of presentational settings include the color and font applied to text, or whether a specific element is visible.

The following input types are presentational settings. Values for these settings are overwritten when switching theme styles.

* [checkbox](../settings/input-settings#checkbox)
* [color](../settings/input-settings#color)
* [font\_picker](../settings/input-settings#font_picker)
* [range](../settings/input-settings#range)
* [select](../settings/input-settings#select)
