loremGem 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (158) hide show
  1. checksums.yaml +7 -0
  2. data/.gitattributes +14 -0
  3. data/.gitignore +24 -0
  4. data/.travis.yml +17 -0
  5. data/CHANGELOG.md +37 -0
  6. data/CODE_OF_CONDUCT.md +49 -0
  7. data/Gemfile +12 -0
  8. data/LICENSE Bootstrap +21 -0
  9. data/LICENSE Lorem.txt +21 -0
  10. data/README.md +35 -0
  11. data/Rakefile +80 -0
  12. data/assets/javascript/bootstrap/alert.js +177 -0
  13. data/assets/javascript/bootstrap/button.js +166 -0
  14. data/assets/javascript/bootstrap/carousel.js +507 -0
  15. data/assets/javascript/bootstrap/collapse.js +366 -0
  16. data/assets/javascript/bootstrap/dropdown.js +488 -0
  17. data/assets/javascript/bootstrap/modal.js +584 -0
  18. data/assets/javascript/bootstrap/popover.js +205 -0
  19. data/assets/javascript/bootstrap/scrollspy.js +318 -0
  20. data/assets/javascript/bootstrap/tab.js +250 -0
  21. data/assets/javascript/bootstrap/tooltip.js +673 -0
  22. data/assets/javascript/bootstrap/util.js +131 -0
  23. data/assets/javascript/bootstrap-sprockets.js +11 -0
  24. data/assets/javascript/bootstrap.js +3926 -0
  25. data/assets/javascript/bootstrap.min.js +6 -0
  26. data/assets/javascript/lorem.js +24044 -0
  27. data/assets/stylesheets/_bootstrap-grid.scss +32 -0
  28. data/assets/stylesheets/_bootstrap-reboot.scss +12 -0
  29. data/assets/stylesheets/_bootstrap.scss +42 -0
  30. data/assets/stylesheets/bootstrap/_alert.scss +51 -0
  31. data/assets/stylesheets/bootstrap/_badge.scss +47 -0
  32. data/assets/stylesheets/bootstrap/_breadcrumb.scss +41 -0
  33. data/assets/stylesheets/bootstrap/_button-group.scss +172 -0
  34. data/assets/stylesheets/bootstrap/_buttons.scss +144 -0
  35. data/assets/stylesheets/bootstrap/_card.scss +301 -0
  36. data/assets/stylesheets/bootstrap/_carousel.scss +236 -0
  37. data/assets/stylesheets/bootstrap/_close.scss +34 -0
  38. data/assets/stylesheets/bootstrap/_code.scss +48 -0
  39. data/assets/stylesheets/bootstrap/_custom-forms.scss +421 -0
  40. data/assets/stylesheets/bootstrap/_dropdown.scss +166 -0
  41. data/assets/stylesheets/bootstrap/_forms.scss +335 -0
  42. data/assets/stylesheets/bootstrap/_functions.scss +86 -0
  43. data/assets/stylesheets/bootstrap/_grid.scss +52 -0
  44. data/assets/stylesheets/bootstrap/_images.scss +42 -0
  45. data/assets/stylesheets/bootstrap/_input-group.scss +158 -0
  46. data/assets/stylesheets/bootstrap/_jumbotron.scss +16 -0
  47. data/assets/stylesheets/bootstrap/_list-group.scss +115 -0
  48. data/assets/stylesheets/bootstrap/_media.scss +8 -0
  49. data/assets/stylesheets/bootstrap/_mixins.scss +41 -0
  50. data/assets/stylesheets/bootstrap/_modal.scss +168 -0
  51. data/assets/stylesheets/bootstrap/_nav.scss +118 -0
  52. data/assets/stylesheets/bootstrap/_navbar.scss +299 -0
  53. data/assets/stylesheets/bootstrap/_pagination.scss +78 -0
  54. data/assets/stylesheets/bootstrap/_popover.scss +183 -0
  55. data/assets/stylesheets/bootstrap/_print.scss +141 -0
  56. data/assets/stylesheets/bootstrap/_progress.scss +34 -0
  57. data/assets/stylesheets/bootstrap/_reboot.scss +480 -0
  58. data/assets/stylesheets/bootstrap/_root.scss +19 -0
  59. data/assets/stylesheets/bootstrap/_tables.scss +188 -0
  60. data/assets/stylesheets/bootstrap/_tooltip.scss +115 -0
  61. data/assets/stylesheets/bootstrap/_transitions.scss +22 -0
  62. data/assets/stylesheets/bootstrap/_type.scss +125 -0
  63. data/assets/stylesheets/bootstrap/_utilities.scss +15 -0
  64. data/assets/stylesheets/bootstrap/_variables.scss +929 -0
  65. data/assets/stylesheets/bootstrap/mixins/_alert.scss +13 -0
  66. data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +21 -0
  67. data/assets/stylesheets/bootstrap/mixins/_badge.scss +12 -0
  68. data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +35 -0
  69. data/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +5 -0
  70. data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +123 -0
  71. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +109 -0
  72. data/assets/stylesheets/bootstrap/mixins/_caret.scss +66 -0
  73. data/assets/stylesheets/bootstrap/mixins/_clearfix.scss +7 -0
  74. data/assets/stylesheets/bootstrap/mixins/_float.scss +11 -0
  75. data/assets/stylesheets/bootstrap/mixins/_forms.scss +147 -0
  76. data/assets/stylesheets/bootstrap/mixins/_gradients.scss +45 -0
  77. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +67 -0
  78. data/assets/stylesheets/bootstrap/mixins/_grid.scss +52 -0
  79. data/assets/stylesheets/bootstrap/mixins/_hover.scss +37 -0
  80. data/assets/stylesheets/bootstrap/mixins/_image.scss +36 -0
  81. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +21 -0
  82. data/assets/stylesheets/bootstrap/mixins/_lists.scss +7 -0
  83. data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +10 -0
  84. data/assets/stylesheets/bootstrap/mixins/_pagination.scss +22 -0
  85. data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +17 -0
  86. data/assets/stylesheets/bootstrap/mixins/_resize.scss +6 -0
  87. data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +33 -0
  88. data/assets/stylesheets/bootstrap/mixins/_size.scss +6 -0
  89. data/assets/stylesheets/bootstrap/mixins/_table-row.scss +30 -0
  90. data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +14 -0
  91. data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +13 -0
  92. data/assets/stylesheets/bootstrap/mixins/_text-truncate.scss +8 -0
  93. data/assets/stylesheets/bootstrap/mixins/_transition.scss +13 -0
  94. data/assets/stylesheets/bootstrap/mixins/_visibility.scss +7 -0
  95. data/assets/stylesheets/bootstrap/utilities/_align.scss +8 -0
  96. data/assets/stylesheets/bootstrap/utilities/_background.scss +19 -0
  97. data/assets/stylesheets/bootstrap/utilities/_borders.scss +59 -0
  98. data/assets/stylesheets/bootstrap/utilities/_clearfix.scss +3 -0
  99. data/assets/stylesheets/bootstrap/utilities/_display.scss +38 -0
  100. data/assets/stylesheets/bootstrap/utilities/_embed.scss +52 -0
  101. data/assets/stylesheets/bootstrap/utilities/_flex.scss +51 -0
  102. data/assets/stylesheets/bootstrap/utilities/_float.scss +9 -0
  103. data/assets/stylesheets/bootstrap/utilities/_position.scss +37 -0
  104. data/assets/stylesheets/bootstrap/utilities/_screenreaders.scss +11 -0
  105. data/assets/stylesheets/bootstrap/utilities/_shadows.scss +6 -0
  106. data/assets/stylesheets/bootstrap/utilities/_sizing.scss +12 -0
  107. data/assets/stylesheets/bootstrap/utilities/_spacing.scss +51 -0
  108. data/assets/stylesheets/bootstrap/utilities/_text.scss +58 -0
  109. data/assets/stylesheets/bootstrap/utilities/_visibility.scss +11 -0
  110. data/assets/stylesheets/lorem.css +23980 -0
  111. data/bin/console +14 -0
  112. data/bin/setup +8 -0
  113. data/lib/loremGem/engine.rb +12 -0
  114. data/lib/loremGem/version.rb +4 -0
  115. data/lib/loremGem.rb +74 -0
  116. data/loremGem.gemspec +50 -0
  117. data/tasks/updater/js.rb +68 -0
  118. data/tasks/updater/logger.rb +57 -0
  119. data/tasks/updater/network.rb +103 -0
  120. data/tasks/updater/scss.rb +26 -0
  121. data/tasks/updater.rb +67 -0
  122. data/test/dummy_rails/README.rdoc +3 -0
  123. data/test/dummy_rails/Rakefile +6 -0
  124. data/test/dummy_rails/app/assets/images/.keep +0 -0
  125. data/test/dummy_rails/app/assets/javascripts/application.js +7 -0
  126. data/test/dummy_rails/app/assets/stylesheets/application.sass +4 -0
  127. data/test/dummy_rails/app/controllers/application_controller.rb +5 -0
  128. data/test/dummy_rails/app/controllers/pages_controller.rb +4 -0
  129. data/test/dummy_rails/app/helpers/application_helper.rb +2 -0
  130. data/test/dummy_rails/app/views/layouts/application.html.erb +14 -0
  131. data/test/dummy_rails/app/views/pages/root.html.slim +58 -0
  132. data/test/dummy_rails/config/application.rb +34 -0
  133. data/test/dummy_rails/config/boot.rb +5 -0
  134. data/test/dummy_rails/config/environment.rb +5 -0
  135. data/test/dummy_rails/config/environments/development.rb +23 -0
  136. data/test/dummy_rails/config/environments/production.rb +82 -0
  137. data/test/dummy_rails/config/environments/test.rb +38 -0
  138. data/test/dummy_rails/config/initializers/backtrace_silencers.rb +7 -0
  139. data/test/dummy_rails/config/initializers/filter_parameter_logging.rb +4 -0
  140. data/test/dummy_rails/config/initializers/inflections.rb +16 -0
  141. data/test/dummy_rails/config/initializers/mime_types.rb +5 -0
  142. data/test/dummy_rails/config/initializers/secret_token.rb +18 -0
  143. data/test/dummy_rails/config/initializers/session_store.rb +3 -0
  144. data/test/dummy_rails/config/initializers/wrap_parameters.rb +14 -0
  145. data/test/dummy_rails/config/locales/en.yml +3 -0
  146. data/test/dummy_rails/config/locales/es.yml +3 -0
  147. data/test/dummy_rails/config/routes.rb +3 -0
  148. data/test/dummy_rails/config.ru +4 -0
  149. data/test/dummy_rails/log/.keep +0 -0
  150. data/test/gemfiles/rails_4_2.gemfile +7 -0
  151. data/test/gemfiles/rails_5_0.gemfile +8 -0
  152. data/test/gemfiles/rails_5_1.gemfile +8 -0
  153. data/test/rails_test.rb +24 -0
  154. data/test/support/dummy_rails_integration.rb +29 -0
  155. data/test/support/reporting.rb +27 -0
  156. data/test/test_helper.rb +35 -0
  157. data/test/test_helper_rails.rb +6 -0
  158. metadata +480 -0
