Нет описания
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

_custom-options.scss 3.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. /* Custom Options
  2. ******************************************************************************* */
  3. /* Custom option */
  4. .custom-option {
  5. border: $custom-option-border-width solid $custom-option-border-color;
  6. @include border-radius($border-radius);
  7. padding-inline-start: 0;
  8. &:hover {
  9. border-color: $custom-option-border-hover-color;
  10. }
  11. &:not(.custom-option-image) {
  12. margin: subtract($input-focus-border-width, $custom-option-border-width);
  13. }
  14. &.checked{
  15. border: $input-focus-border-width solid var(--#{$prefix}primary);
  16. margin: 0;
  17. }
  18. &.custom-option-image {
  19. overflow: hidden;
  20. border-width: $custom-option-image-border-width;
  21. margin-block-end: 0;
  22. .custom-option-body {
  23. img {
  24. block-size: 100%;
  25. inline-size: 100%;
  26. }
  27. }
  28. // radio
  29. &.custom-option-image-radio {
  30. .form-check-input {
  31. display: none;
  32. }
  33. }
  34. // checkbox
  35. &.custom-option-image-check {
  36. .form-check-input {
  37. position: absolute;
  38. border: 1px solid transparent;
  39. margin: 0;
  40. inset-block-start: 1rem;
  41. inset-inline-end: 1rem;
  42. }
  43. &:hover {
  44. .form-check-input {
  45. border-width: 1px;
  46. border-color: $form-check-input-focus-border;
  47. &:checked {
  48. border-color: var(--#{$prefix}primary);
  49. }
  50. }
  51. }
  52. }
  53. }
  54. .custom-option-content {
  55. inline-size: 100%;
  56. }
  57. .form-check-input {
  58. margin-inline-start: $form-check-padding-start * -1.12;
  59. }
  60. // Custom option basic
  61. &.custom-option-basic {
  62. .custom-option-content {
  63. padding: $custom-option-padding;
  64. padding-inline-start: $custom-option-padding + $form-check-padding-start + .65em;
  65. }
  66. .custom-option-header {
  67. display: flex;
  68. align-items: center;
  69. justify-content: space-between;
  70. padding-block-end: .4375rem;
  71. }
  72. }
  73. .custom-option-body {
  74. color: var(--#{$prefix}body-color);
  75. }
  76. // Custom option with icon
  77. &.custom-option-icon {
  78. overflow: hidden;
  79. &.checked {
  80. .icon-base,
  81. svg {
  82. color: $component-active-bg;
  83. }
  84. }
  85. .icon-base,
  86. svg {
  87. color: var(--#{$prefix}heading-color);
  88. }
  89. .custom-option-content {
  90. padding: $custom-option-padding;
  91. text-align: center;
  92. }
  93. .custom-option-body {
  94. display: block;
  95. margin-block-end: .5rem;
  96. .icon-base {
  97. @include icon-base(1.75rem);
  98. display: block;
  99. margin-block-end: .5rem;
  100. margin-inline: auto;
  101. }
  102. svg {
  103. block-size: 2.5rem;
  104. inline-size: 2.5rem;
  105. margin-block-end: .5rem;
  106. }
  107. .custom-option-title {
  108. display: block;
  109. color: var(--#{$prefix}heading-color);
  110. font-weight: $font-weight-medium;
  111. margin-block-end: .5rem;
  112. }
  113. }
  114. .form-check-input {
  115. margin: 0;
  116. float: none;
  117. }
  118. }
  119. // Custom option label
  120. &.custom-option-label.checked {
  121. background-color: rgba(var(--#{$prefix}primary-rgb), .12);
  122. color: var(--#{$prefix}primary);
  123. .custom-option-header span,
  124. .custom-option-title {
  125. color: var(--#{$prefix}primary);
  126. }
  127. }
  128. }