UI for Zipcoin Blue

picker.scss 2.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. @import "../../themes/ionic.globals";
  2. // Picker
  3. // --------------------------------------------------
  4. /// @prop - Width of the picker
  5. $picker-width: 100% !default;
  6. /// @prop - Max width of the picker
  7. $picker-max-width: 500px !default;
  8. ion-picker-cmp {
  9. @include position(0, null, null, 0);
  10. position: absolute;
  11. z-index: $z-index-overlay;
  12. display: block;
  13. width: $picker-width;
  14. height: $picker-width;
  15. contain: strict;
  16. }
  17. .picker-toolbar {
  18. z-index: 1;
  19. width: 100%;
  20. contain: strict;
  21. }
  22. .picker-wrapper {
  23. @include position(null, 0, 0, 0);
  24. @include margin(auto);
  25. @include transform(translate3d(0, 100%, 0));
  26. position: absolute;
  27. z-index: $z-index-overlay-wrapper;
  28. display: flex;
  29. overflow: hidden;
  30. flex-direction: column;
  31. width: $picker-width;
  32. max-width: $picker-max-width;
  33. contain: strict;
  34. }
  35. .picker-columns {
  36. @include margin(null, null, constant(safe-area-inset-bottom), null);
  37. @include margin(null, null, env(safe-area-inset-bottom), null);
  38. position: relative;
  39. display: flex;
  40. overflow: hidden;
  41. justify-content: center;
  42. contain: strict;
  43. @include rtl() {
  44. // Date is the same format in both directions
  45. flex-direction: row-reverse;
  46. }
  47. }
  48. .picker-col {
  49. position: relative;
  50. display: flex;
  51. flex: 1;
  52. justify-content: center;
  53. height: 100%;
  54. box-sizing: content-box;
  55. contain: content;
  56. }
  57. .picker-opts {
  58. position: relative;
  59. flex: 1;
  60. max-width: 100%;
  61. }
  62. .picker-prefix {
  63. @include text-align(end);
  64. position: relative;
  65. flex: 2;
  66. min-width: 45%;
  67. max-width: 50%;
  68. white-space: nowrap;
  69. }
  70. .picker-suffix {
  71. @include text-align(start);
  72. position: relative;
  73. flex: 2;
  74. min-width: 45%;
  75. max-width: 50%;
  76. white-space: nowrap;
  77. }
  78. // contain property is supported by Chrome
  79. .picker-opt {
  80. @include position(0, null, null, 0);
  81. @include text-align(center);
  82. position: absolute;
  83. display: block;
  84. overflow: hidden;
  85. width: 100%;
  86. text-overflow: ellipsis;
  87. white-space: nowrap;
  88. will-change: transform;
  89. contain: strict;
  90. }
  91. .picker-opt.picker-opt-disabled {
  92. pointer-events: none;
  93. }
  94. .picker-opt-disabled {
  95. opacity: 0;
  96. }
  97. .picker-opts-left {
  98. @include ltr() {
  99. justify-content: flex-start;
  100. }
  101. @include rtl() {
  102. justify-content: flex-end;
  103. }
  104. }
  105. .picker-opts-right {
  106. @include ltr() {
  107. justify-content: flex-end;
  108. }
  109. @include rtl() {
  110. justify-content: flex-start;
  111. }
  112. }
  113. .picker-above-highlight,
  114. .picker-below-highlight {
  115. display: none;
  116. pointer-events: none;
  117. }