VTimePickerClock.sass 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. @use '../../styles/tools'
  2. @use './variables' as *
  3. @include tools.layer('components')
  4. // Theme
  5. .v-time-picker-clock
  6. background: rgb(var(--v-theme-background))
  7. color: rgb(var(--v-theme-on-background))
  8. &:after
  9. color: rgb(var(--v-theme-primary))
  10. .v-time-picker-clock__item--active
  11. background-color: rgb(var(--v-theme-surface-variant))
  12. color: rgb(var(--v-theme-on-surface-variant))
  13. .v-time-picker-clock
  14. margin: 0 auto
  15. background: rgb(var(--v-theme-surface-light))
  16. border-radius: 50%
  17. position: relative
  18. transition: none
  19. user-select: none
  20. height: 256px
  21. width: 256px
  22. flex: 1 0 auto
  23. &__container
  24. display: flex
  25. flex-direction: column
  26. flex-basis: 290px
  27. justify-content: center
  28. padding: $time-picker-clock-padding
  29. &__hand
  30. background-color: currentColor
  31. height: $time-picker-clock-hand-height
  32. width: $time-picker-clock-hand-width
  33. bottom: 50%
  34. left: $time-picker-clock-hand-left
  35. transform-origin: center bottom
  36. position: absolute
  37. will-change: transform
  38. z-index: 1
  39. &:before
  40. background: transparent
  41. border-width: $time-picker-clock-end-border-width
  42. border-style: $time-picker-clock-end-border-style
  43. border-color: $time-picker-clock-end-border-color
  44. border-radius: 100%
  45. width: $time-picker-clock-end-size
  46. height: $time-picker-clock-end-size
  47. content: ''
  48. position: absolute
  49. top: $time-picker-clock-end-top
  50. left: 50%
  51. transform: translate(-50%, -50%)
  52. &:after
  53. content: ''
  54. position: absolute
  55. height: $time-picker-clock-center-size
  56. width: $time-picker-clock-center-size
  57. top: 100%
  58. left: 50%
  59. border-radius: 100%
  60. background-color: currentColor
  61. transform: translate(-50%, -50%)
  62. &--inner:after
  63. height: $time-picker-clock-inner-hand-height
  64. &--readonly
  65. pointer-events: none
  66. .v-time-picker-clock__item--disabled
  67. opacity: var(--v-disabled-opacity)
  68. .v-picker--full-width
  69. .v-time-picker-clock__container
  70. max-width: $time-picker-clock-max-width
  71. .v-time-picker-clock__inner
  72. position: absolute
  73. bottom: $time-picker-clock-inner-offset
  74. left: $time-picker-clock-inner-offset
  75. right: $time-picker-clock-inner-offset
  76. top: $time-picker-clock-inner-offset
  77. .v-time-picker-clock__item
  78. align-items: center
  79. border-radius: 100%
  80. cursor: default
  81. display: flex
  82. font-size: $time-picker-number-font-size
  83. justify-content: center
  84. height: $time-picker-indicator-size
  85. position: absolute
  86. text-align: center
  87. width: $time-picker-indicator-size
  88. user-select: none
  89. transform: translate(-50%, -50%)
  90. > span
  91. z-index: 1
  92. &:before, &:after
  93. content: ''
  94. border-radius: 100%
  95. position: absolute
  96. top: 50%
  97. left: 50%
  98. height: 14px
  99. width: 14px
  100. transform: translate(-50%, -50%)
  101. &:after, &:before
  102. height: $time-picker-indicator-size
  103. width: $time-picker-indicator-size
  104. &--active
  105. cursor: default
  106. z-index: 2
  107. &--disabled
  108. pointer-events: none
  109. .v-picker--landscape
  110. .v-time-picker-clock
  111. &__container
  112. flex-direction: row