Chris@0
|
1
|
Chris@0
|
2 /**
|
Chris@0
|
3 * @file
|
Chris@0
|
4 * Base styles for dropbuttons.
|
Chris@0
|
5 */
|
Chris@0
|
6
|
Chris@0
|
7 /**
|
Chris@0
|
8 * When a dropbutton has only one option, it is simply a button.
|
Chris@0
|
9 */
|
Chris@0
|
10 .dropbutton-wrapper,
|
Chris@0
|
11 .dropbutton-wrapper div {
|
Chris@0
|
12 box-sizing: border-box;
|
Chris@0
|
13 }
|
Chris@0
|
14 .js .dropbutton-wrapper,
|
Chris@0
|
15 .js .dropbutton-widget {
|
Chris@18
|
16 position: relative;
|
Chris@0
|
17 display: block;
|
Chris@0
|
18 }
|
Chris@0
|
19
|
Chris@0
|
20 @media screen and (max-width: 600px) {
|
Chris@0
|
21 .js .dropbutton-wrapper {
|
Chris@0
|
22 width: 100%;
|
Chris@0
|
23 }
|
Chris@0
|
24 }
|
Chris@0
|
25
|
Chris@0
|
26 /* Splitbuttons */
|
Chris@0
|
27 @media screen and (min-width: 600px) {
|
Chris@0
|
28 .form-actions .dropbutton-wrapper {
|
Chris@0
|
29 float: left; /* LTR */
|
Chris@0
|
30 }
|
Chris@0
|
31 [dir="rtl"] .form-actions .dropbutton-wrapper {
|
Chris@0
|
32 float: right;
|
Chris@0
|
33 }
|
Chris@0
|
34 }
|
Chris@0
|
35 .js .form-actions .dropbutton-widget {
|
Chris@0
|
36 position: static;
|
Chris@0
|
37 }
|
Chris@0
|
38 .js td .dropbutton-widget {
|
Chris@0
|
39 position: absolute;
|
Chris@0
|
40 }
|
Chris@0
|
41 .js td .dropbutton-wrapper {
|
Chris@0
|
42 min-height: 2em;
|
Chris@0
|
43 }
|
Chris@0
|
44 .js td .dropbutton-multiple {
|
Chris@18
|
45 max-width: 100%;
|
Chris@18
|
46 margin-right: 2em; /* LTR */
|
Chris@0
|
47 padding-right: 10em; /* LTR */
|
Chris@0
|
48 }
|
Chris@0
|
49 [dir="rtl"].js td .dropbutton-multiple {
|
Chris@18
|
50 margin-right: 0;
|
Chris@18
|
51 margin-left: 2em;
|
Chris@0
|
52 padding-right: 0;
|
Chris@0
|
53 padding-left: 10em;
|
Chris@0
|
54 }
|
Chris@0
|
55 .js td .dropbutton-multiple .dropbutton-action a,
|
Chris@0
|
56 .js td .dropbutton-multiple .dropbutton-action input,
|
Chris@0
|
57 .js td .dropbutton-multiple .dropbutton-action button {
|
Chris@0
|
58 width: auto;
|
Chris@0
|
59 }
|
Chris@0
|
60
|
Chris@0
|
61 /* UL styles are over-scoped in core, so this selector needs weight parity. */
|
Chris@0
|
62 .js .dropbutton-widget .dropbutton {
|
Chris@18
|
63 overflow: hidden;
|
Chris@18
|
64 margin: 0;
|
Chris@18
|
65 padding: 0;
|
Chris@18
|
66 list-style-type: none;
|
Chris@0
|
67 list-style-image: none;
|
Chris@0
|
68 }
|
Chris@0
|
69 .js .dropbutton li,
|
Chris@0
|
70 .js .dropbutton a {
|
Chris@0
|
71 display: block;
|
Chris@0
|
72 outline: none;
|
Chris@0
|
73 }
|
Chris@0
|
74
|
Chris@0
|
75 .js .dropbutton li:hover,
|
Chris@0
|
76 .js .dropbutton li:focus,
|
Chris@0
|
77 .js .dropbutton a:hover,
|
Chris@0
|
78 .js .dropbutton a:focus {
|
Chris@0
|
79 outline: initial;
|
Chris@0
|
80 }
|
Chris@0
|
81
|
Chris@0
|
82 /**
|
Chris@0
|
83 * The dropbutton styling.
|
Chris@0
|
84 *
|
Chris@0
|
85 * A dropbutton is a widget that displays a list of action links as a button
|
Chris@0
|
86 * with a primary action. Secondary actions are hidden behind a click on a
|
Chris@0
|
87 * twisty arrow.
|
Chris@0
|
88 *
|
Chris@0
|
89 * The arrow is created using border on a zero-width, zero-height span.
|
Chris@0
|
90 * The arrow inherits the link color, but can be overridden with border colors.
|
Chris@0
|
91 */
|
Chris@0
|
92 .js .dropbutton-multiple .dropbutton-widget {
|
Chris@0
|
93 padding-right: 2em; /* LTR */
|
Chris@0
|
94 }
|
Chris@0
|
95 .js[dir="rtl"] .dropbutton-multiple .dropbutton-widget {
|
Chris@18
|
96 padding-right: 0;
|
Chris@0
|
97 padding-left: 2em;
|
Chris@0
|
98 }
|
Chris@0
|
99 .dropbutton-multiple.open,
|
Chris@0
|
100 .dropbutton-multiple.open .dropbutton-widget {
|
Chris@0
|
101 max-width: none;
|
Chris@0
|
102 }
|
Chris@0
|
103 .dropbutton-multiple.open {
|
Chris@0
|
104 z-index: 100;
|
Chris@0
|
105 }
|
Chris@0
|
106 .dropbutton-multiple .dropbutton .secondary-action {
|
Chris@0
|
107 display: none;
|
Chris@0
|
108 }
|
Chris@0
|
109 .dropbutton-multiple.open .dropbutton .secondary-action {
|
Chris@0
|
110 display: block;
|
Chris@0
|
111 }
|
Chris@0
|
112 .dropbutton-toggle {
|
Chris@18
|
113 position: absolute;
|
Chris@18
|
114 top: 0;
|
Chris@18
|
115 right: 0; /* LTR */
|
Chris@0
|
116 bottom: 0;
|
Chris@0
|
117 display: block;
|
Chris@18
|
118 width: 2em;
|
Chris@18
|
119 white-space: nowrap;
|
Chris@0
|
120 text-indent: 110%;
|
Chris@0
|
121 }
|
Chris@0
|
122 [dir="rtl"] .dropbutton-toggle {
|
Chris@18
|
123 right: auto;
|
Chris@0
|
124 left: 0;
|
Chris@0
|
125 }
|
Chris@0
|
126 .dropbutton-toggle button {
|
Chris@0
|
127 display: block;
|
Chris@18
|
128 width: 100%;
|
Chris@0
|
129 height: 100%;
|
Chris@0
|
130 margin: 0;
|
Chris@0
|
131 padding: 0;
|
Chris@18
|
132 cursor: pointer;
|
Chris@18
|
133 border: 0;
|
Chris@18
|
134 background: none;
|
Chris@0
|
135 }
|
Chris@0
|
136 .dropbutton-toggle button:hover,
|
Chris@0
|
137 .dropbutton-toggle button:focus {
|
Chris@0
|
138 outline: initial;
|
Chris@0
|
139 }
|
Chris@0
|
140 .dropbutton-arrow {
|
Chris@18
|
141 position: absolute;
|
Chris@18
|
142 top: 50%;
|
Chris@18
|
143 right: 40%; /* 0.6667em; */ /* LTR */
|
Chris@18
|
144 display: block;
|
Chris@18
|
145 overflow: hidden;
|
Chris@18
|
146 width: 0;
|
Chris@18
|
147 height: 0;
|
Chris@18
|
148 margin-top: -0.1666em;
|
Chris@18
|
149 border-width: 0.3333em 0.3333em 0;
|
Chris@18
|
150 border-style: solid;
|
Chris@18
|
151 border-right-color: transparent;
|
Chris@0
|
152 border-bottom-color: transparent;
|
Chris@0
|
153 border-left-color: transparent;
|
Chris@0
|
154 line-height: 0;
|
Chris@0
|
155 }
|
Chris@0
|
156 [dir="rtl"] .dropbutton-arrow {
|
Chris@18
|
157 right: auto;
|
Chris@0
|
158 left: 0.6667em;
|
Chris@0
|
159 }
|
Chris@0
|
160 .dropbutton-multiple.open .dropbutton-arrow {
|
Chris@18
|
161 top: 0.6667em;
|
Chris@18
|
162 border-top-color: transparent;
|
Chris@0
|
163 border-bottom: 0.3333em solid;
|
Chris@0
|
164 }
|