yoyoyo 0.0.9 → 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (118) hide show
  1. checksums.yaml +5 -5
  2. metadata +11 -128
  3. data/LICENSE +0 -21
  4. data/README.md +0 -116
  5. data/_includes/categories.html +0 -8
  6. data/_includes/footer.html +0 -3
  7. data/_includes/head.html +0 -104
  8. data/_includes/header.html +0 -13
  9. data/_includes/home-footer.html +0 -3
  10. data/_includes/home-header.html +0 -4
  11. data/_includes/home-navigation.html +0 -7
  12. data/_includes/navigation.html +0 -7
  13. data/_includes/pagination.html +0 -41
  14. data/_includes/post-card.html +0 -12
  15. data/_includes/tags.html +0 -8
  16. data/_layouts/about.html +0 -6
  17. data/_layouts/author.html +0 -15
  18. data/_layouts/default.html +0 -30
  19. data/_layouts/home.html +0 -22
  20. data/_layouts/post.html +0 -25
  21. data/_sass/.DS_Store +0 -0
  22. data/_sass/_alert.scss +0 -51
  23. data/_sass/_badge.scss +0 -53
  24. data/_sass/_breadcrumb.scss +0 -41
  25. data/_sass/_button-group.scss +0 -163
  26. data/_sass/_buttons.scss +0 -140
  27. data/_sass/_card.scss +0 -310
  28. data/_sass/_carousel.scss +0 -198
  29. data/_sass/_close.scss +0 -44
  30. data/_sass/_code.scss +0 -48
  31. data/_sass/_custom-forms.scss +0 -507
  32. data/_sass/_dropdown.scss +0 -191
  33. data/_sass/_forms.scss +0 -334
  34. data/_sass/_functions.scss +0 -86
  35. data/_sass/_grid.scss +0 -52
  36. data/_sass/_images.scss +0 -42
  37. data/_sass/_input-group.scss +0 -193
  38. data/_sass/_jumbotron.scss +0 -16
  39. data/_sass/_list-group.scss +0 -121
  40. data/_sass/_media.scss +0 -8
  41. data/_sass/_mixins.scss +0 -41
  42. data/_sass/_modal.scss +0 -186
  43. data/_sass/_nav.scss +0 -120
  44. data/_sass/_navbar.scss +0 -299
  45. data/_sass/_pagination.scss +0 -78
  46. data/_sass/_popover.scss +0 -183
  47. data/_sass/_print.scss +0 -141
  48. data/_sass/_progress.scss +0 -34
  49. data/_sass/_reboot.scss +0 -462
  50. data/_sass/_root.scss +0 -19
  51. data/_sass/_spinners.scss +0 -53
  52. data/_sass/_tables.scss +0 -187
  53. data/_sass/_toasts.scss +0 -43
  54. data/_sass/_tooltip.scss +0 -115
  55. data/_sass/_transitions.scss +0 -22
  56. data/_sass/_type.scss +0 -125
  57. data/_sass/_utilities.scss +0 -16
  58. data/_sass/_variables.scss +0 -1091
  59. data/_sass/body.scss +0 -22
  60. data/_sass/bootstrap-grid.scss +0 -29
  61. data/_sass/bootstrap-reboot.scss +0 -12
  62. data/_sass/bootstrap.scss +0 -44
  63. data/_sass/header.scss +0 -54
  64. data/_sass/main.scss +0 -23
  65. data/_sass/mixins/_alert.scss +0 -13
  66. data/_sass/mixins/_background-variant.scss +0 -21
  67. data/_sass/mixins/_badge.scss +0 -11
  68. data/_sass/mixins/_border-radius.scss +0 -35
  69. data/_sass/mixins/_box-shadow.scss +0 -5
  70. data/_sass/mixins/_breakpoints.scss +0 -123
  71. data/_sass/mixins/_buttons.scss +0 -111
  72. data/_sass/mixins/_caret.scss +0 -62
  73. data/_sass/mixins/_clearfix.scss +0 -7
  74. data/_sass/mixins/_float.scss +0 -11
  75. data/_sass/mixins/_forms.scss +0 -198
  76. data/_sass/mixins/_gradients.scss +0 -45
  77. data/_sass/mixins/_grid-framework.scss +0 -66
  78. data/_sass/mixins/_grid.scss +0 -51
  79. data/_sass/mixins/_hover.scss +0 -37
  80. data/_sass/mixins/_image.scss +0 -36
  81. data/_sass/mixins/_list-group.scss +0 -21
  82. data/_sass/mixins/_lists.scss +0 -7
  83. data/_sass/mixins/_nav-divider.scss +0 -10
  84. data/_sass/mixins/_pagination.scss +0 -22
  85. data/_sass/mixins/_reset-text.scss +0 -17
  86. data/_sass/mixins/_resize.scss +0 -6
  87. data/_sass/mixins/_screen-reader.scss +0 -33
  88. data/_sass/mixins/_size.scss +0 -6
  89. data/_sass/mixins/_table-row.scss +0 -39
  90. data/_sass/mixins/_text-emphasis.scss +0 -14
  91. data/_sass/mixins/_text-hide.scss +0 -13
  92. data/_sass/mixins/_text-truncate.scss +0 -8
  93. data/_sass/mixins/_transition.scss +0 -16
  94. data/_sass/mixins/_visibility.scss +0 -7
  95. data/_sass/post.scss +0 -3
  96. data/_sass/utilities/_align.scss +0 -8
  97. data/_sass/utilities/_background.scss +0 -19
  98. data/_sass/utilities/_borders.scss +0 -63
  99. data/_sass/utilities/_clearfix.scss +0 -3
  100. data/_sass/utilities/_display.scss +0 -38
  101. data/_sass/utilities/_embed.scss +0 -39
  102. data/_sass/utilities/_flex.scss +0 -51
  103. data/_sass/utilities/_float.scss +0 -9
  104. data/_sass/utilities/_overflow.scss +0 -5
  105. data/_sass/utilities/_position.scss +0 -32
  106. data/_sass/utilities/_screenreaders.scss +0 -11
  107. data/_sass/utilities/_shadows.scss +0 -6
  108. data/_sass/utilities/_sizing.scss +0 -20
  109. data/_sass/utilities/_spacing.scss +0 -73
  110. data/_sass/utilities/_text.scss +0 -67
  111. data/_sass/utilities/_visibility.scss +0 -11
  112. data/assets/.DS_Store +0 -0
  113. data/assets/css/styles.scss +0 -5
  114. data/assets/images/programming_code.svg +0 -1
  115. data/assets/images/wxmp.png +0 -0
  116. data/assets/js/app.js +0 -4504
  117. data/assets/js/app.js.map +0 -1
  118. data/assets/ts/app.ts +0 -10
