<commit_before>////
/// @group themes
/// @access public
/// @author <a href="https://github.com/desig9stein" target="_blank"><NAME></a>
/// @author <a href="https://github.com/simeonoff" target="_blank"><NAME></a>
////

/// @param {Map} $palette [$default-palette] - The palette used as basis for styling the component.
/// @param {Map} $schema [$light-schema] - The schema used as basis for styling the component.
/// @param {Color} $search-separator-border-color [null] - The combo search box separator color.
/// @param {Color} $empty-list-placeholder-color [null] - The combo placeholder text color.
/// @param {Color} $empty-list-background [null] - The combo list background color.
///
/// @requires $default-palette
/// @requires $light-schema
/// @requires apply-palette
/// @requires extend
@function igx-combo-theme(
    $palette: $default-palette,
    $schema: $light-schema,
    $search-separator-border-color: null,
    $empty-list-placeholder-color: null,
    $empty-list-background: null
) {
    $name: 'igx-combo';
    $theme: apply-palette(map-get($schema, $name), $palette);

    @return extend($theme, (
        name: $name,
        palette: $palette,
        search-separator-border-color: $search-separator-border-color,
        empty-list-placeholder-color: $empty-list-placeholder-color,
        empty-list-background: $empty-list-background
    ));
}

/// @param {Map} $theme - The theme used to style the component.
/// @requires {mixin} igx-root-css-vars
/// @requires rem
/// @requires --var
@mixin igx-combo($theme) {
    @include igx-root-css-vars($theme);

    %igx-combo {
        position: relative;
        display: block;

        %igx-button--icon {
            width: rem(24px);
            height: rem(24px);
        }
    }

    %igx-combo__checkbox {
        margin-right: rem(8);
    }


    [dir='rtl'] {
        %igx-combo__checkbox {
            margin-right: 0;
            margin-left: rem(8);
        }
    }

    %igx-combo__drop-down {
        position: absolute;
        width: 100%;

        .igx-drop-down {
            width: 100%;
        }
    }

    %igx-combo__search {
        padding: rem(8px) rem(16px);
        margin: 0 !important;
        z-index: 26;
        border-bottom: 1px dashed --var($theme, 'search-separator-border-color');
    }

    %igx-combo__content {
        position: relative;
        overflow: hidden;

        &:focus {<commit_msg>feat(combo): Adding RTL support for combo component<commit_after>////
/// @group themes
/// @access public
/// @author <a href="https://github.com/desig9stein" target="_blank"><NAME></a>
/// @author <a href="https://github.com/simeonoff" target="_blank"><NAME></a>
////

/// @param {Map} $palette [$default-palette] - The palette used as basis for styling the component.
/// @param {Map} $schema [$light-schema] - The schema used as basis for styling the component.
/// @param {Color} $search-separator-border-color [null] - The combo search box separator color.
/// @param {Color} $empty-list-placeholder-color [null] - The combo placeholder text color.
/// @param {Color} $empty-list-background [null] - The combo list background color.
///
/// @requires $default-palette
/// @requires $light-schema
/// @requires apply-palette
/// @requires extend
@function igx-combo-theme(
    $palette: $default-palette,
    $schema: $light-schema,
    $search-separator-border-color: null,
    $empty-list-placeholder-color: null,
    $empty-list-background: null
) {
    $name: 'igx-combo';
    $theme: apply-palette(map-get($schema, $name), $palette);

    @return extend($theme, (
        name: $name,
        palette: $palette,
        search-separator-border-color: $search-separator-border-color,
        empty-list-placeholder-color: $empty-list-placeholder-color,
        empty-list-background: $empty-list-background
    ));
}

/// @param {Map} $theme - The theme used to style the component.
/// @requires {mixin} igx-root-css-vars
/// @requires rem
/// @requires --var
@mixin igx-combo($theme) {
    @include igx-root-css-vars($theme);

    $left: if-ltr(left, right);
    $right: if-ltr(right, left);

    %igx-combo {
        position: relative;
        display: block;

        %igx-button--icon {
            width: rem(24px);
            height: rem(24px);
        }
    }

    %igx-combo__checkbox {
        margin-#{$right}: rem(8);
    }


    [dir='rtl'] {
        %igx-combo__checkbox {
            margin-#{$right}: 0;
            margin-#{$left}: rem(8);
        }
    }

    %igx-combo__drop-down {
        position: absolute;
        width: 100%;

        .igx-drop-down {
            width: 100%;
        }
    }

    %igx-combo__search {
        padding: rem(8px) rem(16px);
        margin: 0 !important;
        z-index: 26;
        border-bottom: 1px dashed --var($theme, 'search-separator-border-color');
    }

    %igx-combo__content {
        position: relative;
        overflow: hidden;

        &:focus {
{'fraction_non_alphanumeric': 0.16565533980582525, 'fraction_numerical': 0.00849514563106796, 'mean_word_length': 2.3685286103542236, 'pattern_counts': {'":': 0, '<': 15, '<?xml version=': 0, '>': 15, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5328748', 'n_tokens_mistral': 1667, 'n_tokens_neox': 1564, 'n_words': 358}