@import "../../globals.ios";
@import "./searchbar";
// iOS Searchbar
// --------------------------------------------------
$searchbar-ios-padding-top-bottom: 0 !default;
$searchbar-ios-padding-left-right: 8px !default;
$searchbar-ios-background-color: rgba(0, 0, 0, .2) !default;
$searchbar-ios-border-color: rgba(0, 0, 0, .05) !default;
$searchbar-ios-min-height: 44px !default;
$searchbar-ios-input-search-icon-color: rgba(0, 0, 0, .5) !default;
$searchbar-ios-input-search-icon-svg: "" !default;
$searchbar-ios-input-search-icon-size: 13px !default;
$searchbar-ios-input-height: 3rem !default;
$searchbar-ios-input-line-height: $searchbar-ios-input-height !default;
$searchbar-ios-input-placeholder-color: rgba(0, 0, 0, .5) !default;
$searchbar-ios-input-text-color: #000 !default;
$searchbar-ios-input-background-color: #fff !default;
$searchbar-ios-input-transition: all 400ms cubic-bezier(.25, .45, .05, 1) !default;
$searchbar-ios-cancel-transition: all 400ms cubic-bezier(.25, .45, .05, 1) !default;
$searchbar-ios-input-clear-icon-color: rgba(0, 0, 0, .5) !default;
$searchbar-ios-input-clear-icon-svg: "" !default;
$searchbar-ios-input-clear-icon-size: 18px !default;
$searchbar-ios-toolbar-input-background: rgba(0, 0, 0, .08) !default;
// Searchbar
// -----------------------------------------
ion-searchbar {
padding: $searchbar-ios-padding-top-bottom $searchbar-ios-padding-left-right;
min-height: $searchbar-ios-min-height;
border-top: 1px solid transparent;
border-bottom: 1px solid $searchbar-ios-border-color;
background: $searchbar-ios-background-color;
}
// Searchbar Search Icon
// -----------------------------------------
.searchbar-search-icon {
@include svg-background-image($searchbar-ios-input-search-icon-svg);
@include calc(margin-left, "50% - 60px");
position: absolute;
top: 9px;
left: 9px;
width: $searchbar-ios-input-search-icon-size + 1;
height: $searchbar-ios-input-search-icon-size + 1;
background-repeat: no-repeat;
background-size: $searchbar-ios-input-search-icon-size;
transition: $searchbar-ios-input-transition;
}
// Searchbar Input Field
// -----------------------------------------
.searchbar-input {
@include placeholder($searchbar-ios-input-placeholder-color);
@include calc(padding-left, "50% - 28px");
padding: 0 28px;
height: $searchbar-ios-input-height;
border-radius: 5px;
font-size: 1.4rem;
font-weight: 400;
line-height: $searchbar-ios-input-line-height;
color: $searchbar-ios-input-text-color;
background-color: $searchbar-ios-input-background-color;
transition: $searchbar-ios-input-transition;
}
// Searchbar Clear Input Icon
// -----------------------------------------
.searchbar-clear-icon {
@include svg-background-image($searchbar-ios-input-clear-icon-svg);
position: absolute;
top: 0;
right: 0;
width: 30px;
height: 100%;
background-repeat: no-repeat;
background-position: center;
background-size: $searchbar-ios-input-clear-icon-size;
}
// Searchbar Cancel (iOS only)
// -----------------------------------------
.searchbar-ios-cancel {
flex: 0 0 0%;
margin-right: 0;
margin-left: 0;
padding: 0;
height: 30px;
visibility: hidden;
transform: translateX(calc(100% + #{$searchbar-ios-padding-left-right}));
transition: $searchbar-ios-cancel-transition;
}
// Searchbar Left Aligned (iOS only)
// -----------------------------------------
.searchbar-left-aligned {
.searchbar-search-icon {
margin-left: 0;
}
.searchbar-input {
padding-left: 30px;
}
}
// Searchbar Focused
// -----------------------------------------
.searchbar-focused {
.searchbar-ios-cancel {
flex: 0 0 auto;
padding-left: 8px;
visibility: visible;
transform: translateX(0);
}
}
// Searchbar in Toolbar
// -----------------------------------------
.toolbar {
ion-searchbar {
border-bottom-width: 0;
background: transparent;
.searchbar-input {
background: $searchbar-ios-toolbar-input-background;
}
.searchbar-ios-cancel {
padding: 0;
}
}
.searchbar-focused .searchbar-ios-cancel {
padding-left: 8px;
}
}
// Searchbar Cancel (MD only)
// -----------------------------------------
.searchbar-md-cancel {
display: none;
}
// Searchbar Hairlines (iOS only)
// -----------------------------------------
&.hairlines ion-searchbar {
border-bottom-width: $hairlines-width;
}
// Generate Default Search Bar Colors
// --------------------------------------------------
@each $color-name, $color-base, $color-contrast in get-colors($colors-ios) {
ion-searchbar[#{$color-name}] {
.searchbar-ios-cancel {
color: $color-base;
&:hover:not(.disable-hover) {
color: color-shade($color-base);
}
}
}
.toolbar[#{$color-name}] ion-searchbar {
.searchbar-ios-cancel {
color: $color-contrast;
}
}
}