VSkeletonLoader.sass 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  1. // Imports
  2. @use '../../styles/settings'
  3. @use '../../styles/tools'
  4. @use './variables' as *
  5. @include tools.layer('components')
  6. .v-skeleton-loader
  7. align-items: center
  8. background: $skeleton-loader-background
  9. border-radius: $skeleton-loader-border-radius
  10. display: flex
  11. flex-wrap: wrap
  12. position: relative
  13. vertical-align: top
  14. &__actions
  15. justify-content: end
  16. .v-skeleton-loader__ossein
  17. height: 100%
  18. .v-skeleton-loader__avatar,
  19. .v-skeleton-loader__button,
  20. .v-skeleton-loader__chip,
  21. .v-skeleton-loader__divider,
  22. .v-skeleton-loader__heading,
  23. .v-skeleton-loader__image,
  24. .v-skeleton-loader__ossein,
  25. .v-skeleton-loader__text
  26. background: $skeleton-loader-text-background
  27. .v-skeleton-loader__list-item,
  28. .v-skeleton-loader__list-item-avatar,
  29. .v-skeleton-loader__list-item-text,
  30. .v-skeleton-loader__list-item-two-line,
  31. .v-skeleton-loader__list-item-avatar-two-line,
  32. .v-skeleton-loader__list-item-three-line,
  33. .v-skeleton-loader__list-item-avatar-three-line
  34. border-radius: $skeleton-loader-border-radius
  35. &__bone
  36. align-items: center
  37. border-radius: inherit
  38. display: flex
  39. flex: 1 1 100%
  40. flex-wrap: wrap
  41. overflow: hidden
  42. position: relative
  43. &::after
  44. animation: $skeleton-loader-loading-animation
  45. background: $skeleton-loader-bone-background
  46. transform: $skeleton-loader-loading-transform
  47. z-index: 1
  48. @include tools.absolute(true)
  49. &__avatar
  50. border-radius: 50%
  51. flex: 0 1 auto
  52. margin: $skeleton-loader-avatar-margin
  53. max-height: $skeleton-loader-avatar-height
  54. min-height: $skeleton-loader-avatar-height
  55. height: $skeleton-loader-avatar-height
  56. max-width: $skeleton-loader-avatar-width
  57. min-width: $skeleton-loader-avatar-width
  58. width: $skeleton-loader-avatar-width
  59. + .v-skeleton-loader__bone
  60. flex: 1 1 auto
  61. margin-inline-start: 0
  62. + .v-skeleton-loader__sentences,
  63. + .v-skeleton-loader__paragraph
  64. > .v-skeleton-loader__text
  65. margin-inline-start: 0
  66. &__button
  67. border-radius: $skeleton-loader-button-border-radius
  68. height: $skeleton-loader-button-height
  69. margin: $skeleton-loader-gutter
  70. max-width: $skeleton-loader-button-width
  71. + .v-skeleton-loader__bone
  72. flex: 1 1 auto
  73. margin-inline-start: 0
  74. + .v-skeleton-loader__sentences,
  75. + .v-skeleton-loader__paragraph
  76. > .v-skeleton-loader__text
  77. margin-inline-start: 0
  78. &__chip
  79. border-radius: $skeleton-loader-chip-border-radius
  80. margin: $skeleton-loader-gutter
  81. height: $skeleton-loader-chip-height
  82. max-width: $skeleton-loader-chip-width
  83. + .v-skeleton-loader__bone
  84. flex: 1 1 auto
  85. margin-inline-start: 0
  86. + .v-skeleton-loader__sentences,
  87. + .v-skeleton-loader__paragraph
  88. > .v-skeleton-loader__text
  89. margin-inline-start: 0
  90. &__date-picker
  91. border-radius: $skeleton-loader-date-picker-border-radius
  92. .v-skeleton-loader__list-item:first-child
  93. .v-skeleton-loader__text
  94. max-width: $skeleton-loader-date-picker-text-max-width
  95. width: $skeleton-loader-date-picker-text-width
  96. .v-skeleton-loader__heading
  97. max-width: $skeleton-loader-date-picker-heading-max-width
  98. width: $skeleton-loader-date-picker-heading-width
  99. &__date-picker-days
  100. flex-wrap: wrap
  101. margin: $skeleton-loader-gutter
  102. .v-skeleton-loader__avatar
  103. border-radius: $skeleton-loader-border-radius
  104. margin: $skeleton-loader-date-picker-days-margin
  105. max-width: 100%
  106. &__date-picker-options
  107. flex-wrap: nowrap
  108. .v-skeleton-loader__text
  109. flex: 1 1 auto
  110. &__divider
  111. border-radius: $skeleton-loader-divider-border-radius
  112. height: $skeleton-loader-divider-height
  113. &__heading
  114. border-radius: $skeleton-loader-heading-border-radius
  115. margin: $skeleton-loader-gutter
  116. height: $skeleton-loader-heading-height
  117. + .v-skeleton-loader__subtitle
  118. margin-top: -$skeleton-loader-gutter
  119. &__image
  120. height: $skeleton-loader-image-height
  121. border-radius: 0
  122. &__card
  123. .v-skeleton-loader__image
  124. border-radius: 0
  125. &__list-item
  126. margin: $skeleton-loader-gutter
  127. .v-skeleton-loader__text
  128. margin: 0
  129. &__table-thead
  130. justify-content: space-between
  131. .v-skeleton-loader__heading
  132. margin-top: $skeleton-loader-gutter
  133. max-width: $skeleton-loader-gutter
  134. &__table-tfoot
  135. flex-wrap: nowrap
  136. > .v-skeleton-loader__text.v-skeleton-loader__bone
  137. margin-top: $skeleton-loader-gutter
  138. &__table-row
  139. align-items: baseline
  140. margin: $skeleton-loader-table-row-margin
  141. justify-content: space-evenly
  142. flex-wrap: nowrap
  143. > .v-skeleton-loader__text.v-skeleton-loader__bone
  144. margin-inline: $skeleton-loader-table-row-text-margin
  145. + .v-skeleton-loader__divider
  146. margin: 0 $skeleton-loader-gutter
  147. &__table-cell
  148. align-items: center
  149. display: flex
  150. height: $skeleton-loader-table-cell-height
  151. width: $skeleton-loader-table-cell-width
  152. .v-skeleton-loader__text
  153. margin-bottom: 0
  154. &__subtitle
  155. max-width: $skeleton-loader-subtitle-max-width
  156. > .v-skeleton-loader__text
  157. height: $skeleton-loader-subtitle-text-height
  158. border-radius: $skeleton-loader-subtitle-text-border-radius
  159. &__text
  160. border-radius: $skeleton-loader-text-border-radius
  161. margin: $skeleton-loader-gutter
  162. height: $skeleton-loader-text-height
  163. + .v-skeleton-loader__text
  164. margin-top: $skeleton-loader-text-two-text-margin-top
  165. max-width: $skeleton-loader-text-two-text-max-width
  166. + .v-skeleton-loader__text
  167. max-width: $skeleton-loader-text-three-text-max-width
  168. &--boilerplate
  169. .v-skeleton-loader__bone:after
  170. display: none
  171. &--is-loading
  172. overflow: hidden
  173. &--tile
  174. border-radius: 0
  175. .v-skeleton-loader__bone
  176. border-radius: 0
  177. @keyframes loading
  178. 100%
  179. transform: translateX(100%)