// RIVER Design-System - Defaults: Type //

// Define the type map used in the design system here.
// Each group corrosponds to a CSS property that can be applied via design utilities.

// Design Map for Type
@if(design-setting('defaults')
    // Output type defaults if maps are enabled, or 'type' has been whitelisted
    and (
        design-setting('defaults.maps', false) == true
        or list-contains(design-setting('defaults.maps'), 'type')
    )
) {
    $design-map-type: (
        // Whether to output this map as CSS Variables; options include: false (default), true
        '_variables':       true,

        // Font Family
        'font': (
            // Range
            'primary':      "'Helvetica Now Text', Helvetica, Verdana, sans-serif",
            'secondary':    "Montserrat, Verdana, sans-serif",
            // References
            'normal':       'primary',
            'title':        'primary',
        ),

        // Font Size
        'size': map-merge(
            design-type-scale-range(
                // Range
                design-setting('type.scale.base'), // 1rem
                design-setting('type.scale.multiplier'), // 1.08,
                design-setting('type.scale.count'), // 25
            ),
            (
                // References
                'x-small':      4, // design-type-scale-value(4), 1.26rem, 12.6px
                'small':        6, // design-type-scale-value(6), 1.47rem, 14.7px
                'normal':       8, // design-type-scale-value(8), 1.71rem, 17.1px
                'large':        10, // design-type-scale-value(10), 2.00rem, 20.0px
                'x-large':      13, // design-type-scale-value(13), 2.52rem, 25.2px
                // References - Titles
                'title-1':      24, // design-type-scale-value(24), 5.87rem, 58.7px
                'title-2':      19, // design-type-scale-value(19), 4.00rem, 40.0px
                'title-3':      16, // design-type-scale-value(16), 3.17rem, 31.7px
                'title-4':      13, // design-type-scale-value(13), 2.52rem, 25.2px
                'title-5':      11, // design-type-scale-value(11), 2.16rem, 21.6px
                'title-6':      9, // design-type-scale-value(9), 1.85rem, 18.5px
            ),
        ), // Merging in the type-scale is optional if you define all sizes explicitly

        // Font Weight
        'weight': (
            // References
            'light':        300,//200,
            'normal':       400,//300,
            'bold':         500,//400,
            'title':        600,//500,
        ),

        // Paragraph Spacing
        'spacing': (
            // References
            'normal':       1em,
            'small':        0.5em,
            'title':        0.5em,
            'none':         0em,
        ),

        // Line Height
        'line-height': (
             // References
            'normal':       1.5em,
            'title':        1.8em,
        ),

        // Letter Spacing
        'letter-spacing': (
             // References
            'normal':       0,
            'title':        0.05em,
        ),

    ) !default;

    // Apply the map
    $design-map: design-map-set('type', $design-map-type);
}

// To update the map, you can use any of:
// design-map-set('type', (...)); design-map-update('type', (...)); design-map-deep-update('type', (...))


// Default Type Scale (1rem base, 1.08x mutiplier, 25x count)
// Type Scale 1:            1.00rem; // 10.0px
// Type Scale 2:            1.08rem; // 10.8px
// Type Scale 3:            1.17rem; // 11.7px
// Type Scale 4:            1.26rem; // 12.6px
// Type Scale 5:            1.36rem; // 13.6px
// Type Scale 6:            1.47rem; // 14.7px
// Type Scale 7:            1.59rem; // 15.9px
// Type Scale 8:            1.71rem; // 17.1px
// Type Scale 9:            1.85rem; // 18.5px
// Type Scale 10:           2.00rem; // 20.0px
// Type Scale 11:           2.16rem; // 21.6px
// Type Scale 12:           2.33rem; // 23.3px
// Type Scale 13:           2.52rem; // 25.2px
// Type Scale 14:           2.72rem; // 27.2px
// Type Scale 15:           2.94rem; // 29.4px
// Type Scale 16:           3.17rem; // 31.7px
// Type Scale 17:           3.43rem; // 34.3px
// Type Scale 18:           3.70rem; // 37.0px
// Type Scale 19:           4.00rem; // 40.0px
// Type Scale 20:           4.32rem; // 43.2px
// Type Scale 21:           4.66rem; // 46.6px
// Type Scale 22:           5.03rem; // 50.3px
// Type Scale 23:           5.44rem; // 54.4px
// Type Scale 24:           5.87rem; // 58.7px
// Type Scale 25:           6.34rem; // 63.4px
