from typing import Dict
from typing import Any


def default_style() -> Dict[str, Any]:
    """Define default values of the pulse stylesheet."""
    return {
        'formatter.general.fig_width': 13,
        'formatter.general.fig_chart_height': 1.5,
        'formatter.general.vertical_resolution': 1e-6,
        'formatter.general.max_scale': 100,
        'formatter.color.waveforms': {
            'W': ['#648fff', '#002999'],
            'D': ['#648fff', '#002999'],
            'U': ['#ffb000', '#994A00'],
            'M': ['#dc267f', '#760019'],
            'A': ['#dc267f', '#760019']
        },
        'formatter.color.baseline': '#000000',
        'formatter.color.barrier': '#222222',
        'formatter.color.background': '#f2f3f4',
        'formatter.color.fig_title': '#000000',
        'formatter.color.annotate': '#222222',
        'formatter.color.frame_change': '#000000',
        'formatter.color.snapshot': '#000000',
        'formatter.color.axis_label': '#000000',
        'formatter.color.opaque_shape': ['#f2f3f4', '#000000'],
        'formatter.alpha.fill_waveform': 0.3,
        'formatter.alpha.baseline': 1.0,
        'formatter.alpha.barrier': 0.7,
        'formatter.alpha.opaque_shape': 0.7,
        'formatter.layer.fill_waveform': 2,
        'formatter.layer.baseline': 1,
        'formatter.layer.barrier': 1,
        'formatter.layer.annotate': 5,
        'formatter.layer.axis_label': 5,
        'formatter.layer.frame_change': 4,
        'formatter.layer.snapshot': 3,
        'formatter.layer.fig_title': 6,
        'formatter.margin.top': 0.5,
        'formatter.margin.bottom': 0.5,
        'formatter.margin.left_percent': 0.05,
        'formatter.margin.right_percent': 0.05,
        'formatter.margin.between_channel': 0.2,
        'formatter.label_offset.pulse_name': 0.3,
        'formatter.label_offset.chart_info': 0.3,
        'formatter.label_offset.frame_change': 0.3,
        'formatter.label_offset.snapshot': 0.3,
        'formatter.text_size.axis_label': 15,
        'formatter.text_size.annotate': 12,
        'formatter.text_size.frame_change': 20,
        'formatter.text_size.snapshot': 20,
        'formatter.text_size.fig_title': 15,
        'formatter.text_size.axis_break_symbol': 15,
        'formatter.line_width.fill_waveform': 0,
        'formatter.line_width.axis_break': 6,
        'formatter.line_width.baseline': 1,
        'formatter.line_width.barrier': 1,
        'formatter.line_width.opaque_shape': 1,
        'formatter.line_style.fill_waveform': '-',
        'formatter.line_style.baseline': '-',
        'formatter.line_style.barrier': ':',
        'formatter.line_style.opaque_shape': '--',
        'formatter.channel_scaling.drive': 1.0,
        'formatter.channel_scaling.control': 1.0,
        'formatter.channel_scaling.measure': 1.0,
        'formatter.channel_scaling.acquire': 1.0,
        'formatter.channel_scaling.pos_spacing': 0.1,
        'formatter.channel_scaling.neg_spacing': -0.1,
        'formatter.box_width.opaque_shape': 150,
        'formatter.box_height.opaque_shape': 0.5,
        'formatter.axis_break.length': 3000,
        'formatter.axis_break.max_length': 1000,
        'formatter.control.apply_phase_modulation': True,
        'formatter.control.show_snapshot_channel': True,
        'formatter.control.show_acquire_channel': True,
        'formatter.control.show_empty_channel': True,
        'formatter.control.auto_chart_scaling': True,
        'formatter.control.axis_break': True,
        'formatter.unicode_symbol.frame_change': u'\u21BA',
        'formatter.unicode_symbol.snapshot': u'\u21AF',
        'formatter.unicode_symbol.phase_parameter': u'\u03b8',
        'formatter.unicode_symbol.freq_parameter': 'f',
        'formatter.latex_symbol.frame_change': r'\circlearrowleft',
        'formatter.latex_symbol.snapshot': '',
        'formatter.latex_symbol.phase_parameter': r'\theta',
        'formatter.latex_symbol.freq_parameter': 'f',
        'generator.waveform': [],
        'generator.frame': [],
        'generator.chart': [],
        'generator.snapshot': [],
        'generator.barrier': [],
        'layout.chart_channel_map': None,
        'layout.time_axis_map': None,
        'layout.figure_title': None}