diff --git a/ionic/components/search-bar/modes/ios.scss b/ionic/components/search-bar/modes/ios.scss index 2e702ce67a..c7f9d10922 100644 --- a/ionic/components/search-bar/modes/ios.scss +++ b/ionic/components/search-bar/modes/ios.scss @@ -15,8 +15,9 @@ $search-bar-ios-input-height: 28px !default; $search-bar-ios-input-placeholder-color: #9D9D9D !default; $search-bar-ios-input-text-color: #000 !default; $search-bar-ios-input-background-color: #FFFFFF !default; -$search-bar-ios-input-transition: all 0.3s linear !default; -//cubic-bezier(.25, .45, .05, 1) +$search-bar-ios-input-transition: all 400ms cubic-bezier(.25, .45, .05, 1) !default; +$search-bar-ios-cancel-transition: all 400ms cubic-bezier(.25, .45, .05, 1) !default; + $search-bar-ios-input-close-icon-color: #8F8E94 !default; $search-bar-ios-input-close-icon-svg: "" !default; $search-bar-ios-input-close-icon-size: 17px !default; @@ -88,19 +89,9 @@ $search-bar-ios-input-close-icon-size: 17px !default; .search-bar-cancel { @extend button[clear]; - // transition: all 2s cubic-bezier(.25, .45, .05, 1); - transition: $search-bar-ios-input-transition; - transition-duration: 3s !important; - margin-right: calc(-100%); - // transform: translate3d(100px,0,0); - // max-width: 0; - min-height: 0; -} - -.search-bar-cancel.left-align { - max-width: initial; - margin-right: 0; + transition: $search-bar-ios-cancel-transition; padding-left: 8px; + min-height: 0; padding-right: 0; } diff --git a/ionic/components/search-bar/modes/md.scss b/ionic/components/search-bar/modes/md.scss index 4605baf186..84a1c244bd 100644 --- a/ionic/components/search-bar/modes/md.scss +++ b/ionic/components/search-bar/modes/md.scss @@ -69,3 +69,7 @@ $search-bar-md-input-close-icon-size: 22px !default; right: 13px; top: 13px; } + +.search-bar-cancel { + display: none; +} diff --git a/ionic/components/search-bar/search-bar.ts b/ionic/components/search-bar/search-bar.ts index 7bc2933142..766fe60c6d 100644 --- a/ionic/components/search-bar/search-bar.ts +++ b/ionic/components/search-bar/search-bar.ts @@ -74,6 +74,16 @@ export class SearchBar extends Ion { this.query = ''; } + // Add the margin for iOS + afterViewInit() { + this.cancelButton = this.elementRef.nativeElement.querySelector('.search-bar-cancel'); + + if (this.cancelButton) { + this.cancelWidth = this.cancelButton.offsetWidth; + this.cancelButton.style.marginRight = "-" + this.cancelWidth + "px"; + } + } + /** * Much like ngModel, this is called from our valueAccessor for the attached * ControlDirective to update the value internally. @@ -99,10 +109,18 @@ export class SearchBar extends Ion { inputFocused() { this.isFocused = true; this.shouldLeftAlign = true; + + if (this.cancelButton) { + this.cancelButton.style.marginRight = "0px"; + } } inputBlurred() { this.isFocused = false; this.shouldLeftAlign = this.value.trim() != ''; + + if (this.cancelButton) { + this.cancelButton.style.marginRight = "-" + this.cancelWidth + "px"; + } } clearInput() { diff --git a/ionic/components/search-bar/test/floating/main.html b/ionic/components/search-bar/test/floating/main.html index da43d4f498..9d04b18b29 100644 --- a/ionic/components/search-bar/test/floating/main.html +++ b/ionic/components/search-bar/test/floating/main.html @@ -13,6 +13,8 @@ + +