@@ -1,507 +0,0 @@
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: $font-size-base * $line-height-base;
14
- padding-left: $custom-control-gutter + $custom-control-indicator-size;
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
- border-color: $custom-control-indicator-checked-border-color;
30
- @include gradient-bg($custom-control-indicator-checked-bg);
31
- @include box-shadow($custom-control-indicator-checked-box-shadow);
32
- }
33
-
34
- &:focus ~ .custom-control-label::before {
35
- // the mixin is not used here to make sure there is feedback
36
- @if $enable-shadows {
37
- box-shadow: $input-box-shadow, $input-focus-box-shadow;
38
- } @else {
39
- box-shadow: $custom-control-indicator-focus-box-shadow;
40
- }
41
- }
42
-
43
- &:focus:not(:checked) ~ .custom-control-label::before {
44
- border-color: $custom-control-indicator-focus-border-color;
45
- }
46
-
47
- &:not(:disabled):active ~ .custom-control-label::before {
48
- color: $custom-control-indicator-active-color;
49
- background-color: $custom-control-indicator-active-bg;
50
- border-color: $custom-control-indicator-active-border-color;
51
- @include box-shadow($custom-control-indicator-active-box-shadow);
52
- }
53
-
54
- &:disabled {
55
- ~ .custom-control-label {
56
- color: $custom-control-label-disabled-color;
57
-
58
- &::before {
59
- background-color: $custom-control-indicator-disabled-bg;
60
- }
61
- }
62
- }
63
- }
64
-
65
- // Custom control indicators
66
- //
67
- // Build the custom controls out of pseudo-elements.
68
-
69
- .custom-control-label {
70
- position: relative;
71
- margin-bottom: 0;
72
- vertical-align: top;
73
-
74
- // Background-color and (when enabled) gradient
75
- &::before {
76
- position: absolute;
77
- top: ($font-size-base * $line-height-base - $custom-control-indicator-size) / 2;
78
- left: -($custom-control-gutter + $custom-control-indicator-size);
79
- display: block;
80
- width: $custom-control-indicator-size;
81
- height: $custom-control-indicator-size;
82
- pointer-events: none;
83
- content: "";
84
- background-color: $custom-control-indicator-bg;
85
- border: $custom-control-indicator-border-color solid $custom-control-indicator-border-width;
86
- @include box-shadow($custom-control-indicator-box-shadow);
87
- }
88
-
89
- // Foreground (icon)
90
- &::after {
91
- position: absolute;
92
- top: ($font-size-base * $line-height-base - $custom-control-indicator-size) / 2;
93
- left: -($custom-control-gutter + $custom-control-indicator-size);
94
- display: block;
95
- width: $custom-control-indicator-size;
96
- height: $custom-control-indicator-size;
97
- content: "";
98
- background-repeat: no-repeat;
99
- background-position: center center;
100
- background-size: $custom-control-indicator-bg-size;
101
- }
102
- }
103
-
104
-
105
- // Checkboxes
106
- //
107
- // Tweak just a few things for checkboxes.
108
-
109
- .custom-checkbox {
110
- .custom-control-label::before {
111
- @include border-radius($custom-checkbox-indicator-border-radius);
112
- }
113
-
114
- .custom-control-input:checked ~ .custom-control-label {
115
- &::after {
116
- background-image: $custom-checkbox-indicator-icon-checked;
117
- }
118
- }
119
-
120
- .custom-control-input:indeterminate ~ .custom-control-label {
121
- &::before {
122
- border-color: $custom-checkbox-indicator-indeterminate-border-color;
123
- @include gradient-bg($custom-checkbox-indicator-indeterminate-bg);
124
- @include box-shadow($custom-checkbox-indicator-indeterminate-box-shadow);
125
- }
126
- &::after {
127
- background-image: $custom-checkbox-indicator-icon-indeterminate;
128
- }
129
- }
130
-
131
- .custom-control-input:disabled {
132
- &:checked ~ .custom-control-label::before {
133
- background-color: $custom-control-indicator-checked-disabled-bg;
134
- }
135
- &:indeterminate ~ .custom-control-label::before {
136
- background-color: $custom-control-indicator-checked-disabled-bg;
137
- }
138
- }
139
- }
140
-
141
- // Radios
142
- //
143
- // Tweak just a few things for radios.
144
-
145
- .custom-radio {
146
- .custom-control-label::before {
147
- border-radius: $custom-radio-indicator-border-radius;
148
- }
149
-
150
- .custom-control-input:checked ~ .custom-control-label {
151
- &::after {
152
- background-image: $custom-radio-indicator-icon-checked;
153
- }
154
- }
155
-
156
- .custom-control-input:disabled {
157
- &:checked ~ .custom-control-label::before {
158
- background-color: $custom-control-indicator-checked-disabled-bg;
159
- }
160
- }
161
- }
162
-
163
-
164
- // switches
165
- //
166
- // Tweak a few things for switches
167
-
168
- .custom-switch {
169
- padding-left: $custom-switch-width + $custom-control-gutter;
170
-
171
- .custom-control-label {
172
- &::before {
173
- left: -($custom-switch-width + $custom-control-gutter);
174
- width: $custom-switch-width;
175
- pointer-events: all;
176
- border-radius: $custom-switch-indicator-border-radius;
177
- }
178
-
179
- &::after {
180
- top: calc(#{(($font-size-base * $line-height-base - $custom-control-indicator-size) / 2)} + #{$custom-control-indicator-border-width * 2});
181
- left: calc(#{-($custom-switch-width + $custom-control-gutter)} + #{$custom-control-indicator-border-width * 2});
182
- width: $custom-switch-indicator-size;
183
- height: $custom-switch-indicator-size;
184
- background-color: $custom-control-indicator-border-color;
185
- border-radius: $custom-switch-indicator-border-radius;
186
- @include transition(transform .15s ease-in-out, $custom-forms-transition);
187
- }
188
- }
189
-
190
- .custom-control-input:checked ~ .custom-control-label {
191
- &::after {
192
- background-color: $custom-control-indicator-bg;
193
- transform: translateX($custom-switch-width - $custom-control-indicator-size);
194
- }
195
- }
196
-
197
- .custom-control-input:disabled {
198
- &:checked ~ .custom-control-label::before {
199
- background-color: $custom-control-indicator-checked-disabled-bg;
200
- }
201
- }
202
- }
203
-
204
-
205
- // Select
206
- //
207
- // Replaces the browser default select with a custom one, mostly pulled from
208
- // https://primer.github.io/.
209
- //
210
-
211
- .custom-select {
212
- display: inline-block;
213
- width: 100%;
214
- height: $custom-select-height;
215
- padding: $custom-select-padding-y ($custom-select-padding-x + $custom-select-indicator-padding) $custom-select-padding-y $custom-select-padding-x;
216
- font-weight: $custom-select-font-weight;
217
- line-height: $custom-select-line-height;
218
- color: $custom-select-color;
219
- vertical-align: middle;
220
- background: $custom-select-background;
221
- background-color: $custom-select-bg;
222
- border: $custom-select-border-width solid $custom-select-border-color;
223
- @if $enable-rounded {
224
- border-radius: $custom-select-border-radius;
225
- } @else {
226
- border-radius: 0;
227
- }
228
- @include box-shadow($custom-select-box-shadow);
229
- appearance: none;
230
-
231
- &:focus {
232
- border-color: $custom-select-focus-border-color;
233
- outline: 0;
234
- @if $enable-shadows {
235
- box-shadow: $custom-select-box-shadow, $custom-select-focus-box-shadow;
236
- } @else {
237
- box-shadow: $custom-select-focus-box-shadow;
238
- }
239
-
240
- &::-ms-value {
241
- // For visual consistency with other platforms/browsers,
242
- // suppress the default white text on blue background highlight given to
243
- // the selected option text when the (still closed) <select> receives focus
244
- // in IE and (under certain conditions) Edge.
245
- // See https://github.com/twbs/bootstrap/issues/19398.
246
- color: $input-color;
247
- background-color: $input-bg;
248
- }
249
- }
250
-
251
- &[multiple],
252
- &[size]:not([size="1"]) {
253
- height: auto;
254
- padding-right: $custom-select-padding-x;
255
- background-image: none;
256
- }
257
-
258
- &:disabled {
259
- color: $custom-select-disabled-color;
260
- background-color: $custom-select-disabled-bg;
261
- }
262
-
263
- // Hides the default caret in IE11
264
- &::-ms-expand {
265
- opacity: 0;
266
- }
267
- }
268
-
269
- .custom-select-sm {
270
- height: $custom-select-height-sm;
271
- padding-top: $custom-select-padding-y-sm;
272
- padding-bottom: $custom-select-padding-y-sm;
273
- padding-left: $custom-select-padding-x-sm;
274
- font-size: $custom-select-font-size-sm;
275
- }
276
-
277
- .custom-select-lg {
278
- height: $custom-select-height-lg;
279
- padding-top: $custom-select-padding-y-lg;
280
- padding-bottom: $custom-select-padding-y-lg;
281
- padding-left: $custom-select-padding-x-lg;
282
- font-size: $custom-select-font-size-lg;
283
- }
284
-
285
-
286
- // File
287
- //
288
- // Custom file input.
289
-
290
- .custom-file {
291
- position: relative;
292
- display: inline-block;
293
- width: 100%;
294
- height: $custom-file-height;
295
- margin-bottom: 0;
296
- }
297
-
298
- .custom-file-input {
299
- position: relative;
300
- z-index: 2;
301
- width: 100%;
302
- height: $custom-file-height;
303
- margin: 0;
304
- opacity: 0;
305
-
306
- &:focus ~ .custom-file-label {
307
- border-color: $custom-file-focus-border-color;
308
- box-shadow: $custom-file-focus-box-shadow;
309
- }
310
-
311
- &:disabled ~ .custom-file-label {
312
- background-color: $custom-file-disabled-bg;
313
- }
314
-
315
- @each $lang, $value in $custom-file-text {
316
- &:lang(#{$lang}) ~ .custom-file-label::after {
317
- content: $value;
318
- }
319
- }
320
-
321
- ~ .custom-file-label[data-browse]::after {
322
- content: attr(data-browse);
323
- }
324
- }
325
-
326
- .custom-file-label {
327
- position: absolute;
328
- top: 0;
329
- right: 0;
330
- left: 0;
331
- z-index: 1;
332
- height: $custom-file-height;
333
- padding: $custom-file-padding-y $custom-file-padding-x;
334
- font-weight: $custom-file-font-weight;
335
- line-height: $custom-file-line-height;
336
- color: $custom-file-color;
337
- background-color: $custom-file-bg;
338
- border: $custom-file-border-width solid $custom-file-border-color;
339
- @include border-radius($custom-file-border-radius);
340
- @include box-shadow($custom-file-box-shadow);
341
-
342
- &::after {
343
- position: absolute;
344
- top: 0;
345
- right: 0;
346
- bottom: 0;
347
- z-index: 3;
348
- display: block;
349
- height: $custom-file-height-inner;
350
- padding: $custom-file-padding-y $custom-file-padding-x;
351
- line-height: $custom-file-line-height;
352
- color: $custom-file-button-color;
353
- content: "Browse";
354
- @include gradient-bg($custom-file-button-bg);
355
- border-left: inherit;
356
- @include border-radius(0 $custom-file-border-radius $custom-file-border-radius 0);
357
- }
358
- }
359
-
360
- // Range
361
- //
362
- // Style range inputs the same across browsers. Vendor-specific rules for pseudo
363
- // elements cannot be mixed. As such, there are no shared styles for focus or
364
- // active states on prefixed selectors.
365
-
366
- .custom-range {
367
- width: 100%;
368
- height: calc(#{$custom-range-thumb-height} + #{$custom-range-thumb-focus-box-shadow-width * 2});
369
- padding: 0; // Need to reset padding
370
- background-color: transparent;
371
- appearance: none;
372
-
373
- &:focus {
374
- outline: none;
375
-
376
- // Pseudo-elements must be split across multiple rulesets to have an effect.
377
- // No box-shadow() mixin for focus accessibility.
378
- &::-webkit-slider-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }
379
- &::-moz-range-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }
380
- &::-ms-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }
381
- }
382
-
383
- &::-moz-focus-outer {
384
- border: 0;
385
- }
386
-
387
- &::-webkit-slider-thumb {
388
- width: $custom-range-thumb-width;
389
- height: $custom-range-thumb-height;
390
- margin-top: ($custom-range-track-height - $custom-range-thumb-height) / 2; // Webkit specific
391
- @include gradient-bg($custom-range-thumb-bg);
392
- border: $custom-range-thumb-border;
393
- @include border-radius($custom-range-thumb-border-radius);
394
- @include box-shadow($custom-range-thumb-box-shadow);
395
- @include transition($custom-forms-transition);
396
- appearance: none;
397
-
398
- &:active {
399
- @include gradient-bg($custom-range-thumb-active-bg);
400
- }
401
- }
402
-
403
- &::-webkit-slider-runnable-track {
404
- width: $custom-range-track-width;
405
- height: $custom-range-track-height;
406
- color: transparent; // Why?
407
- cursor: $custom-range-track-cursor;
408
- background-color: $custom-range-track-bg;
409
- border-color: transparent;
410
- @include border-radius($custom-range-track-border-radius);
411
- @include box-shadow($custom-range-track-box-shadow);
412
- }
413
-
414
- &::-moz-range-thumb {
415
- width: $custom-range-thumb-width;
416
- height: $custom-range-thumb-height;
417
- @include gradient-bg($custom-range-thumb-bg);
418
- border: $custom-range-thumb-border;
419
- @include border-radius($custom-range-thumb-border-radius);
420
- @include box-shadow($custom-range-thumb-box-shadow);
421
- @include transition($custom-forms-transition);
422
- appearance: none;
423
-
424
- &:active {
425
- @include gradient-bg($custom-range-thumb-active-bg);
426
- }
427
- }
428
-
429
- &::-moz-range-track {
430
- width: $custom-range-track-width;
431
- height: $custom-range-track-height;
432
- color: transparent;
433
- cursor: $custom-range-track-cursor;
434
- background-color: $custom-range-track-bg;
435
- border-color: transparent; // Firefox specific?
436
- @include border-radius($custom-range-track-border-radius);
437
- @include box-shadow($custom-range-track-box-shadow);
438
- }
439
-
440
- &::-ms-thumb {
441
- width: $custom-range-thumb-width;
442
- height: $custom-range-thumb-height;
443
- margin-top: 0; // Edge specific
444
- margin-right: $custom-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.
445
- margin-left: $custom-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.
446
- @include gradient-bg($custom-range-thumb-bg);
447
- border: $custom-range-thumb-border;
448
- @include border-radius($custom-range-thumb-border-radius);
449
- @include box-shadow($custom-range-thumb-box-shadow);
450
- @include transition($custom-forms-transition);
451
- appearance: none;
452
-
453
- &:active {
454
- @include gradient-bg($custom-range-thumb-active-bg);
455
- }
456
- }
457
-
458
- &::-ms-track {
459
- width: $custom-range-track-width;
460
- height: $custom-range-track-height;
461
- color: transparent;
462
- cursor: $custom-range-track-cursor;
463
- background-color: transparent;
464
- border-color: transparent;
465
- border-width: $custom-range-thumb-height / 2;
466
- @include box-shadow($custom-range-track-box-shadow);
467
- }
468
-
469
- &::-ms-fill-lower {
470
- background-color: $custom-range-track-bg;
471
- @include border-radius($custom-range-track-border-radius);
472
- }
473
-
474
- &::-ms-fill-upper {
475
- margin-right: 15px; // arbitrary?
476
- background-color: $custom-range-track-bg;
477
- @include border-radius($custom-range-track-border-radius);
478
- }
479
-
480
- &:disabled {
481
- &::-webkit-slider-thumb {
482
- background-color: $custom-range-thumb-disabled-bg;
483
- }
484
-
485
- &::-webkit-slider-runnable-track {
486
- cursor: default;
487
- }
488
-
489
- &::-moz-range-thumb {
490
- background-color: $custom-range-thumb-disabled-bg;
491
- }
492
-
493
- &::-moz-range-track {
494
- cursor: default;
495
- }
496
-
497
- &::-ms-thumb {
498
- background-color: $custom-range-thumb-disabled-bg;
499
- }
500
- }
501
- }
502
-
503
- .custom-control-label::before,
504
- .custom-file-label,
505
- .custom-select {
506
- @include transition($custom-forms-transition);
507
- }
data/_sass/_dropdown.scss DELETED
@@ -1,191 +0,0 @@
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
- @each $breakpoint in map-keys($grid-breakpoints) {
37
- @include media-breakpoint-up($breakpoint) {
38
- $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
39
-
40
- .dropdown-menu#{$infix}-right {
41
- right: 0;
42
- left: auto;
43
- }
44
- }
45
- }
46
-
47
- @each $breakpoint in map-keys($grid-breakpoints) {
48
- @include media-breakpoint-up($breakpoint) {
49
- $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
50
-
51
- .dropdown-menu#{$infix}-left {
52
- right: auto;
53
- left: 0;
54
- }
55
- }
56
- }
57
-
58
- // Allow for dropdowns to go bottom up (aka, dropup-menu)
59
- // Just add .dropup after the standard .dropdown class and you're set.
60
- .dropup {
61
- .dropdown-menu {
62
- top: auto;
63
- bottom: 100%;
64
- margin-top: 0;
65
- margin-bottom: $dropdown-spacer;
66
- }
67
-
68
- .dropdown-toggle {
69
- @include caret(up);
70
- }
71
- }
72
-
73
- .dropright {
74
- .dropdown-menu {
75
- top: 0;
76
- right: auto;
77
- left: 100%;
78
- margin-top: 0;
79
- margin-left: $dropdown-spacer;
80
- }
81
-
82
- .dropdown-toggle {
83
- @include caret(right);
84
- &::after {
85
- vertical-align: 0;
86
- }
87
- }
88
- }
89
-
90
- .dropleft {
91
- .dropdown-menu {
92
- top: 0;
93
- right: 100%;
94
- left: auto;
95
- margin-top: 0;
96
- margin-right: $dropdown-spacer;
97
- }
98
-
99
- .dropdown-toggle {
100
- @include caret(left);
101
- &::before {
102
- vertical-align: 0;
103
- }
104
- }
105
- }
106
-
107
- // When enabled Popper.js, reset basic dropdown position
108
- // stylelint-disable-next-line no-duplicate-selectors
109
- .dropdown-menu {
110
- &[x-placement^="top"],
111
- &[x-placement^="right"],
112
- &[x-placement^="bottom"],
113
- &[x-placement^="left"] {
114
- right: auto;
115
- bottom: auto;
116
- }
117
- }
118
-
119
- // Dividers (basically an `<hr>`) within the dropdown
120
- .dropdown-divider {
121
- @include nav-divider($dropdown-divider-bg);
122
- }
123
-
124
- // Links, buttons, and more within the dropdown menu
125
- //
126
- // `<button>`-specific styles are denoted with `// For <button>s`
127
- .dropdown-item {
128
- display: block;
129
- width: 100%; // For `<button>`s
130
- padding: $dropdown-item-padding-y $dropdown-item-padding-x;
131
- clear: both;
132
- font-weight: $font-weight-normal;
133
- color: $dropdown-link-color;
134
- text-align: inherit; // For `<button>`s
135
- white-space: nowrap; // prevent links from randomly breaking onto new lines
136
- background-color: transparent; // For `<button>`s
137
- border: 0; // For `<button>`s
138
-
139
- &:first-child {
140
- @include border-top-radius($dropdown-inner-border-radius);
141
- }
142
-
143
- &:last-child {
144
- @include border-bottom-radius($dropdown-inner-border-radius);
145
- }
146
-
147
- @include hover-focus {
148
- color: $dropdown-link-hover-color;
149
- text-decoration: none;
150
- @include gradient-bg($dropdown-link-hover-bg);
151
- }
152
-
153
- &.active,
154
- &:active {
155
- color: $dropdown-link-active-color;
156
- text-decoration: none;
157
- @include gradient-bg($dropdown-link-active-bg);
158
- }
159
-
160
- &.disabled,
161
- &:disabled {
162
- color: $dropdown-link-disabled-color;
163
- pointer-events: none;
164
- background-color: transparent;
165
- // Remove CSS gradients if they're enabled
166
- @if $enable-gradients {
167
- background-image: none;
168
- }
169
- }
170
- }
171
-
172
- .dropdown-menu.show {
173
- display: block;
174
- }
175
-
176
- // Dropdown section headers
177
- .dropdown-header {
178
- display: block;
179
- padding: $dropdown-padding-y $dropdown-item-padding-x;
180
- margin-bottom: 0; // for use with heading elements
181
- font-size: $font-size-sm;
182
- color: $dropdown-header-color;
183
- white-space: nowrap; // as with > li > a
184
- }
185
-
186
- // Dropdown text
187
- .dropdown-item-text {
188
- display: block;
189
- padding: $dropdown-item-padding-y $dropdown-item-padding-x;
190
- color: $dropdown-link-color;
191
- }