UNPKG

1.51 kBSCSSView Raw
1@use 'sass:math';
2
3$beefup: 'beefup' !default;
4$beefup-border-color: #ddd !default;
5$beefup-border-color-hover: #ccc !default;
6$beefup-icon-color: #ccc !default;
7$beefup-icon-size: 6px !default;
8
9.#{$beefup} {
10 margin: 1em 0;
11 border: 1px solid $beefup-border-color;
12 border-radius: 4px;
13
14 &:hover {
15 border-color: $beefup-border-color-hover;
16 }
17
18 &:first-child {
19 margin-top: 0;
20 }
21
22 &__head,
23 &__body {
24 padding: 10px 20px;
25 }
26
27 &__head {
28 cursor: pointer;
29 position: relative;
30 margin: 0;
31 padding-right: 50px;
32
33 // Button
34 @at-root button#{&},
35 & > button {
36 cursor: pointer;
37 display: block;
38 width: 100%;
39 background: none;
40 border: 0;
41 font: inherit;
42 text-align: inherit;
43
44 &[aria-disabled] {
45 cursor: default;
46 outline: 0;
47 }
48 }
49
50 > button {
51 position: relative;
52 z-index: 1;
53 margin: -10px -50px -10px -20px;
54 padding: inherit;
55 width: calc(100% + 70px);
56 background: inherit;
57 border: inherit;
58 }
59
60 // Icon
61 &::after {
62 transition: transform 0.2s ease-out;
63 content: '';
64 transform: translate(0, -50%) rotate(45deg);
65 position: absolute;
66 top: 50%;
67 right: 20px;
68 z-index: 0;
69 margin-top: math.div(-$beefup-icon-size, 3);
70 padding: math.div($beefup-icon-size, 2);
71 border-width: 0 2px 2px 0;
72 border-style: solid;
73 color: $beefup-icon-color;
74 }
75 }
76
77 // Open
78 &.is-open {
79 > .#{$beefup}__head {
80 &::after {
81 transform: translate(0, -50%) rotate(225deg);
82 margin-top: math.div($beefup-icon-size, 3);
83 }
84 }
85 }
86}