summaryrefslogtreecommitdiffstats
path: root/assets/sass/@primer/css/buttons/button-group.scss
diff options
context:
space:
mode:
authoramzrk22020-04-13 19:13:39 +0800
committeramzrk22020-04-13 19:13:39 +0800
commit6bdd1c4c0ea567c45fdecb1e858a99ee5da246ad (patch)
treeb13e4c3a49823b602ebb918c899dd4a964c1f445 /assets/sass/@primer/css/buttons/button-group.scss
downloadhugo-theme-fuji-6bdd1c4c0ea567c45fdecb1e858a99ee5da246ad.tar.gz
hugo-theme-fuji-6bdd1c4c0ea567c45fdecb1e858a99ee5da246ad.tar.bz2
hugo-theme-fuji-6bdd1c4c0ea567c45fdecb1e858a99ee5da246ad.zip
Initial commit
Diffstat (limited to 'assets/sass/@primer/css/buttons/button-group.scss')
-rw-r--r--assets/sass/@primer/css/buttons/button-group.scss91
1 files changed, 91 insertions, 0 deletions
diff --git a/assets/sass/@primer/css/buttons/button-group.scss b/assets/sass/@primer/css/buttons/button-group.scss
new file mode 100644
index 0000000..429fad9
--- /dev/null
+++ b/assets/sass/@primer/css/buttons/button-group.scss
@@ -0,0 +1,91 @@
+// Button group
+//
+// A button group is a series of buttons laid out next to each other, all part
+// of one visual button, but separated by rules to be separate.
+
+.BtnGroup {
+ display: inline-block;
+ vertical-align: middle;
+ @include clearfix();
+
+ // Proper spacing for multiple button groups (a la, gollum editor)
+ + .BtnGroup,
+ + .btn {
+ margin-left: $spacer-1;
+ }
+}
+
+.BtnGroup-item {
+ position: relative;
+ float: left;
+ border-right-width: 0;
+ border-radius: 0;
+
+ &:first-child {
+ border-top-left-radius: $border-radius;
+ border-bottom-left-radius: $border-radius;
+ }
+
+ &:last-child {
+ border-right-width: $border-width;
+ border-top-right-radius: $border-radius;
+ border-bottom-right-radius: $border-radius;
+ }
+
+ &.selected,
+ &[aria-selected=true],
+ &:focus,
+ &:active,
+ &:hover {
+ border-right-width: $border-width;
+
+ + .BtnGroup-item,
+ + .BtnGroup-parent .BtnGroup-item {
+ border-left-width: 0;
+ }
+ }
+}
+
+.BtnGroup-parent {
+ float: left;
+
+ &:first-child .BtnGroup-item {
+ border-top-left-radius: $border-radius;
+ border-bottom-left-radius: $border-radius;
+ }
+
+ &:last-child .BtnGroup-item {
+ border-right-width: $border-width;
+ border-top-right-radius: $border-radius;
+ border-bottom-right-radius: $border-radius;
+ }
+
+ .BtnGroup-item {
+ border-right-width: 0;
+ border-radius: 0;
+ }
+
+ &.selected,
+ &[aria-selected=true],
+ &:focus,
+ &:active,
+ &:hover {
+ .BtnGroup-item {
+ border-right-width: $border-width;
+ }
+
+ + .BtnGroup-item,
+ + .BtnGroup-parent .BtnGroup-item {
+ border-left-width: 0;
+ }
+ }
+}
+
+// ensure that the focus ring sits above the adjacent buttons
+.BtnGroup-item,
+.BtnGroup-parent {
+ &:focus,
+ &:active {
+ z-index: 1;
+ }
+}