@@ -0,0 +1,421 @@
1
+ // Embedded icons from Open Iconic.
2
+ // Released under MIT and copyright 2014 Waybury.
3
+ // https://useiconic.com/open
4
+
5
+
6
+ // Checkboxes and radios
7
+ //
8
+ // Base class takes care of all the key behavioral aspects.
9
+
10
+ .custom-control {
11
+ position: relative;
12
+ display: block;
13
+ min-height: (1rem * $line-height-base);
14
+ padding-left: $custom-control-gutter;
15
+ }
16
+
17
+ .custom-control-inline {
18
+ display: inline-flex;
19
+ margin-right: $custom-control-spacer-x;
20
+ }
21
+
22
+ .custom-control-input {
23
+ position: absolute;
24
+ z-index: -1; // Put the input behind the label so it doesn't overlay text
25
+ opacity: 0;
26
+
27
+ &:checked ~ .custom-control-label::before {
28
+ color: $custom-control-indicator-checked-color;
29
+ @include gradient-bg($custom-control-indicator-checked-bg);
30
+ @include box-shadow($custom-control-indicator-checked-box-shadow);
31
+ }
32
+
33
+ &:focus ~ .custom-control-label::before {
34
+ // the mixin is not used here to make sure there is feedback
35
+ box-shadow: $custom-control-indicator-focus-box-shadow;
36
+ }
37
+
38
+ &:active ~ .custom-control-label::before {
39
+ color: $custom-control-indicator-active-color;
40
+ background-color: $custom-control-indicator-active-bg;
41
+ @include box-shadow($custom-control-indicator-active-box-shadow);
42
+ }
43
+
44
+ &:disabled {
45
+ ~ .custom-control-label {
46
+ color: $custom-control-label-disabled-color;
47
+
48
+ &::before {
49
+ background-color: $custom-control-indicator-disabled-bg;
50
+ }
51
+ }
52
+ }
53
+ }
54
+
55
+ // Custom control indicators
56
+ //
57
+ // Build the custom controls out of pseudo-elements.
58
+
59
+ .custom-control-label {
60
+ position: relative;
61
+ margin-bottom: 0;
62
+
63
+ // Background-color and (when enabled) gradient
64
+ &::before {
65
+ position: absolute;
66
+ top: (($line-height-base - $custom-control-indicator-size) / 2);
67
+ left: -$custom-control-gutter;
68
+ display: block;
69
+ width: $custom-control-indicator-size;
70
+ height: $custom-control-indicator-size;
71
+ pointer-events: none;
72
+ content: "";
73
+ user-select: none;
74
+ background-color: $custom-control-indicator-bg;
75
+ @include box-shadow($custom-control-indicator-box-shadow);
76
+ }
77
+
78
+ // Foreground (icon)
79
+ &::after {
80
+ position: absolute;
81
+ top: (($line-height-base - $custom-control-indicator-size) / 2);
82
+ left: -$custom-control-gutter;
83
+ display: block;
84
+ width: $custom-control-indicator-size;
85
+ height: $custom-control-indicator-size;
86
+ content: "";
87
+ background-repeat: no-repeat;
88
+ background-position: center center;
89
+ background-size: $custom-control-indicator-bg-size;
90
+ }
91
+ }
92
+
93
+
94
+ // Checkboxes
95
+ //
96
+ // Tweak just a few things for checkboxes.
97
+
98
+ .custom-checkbox {
99
+ .custom-control-label::before {
100
+ @include border-radius($custom-checkbox-indicator-border-radius);
101
+ }
102
+
103
+ .custom-control-input:checked ~ .custom-control-label {
104
+ &::before {
105
+ @include gradient-bg($custom-control-indicator-checked-bg);
106
+ }
107
+ &::after {
108
+ background-image: $custom-checkbox-indicator-icon-checked;
109
+ }
110
+ }
111
+
112
+ .custom-control-input:indeterminate ~ .custom-control-label {
113
+ &::before {
114
+ @include gradient-bg($custom-checkbox-indicator-indeterminate-bg);
115
+ @include box-shadow($custom-checkbox-indicator-indeterminate-box-shadow);
116
+ }
117
+ &::after {
118
+ background-image: $custom-checkbox-indicator-icon-indeterminate;
119
+ }
120
+ }
121
+
122
+ .custom-control-input:disabled {
123
+ &:checked ~ .custom-control-label::before {
124
+ background-color: $custom-control-indicator-checked-disabled-bg;
125
+ }
126
+ &:indeterminate ~ .custom-control-label::before {
127
+ background-color: $custom-control-indicator-checked-disabled-bg;
128
+ }
129
+ }
130
+ }
131
+
132
+ // Radios
133
+ //
134
+ // Tweak just a few things for radios.
135
+
136
+ .custom-radio {
137
+ .custom-control-label::before {
138
+ border-radius: $custom-radio-indicator-border-radius;
139
+ }
140
+
141
+ .custom-control-input:checked ~ .custom-control-label {
142
+ &::before {
143
+ @include gradient-bg($custom-control-indicator-checked-bg);
144
+ }
145
+ &::after {
146
+ background-image: $custom-radio-indicator-icon-checked;
147
+ }
148
+ }
149
+
150
+ .custom-control-input:disabled {
151
+ &:checked ~ .custom-control-label::before {
152
+ background-color: $custom-control-indicator-checked-disabled-bg;
153
+ }
154
+ }
155
+ }
156
+
157
+
158
+ // Select
159
+ //
160
+ // Replaces the browser default select with a custom one, mostly pulled from
161
+ // https://primer.github.io/.
162
+ //
163
+
164
+ .custom-select {
165
+ display: inline-block;
166
+ width: 100%;
167
+ height: $custom-select-height;
168
+ padding: $custom-select-padding-y ($custom-select-padding-x + $custom-select-indicator-padding) $custom-select-padding-y $custom-select-padding-x;
169
+ line-height: $custom-select-line-height;
170
+ color: $custom-select-color;
171
+ vertical-align: middle;
172
+ background: $custom-select-bg $custom-select-indicator no-repeat right $custom-select-padding-x center;
173
+ background-size: $custom-select-bg-size;
174
+ border: $custom-select-border-width solid $custom-select-border-color;
175
+ @if $enable-rounded {
176
+ border-radius: $custom-select-border-radius;
177
+ } @else {
178
+ border-radius: 0;
179
+ }
180
+ appearance: none;
181
+
182
+ &:focus {
183
+ border-color: $custom-select-focus-border-color;
184
+ outline: 0;
185
+ box-shadow: $custom-select-focus-box-shadow;
186
+
187
+ &::-ms-value {
188
+ // For visual consistency with other platforms/browsers,
189
+ // suppress the default white text on blue background highlight given to
190
+ // the selected option text when the (still closed) <select> receives focus
191
+ // in IE and (under certain conditions) Edge.
192
+ // See https://github.com/twbs/bootstrap/issues/19398.
193
+ color: $input-color;
194
+ background-color: $input-bg;
195
+ }
196
+ }
197
+
198
+ &[multiple],
199
+ &[size]:not([size="1"]) {
200
+ height: auto;
201
+ padding-right: $custom-select-padding-x;
202
+ background-image: none;
203
+ }
204
+
205
+ &:disabled {
206
+ color: $custom-select-disabled-color;
207
+ background-color: $custom-select-disabled-bg;
208
+ }
209
+
210
+ // Hides the default caret in IE11
211
+ &::-ms-expand {
212
+ opacity: 0;
213
+ }
214
+ }
215
+
216
+ .custom-select-sm {
217
+ height: $custom-select-height-sm;
218
+ padding-top: $custom-select-padding-y;
219
+ padding-bottom: $custom-select-padding-y;
220
+ font-size: $custom-select-font-size-sm;
221
+ }
222
+
223
+ .custom-select-lg {
224
+ height: $custom-select-height-lg;
225
+ padding-top: $custom-select-padding-y;
226
+ padding-bottom: $custom-select-padding-y;
227
+ font-size: $custom-select-font-size-lg;
228
+ }
229
+
230
+
231
+ // File
232
+ //
233
+ // Custom file input.
234
+
235
+ .custom-file {
236
+ position: relative;
237
+ display: inline-block;
238
+ width: 100%;
239
+ height: $custom-file-height;
240
+ margin-bottom: 0;
241
+ }
242
+
243
+ .custom-file-input {
244
+ position: relative;
245
+ z-index: 2;
246
+ width: 100%;
247
+ height: $custom-file-height;
248
+ margin: 0;
249
+ opacity: 0;
250
+
251
+ &:focus ~ .custom-file-label {
252
+ border-color: $custom-file-focus-border-color;
253
+ box-shadow: $custom-file-focus-box-shadow;
254
+
255
+ &::after {
256
+ border-color: $custom-file-focus-border-color;
257
+ }
258
+ }
259
+
260
+ @each $lang, $value in $custom-file-text {
261
+ &:lang(#{$lang}) ~ .custom-file-label::after {
262
+ content: $value;
263
+ }
264
+ }
265
+ }
266
+
267
+ .custom-file-label {
268
+ position: absolute;
269
+ top: 0;
270
+ right: 0;
271
+ left: 0;
272
+ z-index: 1;
273
+ height: $custom-file-height;
274
+ padding: $custom-file-padding-y $custom-file-padding-x;
275
+ line-height: $custom-file-line-height;
276
+ color: $custom-file-color;
277
+ background-color: $custom-file-bg;
278
+ border: $custom-file-border-width solid $custom-file-border-color;
279
+ @include border-radius($custom-file-border-radius);
280
+ @include box-shadow($custom-file-box-shadow);
281
+
282
+ &::after {
283
+ position: absolute;
284
+ top: 0;
285
+ right: 0;
286
+ bottom: 0;
287
+ z-index: 3;
288
+ display: block;
289
+ height: $custom-file-height-inner;
290
+ padding: $custom-file-padding-y $custom-file-padding-x;
291
+ line-height: $custom-file-line-height;
292
+ color: $custom-file-button-color;
293
+ content: "Browse";
294
+ @include gradient-bg($custom-file-button-bg);
295
+ border-left: $custom-file-border-width solid $custom-file-border-color;
296
+ @include border-radius(0 $custom-file-border-radius $custom-file-border-radius 0);
297
+ }
298
+ }
299
+
300
+ // Range
301
+ //
302
+ // Style range inputs the same across browsers. Vendor-specific rules for pseudo
303
+ // elements cannot be mixed. As such, there are no shared styles for focus or
304
+ // active states on prefixed selectors.
305
+
306
+ .custom-range {
307
+ width: 100%;
308
+ padding-left: 0; // Firefox specific
309
+ background-color: transparent;
310
+ appearance: none;
311
+
312
+ &:focus {
313
+ outline: none;
314
+ }
315
+
316
+ &::-moz-focus-outer {
317
+ border: 0;
318
+ }
319
+
320
+ &::-webkit-slider-thumb {
321
+ width: $custom-range-thumb-width;
322
+ height: $custom-range-thumb-height;
323
+ margin-top: -($custom-range-thumb-width * .25); // Webkit specific?
324
+ @include gradient-bg($custom-range-thumb-bg);
325
+ border: $custom-range-thumb-border;
326
+ @include border-radius($custom-range-thumb-border-radius);
327
+ @include box-shadow($custom-range-thumb-box-shadow);
328
+ appearance: none;
329
+
330
+ &:focus {
331
+ outline: none;
332
+ box-shadow: $custom-range-thumb-focus-box-shadow; // No mixin for focus accessibility
333
+ }
334
+
335
+ &:active {
336
+ @include gradient-bg($custom-range-thumb-active-bg);
337
+ }
338
+ }
339
+
340
+ &::-webkit-slider-runnable-track {
341
+ width: $custom-range-track-width;
342
+ height: $custom-range-track-height;
343
+ color: transparent; // Why?
344
+ cursor: $custom-range-track-cursor;
345
+ background-color: $custom-range-track-bg;
346
+ border-color: transparent;
347
+ @include border-radius($custom-range-track-border-radius);
348
+ @include box-shadow($custom-range-track-box-shadow);
349
+ }
350
+
351
+ &::-moz-range-thumb {
352
+ width: $custom-range-thumb-width;
353
+ height: $custom-range-thumb-height;
354
+ @include gradient-bg($custom-range-thumb-bg);
355
+ border: $custom-range-thumb-border;
356
+ @include border-radius($custom-range-thumb-border-radius);
357
+ @include box-shadow($custom-range-thumb-box-shadow);
358
+ appearance: none;
359
+
360
+ &:focus {
361
+ outline: none;
362
+ box-shadow: $custom-range-thumb-focus-box-shadow; // No mixin for focus accessibility
363
+ }
364
+
365
+ &:active {
366
+ @include gradient-bg($custom-range-thumb-active-bg);
367
+ }
368
+ }
369
+
370
+ &::-moz-range-track {
371
+ width: $custom-range-track-width;
372
+ height: $custom-range-track-height;
373
+ color: transparent;
374
+ cursor: $custom-range-track-cursor;
375
+ background-color: $custom-range-track-bg;
376
+ border-color: transparent; // Firefox specific?
377
+ @include border-radius($custom-range-track-border-radius);
378
+ @include box-shadow($custom-range-track-box-shadow);
379
+ }
380
+
381
+ &::-ms-thumb {
382
+ width: $custom-range-thumb-width;
383
+ height: $custom-range-thumb-height;
384
+ @include gradient-bg($custom-range-thumb-bg);
385
+ border: $custom-range-thumb-border;
386
+ @include border-radius($custom-range-thumb-border-radius);
387
+ @include box-shadow($custom-range-thumb-box-shadow);
388
+ appearance: none;
389
+
390
+ &:focus {
391
+ outline: none;
392
+ box-shadow: $custom-range-thumb-focus-box-shadow; // No mixin for focus accessibility
393
+ }
394
+
395
+ &:active {
396
+ @include gradient-bg($custom-range-thumb-active-bg);
397
+ }
398
+ }
399
+
400
+ &::-ms-track {
401
+ width: $custom-range-track-width;
402
+ height: $custom-range-track-height;
403
+ color: transparent;
404
+ cursor: $custom-range-track-cursor;
405
+ background-color: transparent;
406
+ border-color: transparent;
407
+ border-width: ($custom-range-thumb-height * .5);
408
+ @include box-shadow($custom-range-track-box-shadow);
409
+ }
410
+
411
+ &::-ms-fill-lower {
412
+ background-color: $custom-range-track-bg;
413
+ @include border-radius($custom-range-track-border-radius);
414
+ }
415
+
416
+ &::-ms-fill-upper {
417
+ margin-right: 15px; // arbitrary?
418
+ background-color: $custom-range-track-bg;
419
+ @include border-radius($custom-range-track-border-radius);
420
+ }
421
+ }
@@ -0,0 +1,166 @@
1
+ // The dropdown wrapper (`<div>`)
2
+ .dropup,
3
+ .dropright,
4
+ .dropdown,
5
+ .dropleft {
6
+ position: relative;
7
+ }
8
+
9
+ .dropdown-toggle {
10
+ // Generate the caret automatically
11
+ @include caret;
12
+ }
13
+
14
+ // The dropdown menu
15
+ .dropdown-menu {
16
+ position: absolute;
17
+ top: 100%;
18
+ left: 0;
19
+ z-index: $zindex-dropdown;
20
+ display: none; // none by default, but block on "open" of the menu
21
+ float: left;
22
+ min-width: $dropdown-min-width;
23
+ padding: $dropdown-padding-y 0;
24
+ margin: $dropdown-spacer 0 0; // override default ul
25
+ font-size: $font-size-base; // Redeclare because nesting can cause inheritance issues
26
+ color: $body-color;
27
+ text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)
28
+ list-style: none;
29
+ background-color: $dropdown-bg;
30
+ background-clip: padding-box;
31
+ border: $dropdown-border-width solid $dropdown-border-color;
32
+ @include border-radius($dropdown-border-radius);
33
+ @include box-shadow($dropdown-box-shadow);
34
+ }
35
+
36
+ .dropdown-menu-right {
37
+ right: 0;
38
+ left: auto;
39
+ }
40
+
41
+ // Allow for dropdowns to go bottom up (aka, dropup-menu)
42
+ // Just add .dropup after the standard .dropdown class and you're set.
43
+ .dropup {
44
+ .dropdown-menu {
45
+ top: auto;
46
+ bottom: 100%;
47
+ margin-top: 0;
48
+ margin-bottom: $dropdown-spacer;
49
+ }
50
+
51
+ .dropdown-toggle {
52
+ @include caret(up);
53
+ }
54
+ }
55
+
56
+ .dropright {
57
+ .dropdown-menu {
58
+ top: 0;
59
+ right: auto;
60
+ left: 100%;
61
+ margin-top: 0;
62
+ margin-left: $dropdown-spacer;
63
+ }
64
+
65
+ .dropdown-toggle {
66
+ @include caret(right);
67
+ &::after {
68
+ vertical-align: 0;
69
+ }
70
+ }
71
+ }
72
+
73
+ .dropleft {
74
+ .dropdown-menu {
75
+ top: 0;
76
+ right: 100%;
77
+ left: auto;
78
+ margin-top: 0;
79
+ margin-right: $dropdown-spacer;
80
+ }
81
+
82
+ .dropdown-toggle {
83
+ @include caret(left);
84
+ &::before {
85
+ vertical-align: 0;
86
+ }
87
+ }
88
+ }
89
+
90
+ // When enabled Popper.js, reset basic dropdown position
91
+ // stylelint-disable no-duplicate-selectors
92
+ .dropdown-menu {
93
+ &[x-placement^="top"],
94
+ &[x-placement^="right"],
95
+ &[x-placement^="bottom"],
96
+ &[x-placement^="left"] {
97
+ right: auto;
98
+ bottom: auto;
99
+ }
100
+ }
101
+ // stylelint-enable no-duplicate-selectors
102
+
103
+ // Dividers (basically an `<hr>`) within the dropdown
104
+ .dropdown-divider {
105
+ @include nav-divider($dropdown-divider-bg);
106
+ }
107
+
108
+ // Links, buttons, and more within the dropdown menu
109
+ //
110
+ // `<button>`-specific styles are denoted with `// For <button>s`
111
+ .dropdown-item {
112
+ display: block;
113
+ width: 100%; // For `<button>`s
114
+ padding: $dropdown-item-padding-y $dropdown-item-padding-x;
115
+ clear: both;
116
+ font-weight: $font-weight-normal;
117
+ color: $dropdown-link-color;
118
+ text-align: inherit; // For `<button>`s
119
+ white-space: nowrap; // prevent links from randomly breaking onto new lines
120
+ background-color: transparent; // For `<button>`s
121
+ border: 0; // For `<button>`s
122
+
123
+ @include hover-focus {
124
+ color: $dropdown-link-hover-color;
125
+ text-decoration: none;
126
+ @include gradient-bg($dropdown-link-hover-bg);
127
+ }
128
+
129
+ &.active,
130
+ &:active {
131
+ color: $dropdown-link-active-color;
132
+ text-decoration: none;
133
+ @include gradient-bg($dropdown-link-active-bg);
134
+ }
135
+
136
+ &.disabled,
137
+ &:disabled {
138
+ color: $dropdown-link-disabled-color;
139
+ background-color: transparent;
140
+ // Remove CSS gradients if they're enabled
141
+ @if $enable-gradients {
142
+ background-image: none;
143
+ }
144
+ }
145
+ }
146
+
147
+ .dropdown-menu.show {
148
+ display: block;
149
+ }
150
+
151
+ // Dropdown section headers
152
+ .dropdown-header {
153
+ display: block;
154
+ padding: $dropdown-padding-y $dropdown-item-padding-x;
155
+ margin-bottom: 0; // for use with heading elements
156
+ font-size: $font-size-sm;
157
+ color: $dropdown-header-color;
158
+ white-space: nowrap; // as with > li > a
159
+ }
160
+
161
+ // Dropdown text
162
+ .dropdown-item-text {
163
+ display: block;
164
+ padding: $dropdown-item-padding-y $dropdown-item-padding-x;
165
+ color: $dropdown-link-color;
166
+ }