diff --git a/core/src/components/input/input.ios.scss b/core/src/components/input/input.ios.scss index 013f1e385bc..877a01b3456 100644 --- a/core/src/components/input/input.ios.scss +++ b/core/src/components/input/input.ios.scss @@ -20,6 +20,15 @@ .input-clear-icon { @include svg-background-image($input-ios-input-clear-icon-svg); + @supports (mask-image: url()) { + @include svg-mask-image($input-ios-input-clear-icon-svg); + background-color: $input-ios-input-clear-icon-color; + background-image: none; + mask-size: $input-ios-input-clear-icon-size; + mask-repeat: no-repeat; + mask-position: center; + } + width: $input-ios-input-clear-icon-width; height: $input-ios-input-clear-icon-width; diff --git a/core/src/components/input/input.md.scss b/core/src/components/input/input.md.scss index 51bc9ce6cb1..a2abb131319 100644 --- a/core/src/components/input/input.md.scss +++ b/core/src/components/input/input.md.scss @@ -1,7 +1,6 @@ @import "./input"; @import "./input.md.vars"; - // Material Design Input // -------------------------------------------------- @@ -24,6 +23,15 @@ .input-clear-icon { @include svg-background-image($input-md-input-clear-icon-svg); + @supports (mask-image: url()) { + @include svg-mask-image($input-md-input-clear-icon-svg); + background-color: $input-md-input-clear-icon-color; + background-image: none; + mask-size: $input-md-input-clear-icon-size; + mask-repeat: no-repeat; + mask-position: center; + } + width: $input-md-input-clear-icon-width; height: $input-md-input-clear-icon-width; diff --git a/core/src/components/input/test/basic/index.html b/core/src/components/input/test/basic/index.html index 2f63b0b96b1..8c2b03a74ac 100644 --- a/core/src/components/input/test/basic/index.html +++ b/core/src/components/input/test/basic/index.html @@ -57,6 +57,15 @@ > + + Colored Clear Input + + + Floating diff --git a/core/src/themes/ionic.mixins.scss b/core/src/themes/ionic.mixins.scss index e074d191746..b7a578c6f90 100644 --- a/core/src/themes/ionic.mixins.scss +++ b/core/src/themes/ionic.mixins.scss @@ -206,16 +206,17 @@ } -// SVG Background Image Mixin +// SVG Image Mixin +// @param {string} $property // @param {string} $svg // ---------------------------------------------------------- -@mixin svg-background-image($svg, $flip-rtl: false) { +@mixin svg-property-value($property, $svg, $flip-rtl: false) { $url: url-encode($svg); $viewBox: str-split(str-extract($svg, "viewBox='", "'"), " "); @if $flip-rtl != true or $viewBox == null { @include multi-dir() { - background-image: url("data:image/svg+xml;charset=utf-8,#{$url}"); + #{$property}: url("data:image/svg+xml;charset=utf-8,#{$url}"); } } @else { $transform: "transform='translate(#{nth($viewBox, 3)}, 0) scale(-1, 1)'"; @@ -225,15 +226,29 @@ $flipped-url: str-replace($flipped-url, "