# Default Scenario

Widgetbook creates a built-in `Default` scenario when a story has no defined scenarios and the config has no global `ScenarioDefinition`s.

## How Args Are Picked

When Args are defined at the story level, they provide the initial values.
The default scenario does not define its own args, so it inherits them from the story.

So whatever args you set at story level are used by the default scenario.

## How Modes Are Picked

The default scenario does not define its own [modes](/addons/modes), so it inherits them from the story.

## Interaction with Global Scenario Definitions

When the config defines global `ScenarioDefinition`s, a story without local scenarios does not produce a bare `Default` scenario. Instead, the story's default state serves as the base for the definitions:

- Definitions with `ScenarioStrategy.perScenario` (the default) are applied to the story's default state, producing one scenario per definition named after the definition, e.g. `Dark Mode`.
- Definitions with `ScenarioStrategy.perStory` or `ScenarioStrategy.both` produce one standalone scenario per definition.

In both cases the resulting scenarios inherit the story's args and modes, just like the `Default` scenario would.

## Practical Example

```dart
final $Button = _Story(
  args: _Args.fixed(
    label: 'Continue',
  ),
  modes: [
    MaterialThemeMode('Dark', ThemeData.dark()),
  ],
  // No scenarios here.
);
```

With no global scenario definitions in `config`, Widgetbook generates one scenario named `Default`.
That scenario runs with these effective values:

**Args**

| Property | Value |
| --- | --- |
| label | `Continue` |

**Modes**

| Property | Value |
| --- | --- |
| theme | `ThemeData.dark()` |
