UI for Zipcoin Blue

input.wp.scss 6.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. @import "../../themes/ionic.globals.wp";
  2. // Windows Input
  3. // --------------------------------------------------
  4. /// @prop - Background color of the input
  5. $text-input-wp-background-color: $list-wp-background-color !default;
  6. /// @prop - Border color of the input
  7. $text-input-wp-border-color: $input-wp-border-color !default;
  8. /// @prop - Border width of the input
  9. $text-input-wp-border-width: 2px !default;
  10. /// @prop - Margin top of the input
  11. $text-input-wp-margin-top: $item-wp-padding-top !default;
  12. // deprecated
  13. $text-input-wp-margin-right: ($item-wp-padding-end / 2) !default;
  14. /// @prop - Margin end of the input
  15. $text-input-wp-margin-end: $text-input-wp-margin-right !default;
  16. /// @prop - Margin bottom of the input
  17. $text-input-wp-margin-bottom: $item-wp-padding-bottom !default;
  18. // deprecated
  19. $text-input-wp-margin-left: ($item-wp-padding-start / 2) !default;
  20. /// @prop - Margin start of the input
  21. $text-input-wp-margin-start: $text-input-wp-margin-left !default;
  22. /// @prop - Vertical padding of the input
  23. $text-input-wp-padding-vertical: 0 !default;
  24. /// @prop - Horizontal padding of the input
  25. $text-input-wp-padding-horizontal: 8px !default;
  26. /// @prop - Line height of the input
  27. $text-input-wp-line-height: 3rem !default;
  28. /// @prop - Width of the icon used to clear the input
  29. $text-input-wp-input-clear-icon-width: 30px !default;
  30. /// @prop - Color of the icon used to clear the input
  31. $text-input-wp-input-clear-icon-color: $input-wp-border-color !default;
  32. /// @prop - Icon used to clear the input
  33. $text-input-wp-input-clear-icon-svg: "<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><polygon fill='" + $text-input-wp-input-clear-icon-color + "' points='405,136.798 375.202,107 256,226.202 136.798,107 107,136.798 226.202,256 107,375.202 136.798,405 256,285.798 375.202,405 405,375.202 285.798,256'/></svg>" !default;
  34. /// @prop - Size of the icon used to clear the input
  35. $text-input-wp-input-clear-icon-size: 22px !default;
  36. /// @prop - Show the focus highlight when the input has focus
  37. $text-input-wp-show-focus-highlight: true !default;
  38. /// @prop - Show the valid highlight when it is valid and has a value
  39. $text-input-wp-show-valid-highlight: $text-input-wp-show-focus-highlight !default;
  40. /// @prop - Show the invalid highlight when it is invalid and has value
  41. $text-input-wp-show-invalid-highlight: $text-input-wp-show-focus-highlight !default;
  42. /// @prop - Color of the input highlight
  43. $text-input-wp-highlight-color: color($colors-wp, primary) !default;
  44. /// @prop - Color of the input highlight when valid
  45. $text-input-wp-highlight-color-valid: $text-input-highlight-color-valid !default;
  46. /// @prop - Color of the input highlight when invalid
  47. $text-input-wp-highlight-color-invalid: $text-input-highlight-color-invalid !default;
  48. // Windows Default Input
  49. // --------------------------------------------------
  50. .text-input-wp {
  51. @include margin($text-input-wp-margin-top, $text-input-wp-margin-end, $text-input-wp-margin-bottom, $text-input-wp-margin-start);
  52. @include padding($text-input-wp-padding-vertical, $text-input-wp-padding-horizontal);
  53. width: calc(100% - #{$text-input-wp-margin-end} - #{$text-input-wp-margin-start});
  54. border: $text-input-wp-border-width solid $text-input-wp-border-color;
  55. line-height: $text-input-wp-line-height;
  56. }
  57. // Windows Inset Input
  58. // --------------------------------------------------
  59. .item-wp .inset-input {
  60. @include padding(($item-wp-padding-top / 2), ($item-wp-padding-end / 2), ($item-wp-padding-bottom / 2), ($item-wp-padding-start / 2));
  61. @include margin(($item-wp-padding-top / 2), $item-wp-padding-end, ($item-wp-padding-bottom / 2), $item-wp-padding-start);
  62. }
  63. // Windows Highlighted Input
  64. // --------------------------------------------------
  65. // Show the focus highlight when the input has focus
  66. @if ($text-input-wp-show-focus-highlight) {
  67. // TODO remove all uses of input-has-focus in v4
  68. // TODO remove all uses of input-has-value in v4
  69. .item-wp.item-input.item-input-has-focus .text-input,
  70. .item-wp.item-input.input-has-focus .text-input {
  71. border-color: $text-input-wp-highlight-color;
  72. }
  73. }
  74. // Show the valid highlight when it has the .ng-valid class and a value
  75. @if ($text-input-wp-show-valid-highlight) {
  76. .item-wp.item-input.ng-valid.item-input-has-value:not(.input-has-focus):not(.item-input-has-focus) .text-input,
  77. .item-wp.item-input.ng-valid.input-has-value:not(.input-has-focus):not(.item-input-has-focus) .text-input {
  78. border-color: $text-input-wp-highlight-color-valid;
  79. }
  80. }
  81. // Show the invalid highlight when it has the invalid class and has been touched
  82. @if ($text-input-wp-show-invalid-highlight) {
  83. .item-wp.item-input.ng-invalid.ng-touched:not(.input-has-focus):not(.item-input-has-focus) .text-input {
  84. border-color: $text-input-wp-highlight-color-invalid;
  85. }
  86. }
  87. // Windows Stacked & Floating Inputs
  88. // --------------------------------------------------
  89. .item-label-stacked .text-input-wp,
  90. .item-label-floating .text-input-wp,
  91. .item-label-stacked .select-wp,
  92. .item-label-floating .select-wp {
  93. @include margin(8px, null, 8px, 0);
  94. width: calc(100% - #{$text-input-wp-margin-end});
  95. }
  96. .item-wp.item-label-stacked [item-right], // deprecated
  97. .item-wp.item-label-floating [item-right], // deprecated
  98. .item-wp.item-label-stacked [item-end],
  99. .item-wp.item-label-floating [item-end] {
  100. align-self: flex-end;
  101. }
  102. // Windows Clear Input Icon
  103. // --------------------------------------------------
  104. .input-wp[clearInput] {
  105. position: relative;
  106. }
  107. .input-wp[clearInput] .text-input {
  108. @include padding-horizontal(null, $text-input-wp-input-clear-icon-width);
  109. }
  110. .input-wp .text-input-clear-icon {
  111. @include position-horizontal(null, ($item-wp-padding-end / 2));
  112. @include svg-background-image($text-input-wp-input-clear-icon-svg);
  113. width: $text-input-wp-input-clear-icon-width;
  114. background-size: $text-input-wp-input-clear-icon-size;
  115. }