{"version":3,"sources":["..\\..\\scss\\BsMultiSelect.bs4.scss","..\\..\\node_modules\\bootstrap-4\\scss\\mixins\\_gradients.scss"],"names":[],"mappings":"AA2CI,6CACI,QAAA,KACA,UAAA,KACA,OAAA,KACA,WAAA,2BACA,cAAA,EACA,OAAA,KACA,gBAAA,KAEA,mDACI,OAAA,KACA,QAAA,EACA,OAAA,EACA,YAAA,QACA,MAAA,QACA,iBAAA,YACA,OAAA,EACA,QAAA,EACA,WAAA,KAEJ,sDACI,iBAAA,QAEJ,+DACI,MAAA,QAEA,QAAA,EAHJ,mEACI,MAAA,QAEA,QAAA,EAHJ,0DACI,MAAA,QAEA,QAAA,EAIJ,sDACI,aAAA,EACA,sBAAA,EAAA,qBAAA,EACA,oBAAA,OAAA,mBAAA,OACA,YAAA,MACA,eAAA,MACA,YAAA,MACA,mEACI,MAAA,KACA,UAAA,MACA,YAAA,KACA,YAAA,IAIJ,oEACI,QAAA,IA5EZ,mDACI,MAAA,QACA,iBAAA,KACA,aAAA,QACA,QAAA,EAII,WAAA,EAAA,EAAA,EAAA,MAAA,oBA0EJ,6DACQ,WAAA,0BACA,mEACI,UAAA,QAIZ,6DACQ,WAAA,yBACA,mEACI,UAAA,QA3EZ,sDAAA,kEAEI,aAAA,QACA,4DAAA,wEACI,aAAA,QACA,WAAA,EAAA,EAAA,EAAA,MAAA,oBALR,wDAAA,oEAEI,aAAA,QACA,8DAAA,0EACI,aAAA,QACA,WAAA,EAAA,EAAA,EAAA,MAAA,oBA8EZ,+CACI,gBAAA,KACA,kDACI,aAAA,EACA,cAAA,EACA,cAAA,EAEA,qDAEI,QAAA,MACA,MAAA,KACA,QAAA,EAAA,MACA,MAAA,KACA,YAAA,IACA,MAAA,QACA,WAAA,QAEA,YAAA,OACA,iBAAA,YACA,OAAA,EACA,OAAA,QACA,qEACI,gBAAA,WACA,2FAAA,2FACI,OAAA,QAIR,oFACI,MAAA,QAEJ,2DACI,MAAA,eC3IhB,iBAAA,QD8IY,0EACI,MAAA,eAEJ,oEACI,MAAA,eAMZ,iEACI,aAAA,OACA,cAAA,OACA,QAAA,EACA,UAAA,MAKJ,wEACI,WAAA,0BACA,8EACI,UAAA,QAMR,wEACI,WAAA,yBACA,8EACI,UAAA,QAWhB,8HACI,MAAA,QAEJ,oIACI,MAAA,QAIJ,oIACI,MAAA,eAEJ,0IACI,MAAA,eAIJ,sIACI,MAAA,KACA,aAAA,QC1MA,iBAAA,QD8MJ,4IACI,OAAA,QAAA,MAAA","sourcesContent":["@use \"sass:map\";\r\n@import \"./../node_modules/bootstrap-4/scss/_functions\";\r\n@import \"./../node_modules/bootstrap-4/scss/vendor/_rfs\";\r\n@import \"./../node_modules/bootstrap-4/scss/mixins/_box-shadow\";\r\n@import \"./../node_modules/bootstrap-4/scss/mixins/_transition\";\r\n@import \"./../node_modules/bootstrap-4/scss/mixins/_forms\";\r\n@import \"./../node_modules/bootstrap-4/scss/mixins/_gradients\";\r\n@import \"./../node_modules/bootstrap-4/scss/_variables\"; // update it after copy, reference your custom theme variables\r\n\r\n// NOTE: strict copy of BS4  @mixin form-control-focus()  from mixins/_forms.scss\r\n// NOTE: there are changes in form-control-focus in BS5 (depricated?)\r\n// NOTE: ask Bootstrap team to add .focus class to the framework\r\n@mixin form-control-focus-bsmultiselect() {\r\n    &.focus { // .focus instead of :focus\r\n        color: $input-focus-color;\r\n        background-color: $input-focus-bg;\r\n        border-color: $input-focus-border-color;\r\n        outline: 0;\r\n        @if $enable-shadows {\r\n            box-shadow: $input-box-shadow, $input-focus-box-shadow;\r\n        } @else {\r\n            box-shadow: $input-focus-box-shadow;\r\n        }\r\n    }\r\n}\r\n\r\n// NOTE: .was-validated support for ul.form-control, done by analogy to @form-validation-state\r\n//       that call  @include form-validation-state-selector($state) mixins/_forms.scss\r\n@mixin form-validation-state-bsmultiselect($state, $color) {\r\n    ul.form-control{\r\n        .was-validated &:#{$state},\r\n        &.is-#{$state} {\r\n            border-color: $color;\r\n            &.focus { // .focus instead of :focus\r\n                border-color: $color;\r\n                box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\r\n            }\r\n        }\r\n    }\r\n}\r\n\r\n.dashboardcode-bsmultiselect {\r\n    // JS css/cssPatch: picks\r\n    ul.form-control {\r\n        display: flex;\r\n        flex-wrap: wrap;\r\n        height: auto;\r\n        min-height: #{$input-height};\r\n        margin-bottom: 0;\r\n        cursor: text;\r\n        list-style-type: none;\r\n        \r\n        input {\r\n            height: auto;\r\n            padding: 0;\r\n            margin: 0;\r\n            font-weight: inherit;\r\n            color: inherit;\r\n            background-color: transparent;\r\n            border: 0;\r\n            outline: none;\r\n            box-shadow: none;\r\n        }\r\n        &.disabled{\r\n            background-color: $input-disabled-bg;\r\n        }\r\n        &::placeholder {\r\n            color: $input-placeholder-color;\r\n            // NOTE: CopyPaste from BS - override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\r\n            opacity: 1;\r\n        }\r\n        \r\n        // JS css/cssPatch: pick\r\n        > li.badge {\r\n            padding-left: 0;\r\n            padding-inline-start: 0;\r\n            padding-inline-end: .5rem;\r\n            padding-top: 0.35em;\r\n            padding-bottom: 0.35em;\r\n            line-height: 1.5em;\r\n            button.close {\r\n                float: none;\r\n                font-size: 1.8em;\r\n                line-height: .5em;\r\n                font-weight: 400;\r\n                // BS close orginally float:right, therefore it impossible to configure no-warp policy\r\n                // with .css(\"white-space\", \"nowrap\") or  .css(\"display\", \"inline-block\"); TODO: migrate to flex?\r\n            }\r\n            span.disabled {\r\n                opacity: $btn-disabled-opacity;\r\n            }\r\n        }\r\n\r\n        @include form-control-focus-bsmultiselect();\r\n\r\n        &.form-control-sm {\r\n                min-height: #{$input-height-sm};\r\n                input{\r\n                    font-size: $font-size-sm;\r\n                }\r\n        }\r\n    \r\n        &.form-control-lg {\r\n                min-height: #{$input-height-lg};\r\n                input{\r\n                    font-size: $font-size-lg;\r\n                }\r\n        }\r\n    }\r\n    @include form-validation-state-bsmultiselect(\"valid\", $form-feedback-valid-color);\r\n    @include form-validation-state-bsmultiselect(\"invalid\", $form-feedback-invalid-color);\r\n\r\n    // JS css/cssPatch: choices\r\n    div.dropdown-menu {\r\n        list-style-type: none;\r\n        > ul { \r\n            padding-left: 0;\r\n            padding-right: 0;\r\n            margin-bottom: 0;\r\n            // JS css/cssPatch: choice\r\n            > li {\r\n                // NOTE: next block copied from .dropdown-item to have similar styles\r\n                display: block;\r\n                width: 100%;\r\n                padding: 0 map.get($spacers, 2); // NOTE: overrides BS $dropdown-item-padding-x; because it is too large\r\n                clear: both;\r\n                font-weight: $font-weight-normal;\r\n                color: $dropdown-link-color;\r\n                text-align: inherit;\r\n\r\n                white-space: nowrap;\r\n                background-color: transparent;\r\n                border: 0;\r\n                cursor: pointer;\r\n                .custom-control{ // BS problem: without this dropdown menu's custom checkboxes on inline form justified center\r\n                    justify-content: flex-start; // 'initial' works well but not for IE11\r\n                    .custom-control-input, .custom-control-label{\r\n                        cursor: inherit;\r\n                    }\r\n                }\r\n\r\n                &.disabled .custom-control-label { \r\n                    color:  $custom-control-label-disabled-color; \r\n                }\r\n                &.hover{ // from bs4 _dropdown.scss\r\n                    color: var(--primary); //$dropdown-link-hover-color;\r\n                    @include gradient-bg($dropdown-link-hover-bg);\r\n                }\r\n                &.hover:not(.disabled){\r\n                    color: var(--primary); //$dropdown-link-hover-color;\r\n                }\r\n                &.hover.selected{\r\n                    color: var(--primary); //$dropdown-link-hover-color;\r\n                }\r\n            }\r\n        }\r\n        \r\n\r\n        +div.alert-warning {\r\n            padding-left: .25rem;\r\n            padding-right: .25rem;\r\n            z-index: 4;  \r\n            font-size:small; \r\n        }\r\n    }\r\n\r\n    &.input-group.input-group-sm {\r\n        ul.form-control {\r\n            min-height: #{$input-height-sm};\r\n            input{\r\n                font-size: $font-size-sm;\r\n            }\r\n        }\r\n    }\r\n\r\n    &.input-group.input-group-lg {\r\n        ul.form-control {\r\n            min-height: #{$input-height-lg};\r\n            input{\r\n                font-size: $font-size-lg;\r\n            }\r\n        }\r\n    }\r\n}\r\n\r\n// Till the end I solving BS4 .was-validated problem: no possibility to exclude custom checkboxes from validation styling.\r\n// So there we redefine pseudoclasses :valid:checked and :valid:not(:checked) - our options are allready valid.\r\n// Note: nested form for dropdown with 'novalidate ' attribute possibly could solve it but nested forms are not allowed\r\n\r\n// 1. reset \"coloring\"  (for both checked and uchecked) labels\r\n.was-validated .dashboardcode-bsmultiselect div.dropdown-menu > ul > li .custom-control-input:valid:checked ~ .custom-control-label{\r\n    color: $dropdown-color;\r\n}\r\n.was-validated .dashboardcode-bsmultiselect div.dropdown-menu > ul > li .custom-control-input:valid:not(:checked) ~ .custom-control-label{\r\n    color: $dropdown-color;\r\n}\r\n\r\n// 2. but use different color for hovered item (for both checked and uchecked) labels\r\n.was-validated .dashboardcode-bsmultiselect div.dropdown-menu > ul > li.hover .custom-control-input:valid:checked ~ .custom-control-label{\r\n    color: var(--primary);\r\n}\r\n.was-validated .dashboardcode-bsmultiselect div.dropdown-menu > ul > li.hover .custom-control-input:valid:not(:checked) ~ .custom-control-label{\r\n    color: var(--primary);\r\n}\r\n\r\n// 3. reset \"coloring\" for checkbox ('checked' and 'not(:checked)')\r\n.was-validated .dashboardcode-bsmultiselect div.dropdown-menu > ul > li .custom-control-input:valid:checked ~ .custom-control-label::before {\r\n    color: $custom-control-indicator-checked-color;\r\n    border-color: $custom-control-indicator-checked-border-color;\r\n    @include gradient-bg($custom-control-indicator-checked-bg);\r\n    @include box-shadow($custom-control-indicator-checked-box-shadow);\r\n}\r\n.was-validated .dashboardcode-bsmultiselect div.dropdown-menu > ul > li .custom-control-input:valid:not(:checked) ~ .custom-control-label::before {\r\n    border: $custom-control-indicator-border-color solid $custom-control-indicator-border-width;\r\n}\r\n","// Gradients\n\n@mixin gradient-bg($color) {\n  @if $enable-gradients {\n    background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x;\n  } @else {\n    background-color: $color;\n  }\n}\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n  background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n  background-repeat: repeat-x;\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n  background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n  background-repeat: repeat-x;\n}\n\n@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {\n  background-image: linear-gradient($deg, $start-color, $end-color);\n  background-repeat: repeat-x;\n}\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n  background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n  background-repeat: no-repeat;\n}\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n  background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n  background-repeat: no-repeat;\n}\n@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {\n  background-image: radial-gradient(circle, $inner-color, $outer-color);\n  background-repeat: no-repeat;\n}\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n  background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n"]}