//// /// Copyright (c) 2016 Martin Donath /// /// Permission is hereby granted, free of charge, to any person obtaining a /// copy of this software and associated documentation files (the "Software"), /// to deal in the Software without restriction, including without limitation /// the rights to use, copy, modify, merge, publish, distribute, sublicense, /// and/or sell copies of the Software, and to permit persons to whom the /// Software is furnished to do so, subject to the following conditions: /// /// The above copyright notice and this permission notice shall be included in /// all copies or substantial portions of the Software. /// /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, /// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL /// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING /// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER /// DEALINGS //// // ---------------------------------------------------------------------------- // Search // ---------------------------------------------------------------------------- // Application search .md-search { position: relative; // Search overlay &__overlay { display: none; // [mobile -]: Only show overlay on mobile @include break-to-device(mobile) { display: block; position: absolute; top: 0.4rem; left: 0.4rem; width: 4.0rem; height: 4.0rem; transform-origin: center; transition: transform 0.3s 0.1s, opacity 0.2s 0.2s; border-radius: 2.0rem; // TODO: correct? background: #EEEEEE; opacity: 0; overflow: hidden; z-index: 0; // Expanded overlay .md-toggle--search:checked ~ .md-header & { transform: scale(40); transition: transform 0.4s, opacity 0.1s; opacity: 1; z-index: 1; } } } // Inner wrapper &__inner { padding: 0.8rem 0.8rem 0; // [tablet +]: Header-embedded search @include break-from-device(tablet) { padding: 0.4rem; } } // Search form &__form { position: relative; border-radius: px2rem(2px); text-align: right; // [mobile -]: Add drop-shadow on mobile @include break-to-device(mobile) { @include z-depth(2); } } // Icon &__icon { position: absolute; top: 0.8rem; left: 1.2rem; transition: color 0.25s; font-size: 2.4rem; cursor: pointer; // [mobile -]: Use back arrow as search icon @include break-to-device(mobile) { top: 1.2rem; // Hack: @extend doesn't work in media queries, so override manually &::before { content: "arrow_back"; } } } // Search field &__input { padding: 0 0.8rem 0 6.4rem; border-radius: px2rem(2px); // Placeholder and icon color in active state + .md-search__icon, &::placeholder { color: $md-color-black--light; } // [mobile -]: Full-screen search bar @include break-to-device(mobile) { width: 100%; height: 4.8rem; font-size: 1.8rem; } // [tablet +]: Header-embedded search @include break-from-device(tablet) { width: 23.0rem; height: 4.0rem; padding-left: 4.8rem; transition: width 0.25s cubic-bezier(0.1, 0.7, 0.1, 1.0), background-color 0.25s, color 0.25s; background: $md-color-white--lightest; color: $md-color-white; font-size: ms(0); // Placeholder color + .md-search__icon, &::placeholder { transition: color 0.25s; color: $md-color-white; } // Hovered search field &:hover { background: $md-color-white--lighter; } // Active search field &:focus { width: 40.0rem; background: $md-color-white; color: $md-color-black; // Placeholder and icon color in active state + .md-search__icon, &::placeholder { color: $md-color-black--light; } } } } }