bootstrap 4.3.0 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +17 -2
  3. data/CHANGELOG.md +2 -14
  4. data/README.md +7 -4
  5. data/assets/javascripts/bootstrap/alert.js +173 -137
  6. data/assets/javascripts/bootstrap/base-component.js +182 -0
  7. data/assets/javascripts/bootstrap/button.js +102 -143
  8. data/assets/javascripts/bootstrap/carousel.js +481 -410
  9. data/assets/javascripts/bootstrap/collapse.js +340 -274
  10. data/assets/javascripts/bootstrap/dom/data.js +68 -0
  11. data/assets/javascripts/bootstrap/dom/event-handler.js +322 -0
  12. data/assets/javascripts/bootstrap/dom/manipulator.js +88 -0
  13. data/assets/javascripts/bootstrap/dom/selector-engine.js +127 -0
  14. data/assets/javascripts/bootstrap/dropdown.js +494 -400
  15. data/assets/javascripts/bootstrap/modal.js +834 -450
  16. data/assets/javascripts/bootstrap/offcanvas.js +866 -0
  17. data/assets/javascripts/bootstrap/popover.js +122 -199
  18. data/assets/javascripts/bootstrap/scrollspy.js +257 -241
  19. data/assets/javascripts/bootstrap/tab.js +219 -155
  20. data/assets/javascripts/bootstrap/toast.js +330 -190
  21. data/assets/javascripts/bootstrap/tooltip.js +710 -472
  22. data/assets/javascripts/bootstrap-global-this-define.js +6 -0
  23. data/assets/javascripts/bootstrap-global-this-undefine.js +2 -0
  24. data/assets/javascripts/bootstrap-sprockets.js +8 -1
  25. data/assets/javascripts/bootstrap.js +3547 -2809
  26. data/assets/javascripts/bootstrap.min.js +4 -4
  27. data/assets/stylesheets/_bootstrap-grid.scss +54 -18
  28. data/assets/stylesheets/_bootstrap-reboot.scss +7 -4
  29. data/assets/stylesheets/_bootstrap.scss +20 -11
  30. data/assets/stylesheets/bootstrap/_accordion.scss +118 -0
  31. data/assets/stylesheets/bootstrap/_alert.scss +15 -9
  32. data/assets/stylesheets/bootstrap/_badge.scss +2 -27
  33. data/assets/stylesheets/bootstrap/_breadcrumb.scss +5 -18
  34. data/assets/stylesheets/bootstrap/_button-group.scss +21 -45
  35. data/assets/stylesheets/bootstrap/_buttons.scss +28 -54
  36. data/assets/stylesheets/bootstrap/_card.scss +52 -125
  37. data/assets/stylesheets/bootstrap/_carousel.scss +70 -38
  38. data/assets/stylesheets/bootstrap/_close.scss +30 -31
  39. data/assets/stylesheets/bootstrap/_containers.scss +41 -0
  40. data/assets/stylesheets/bootstrap/_dropdown.scss +88 -39
  41. data/assets/stylesheets/bootstrap/_forms.scss +9 -330
  42. data/assets/stylesheets/bootstrap/_functions.scss +237 -27
  43. data/assets/stylesheets/bootstrap/_grid.scss +14 -33
  44. data/assets/stylesheets/bootstrap/_helpers.scss +9 -0
  45. data/assets/stylesheets/bootstrap/_images.scss +3 -3
  46. data/assets/stylesheets/bootstrap/_list-group.scss +61 -36
  47. data/assets/stylesheets/bootstrap/_mixins.scss +12 -16
  48. data/assets/stylesheets/bootstrap/_modal.scss +64 -84
  49. data/assets/stylesheets/bootstrap/_nav.scss +29 -10
  50. data/assets/stylesheets/bootstrap/_navbar.scss +93 -52
  51. data/assets/stylesheets/bootstrap/_offcanvas.scss +83 -0
  52. data/assets/stylesheets/bootstrap/_pagination.scss +13 -22
  53. data/assets/stylesheets/bootstrap/_placeholders.scss +51 -0
  54. data/assets/stylesheets/bootstrap/_popover.scss +29 -42
  55. data/assets/stylesheets/bootstrap/_progress.scss +10 -5
  56. data/assets/stylesheets/bootstrap/_reboot.scss +350 -208
  57. data/assets/stylesheets/bootstrap/_root.scss +42 -8
  58. data/assets/stylesheets/bootstrap/_spinners.scss +21 -7
  59. data/assets/stylesheets/bootstrap/_tables.scss +80 -114
  60. data/assets/stylesheets/bootstrap/_toasts.scss +21 -14
  61. data/assets/stylesheets/bootstrap/_tooltip.scss +21 -21
  62. data/assets/stylesheets/bootstrap/_transitions.scss +8 -1
  63. data/assets/stylesheets/bootstrap/_type.scss +40 -61
  64. data/assets/stylesheets/bootstrap/_utilities.scss +630 -17
  65. data/assets/stylesheets/bootstrap/_variables.scss +993 -487
  66. data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +18 -0
  67. data/assets/stylesheets/bootstrap/forms/_floating-labels.scss +63 -0
  68. data/assets/stylesheets/bootstrap/forms/_form-check.scss +152 -0
  69. data/assets/stylesheets/bootstrap/forms/_form-control.scss +219 -0
  70. data/assets/stylesheets/bootstrap/forms/_form-range.scss +91 -0
  71. data/assets/stylesheets/bootstrap/forms/_form-select.scss +70 -0
  72. data/assets/stylesheets/bootstrap/forms/_form-text.scss +11 -0
  73. data/assets/stylesheets/bootstrap/forms/_input-group.scss +121 -0
  74. data/assets/stylesheets/bootstrap/forms/_labels.scss +36 -0
  75. data/assets/stylesheets/bootstrap/forms/_validation.scss +12 -0
  76. data/assets/stylesheets/bootstrap/{utilities → helpers}/_clearfix.scss +0 -0
  77. data/assets/stylesheets/bootstrap/helpers/_colored-links.scss +12 -0
  78. data/assets/stylesheets/bootstrap/helpers/_position.scss +30 -0
  79. data/assets/stylesheets/bootstrap/helpers/_ratio.scss +26 -0
  80. data/assets/stylesheets/bootstrap/helpers/_stacks.scss +15 -0
  81. data/assets/stylesheets/bootstrap/helpers/_stretched-link.scss +15 -0
  82. data/assets/stylesheets/bootstrap/helpers/_text-truncation.scss +7 -0
  83. data/assets/stylesheets/bootstrap/helpers/_visually-hidden.scss +8 -0
  84. data/assets/stylesheets/bootstrap/helpers/_vr.scss +8 -0
  85. data/assets/stylesheets/bootstrap/mixins/_alert.scss +3 -5
  86. data/assets/stylesheets/bootstrap/mixins/_backdrop.scss +14 -0
  87. data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +37 -22
  88. data/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +7 -9
  89. data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +14 -10
  90. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +77 -51
  91. data/assets/stylesheets/bootstrap/mixins/_caret.scss +10 -8
  92. data/assets/stylesheets/bootstrap/mixins/_clearfix.scss +2 -0
  93. data/assets/stylesheets/bootstrap/mixins/_color-scheme.scss +7 -0
  94. data/assets/stylesheets/bootstrap/mixins/_container.scss +9 -0
  95. data/assets/stylesheets/bootstrap/mixins/_forms.scss +67 -115
  96. data/assets/stylesheets/bootstrap/mixins/_gradients.scss +13 -11
  97. data/assets/stylesheets/bootstrap/mixins/_grid.scss +131 -32
  98. data/assets/stylesheets/bootstrap/mixins/_image.scss +0 -20
  99. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +5 -2
  100. data/assets/stylesheets/bootstrap/mixins/_pagination.scss +17 -8
  101. data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +1 -1
  102. data/assets/stylesheets/bootstrap/mixins/_table-variants.scss +21 -0
  103. data/assets/stylesheets/bootstrap/mixins/_transition.scss +18 -8
  104. data/assets/stylesheets/bootstrap/mixins/_utilities.scss +89 -0
  105. data/assets/stylesheets/bootstrap/mixins/_visually-hidden.scss +29 -0
  106. data/assets/stylesheets/bootstrap/utilities/_api.scss +47 -0
  107. data/assets/stylesheets/bootstrap/vendor/_rfs.scss +274 -132
  108. data/bootstrap.gemspec +4 -6
  109. data/lib/bootstrap/version.rb +2 -2
  110. data/tasks/updater/js.rb +25 -6
  111. data/tasks/updater/network.rb +8 -2
  112. data/test/dummy_rails/app/assets/config/manifest.js +3 -0
  113. data/test/dummy_rails/app/assets/javascripts/application.js +4 -3
  114. data/test/dummy_rails/app/assets/stylesheets/.browserslistrc +1 -0
  115. data/test/dummy_rails/app/views/layouts/application.html.erb +3 -1
  116. data/test/dummy_rails/app/views/pages/root.html +89 -0
  117. data/test/dummy_rails/config/application.rb +0 -3
  118. data/test/gemfiles/rails_6_0.gemfile +7 -0
  119. data/test/gemfiles/rails_6_1.gemfile +7 -0
  120. data/test/support/dummy_rails_integration.rb +3 -1
  121. data/test/test_helper.rb +18 -13
  122. metadata +61 -79
  123. data/assets/javascripts/bootstrap/util.js +0 -171
  124. data/assets/stylesheets/bootstrap/_code.scss +0 -48
  125. data/assets/stylesheets/bootstrap/_custom-forms.scss +0 -507
  126. data/assets/stylesheets/bootstrap/_input-group.scss +0 -193
  127. data/assets/stylesheets/bootstrap/_jumbotron.scss +0 -17
  128. data/assets/stylesheets/bootstrap/_media.scss +0 -8
  129. data/assets/stylesheets/bootstrap/_print.scss +0 -141
  130. data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +0 -21
  131. data/assets/stylesheets/bootstrap/mixins/_badge.scss +0 -17
  132. data/assets/stylesheets/bootstrap/mixins/_float.scss +0 -14
  133. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -66
  134. data/assets/stylesheets/bootstrap/mixins/_hover.scss +0 -37
  135. data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -10
  136. data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +0 -33
  137. data/assets/stylesheets/bootstrap/mixins/_size.scss +0 -7
  138. data/assets/stylesheets/bootstrap/mixins/_table-row.scss +0 -39
  139. data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -16
  140. data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +0 -11
  141. data/assets/stylesheets/bootstrap/mixins/_visibility.scss +0 -8
  142. data/assets/stylesheets/bootstrap/utilities/_align.scss +0 -8
  143. data/assets/stylesheets/bootstrap/utilities/_background.scss +0 -19
  144. data/assets/stylesheets/bootstrap/utilities/_borders.scss +0 -75
  145. data/assets/stylesheets/bootstrap/utilities/_display.scss +0 -26
  146. data/assets/stylesheets/bootstrap/utilities/_embed.scss +0 -39
  147. data/assets/stylesheets/bootstrap/utilities/_flex.scss +0 -51
  148. data/assets/stylesheets/bootstrap/utilities/_float.scss +0 -11
  149. data/assets/stylesheets/bootstrap/utilities/_overflow.scss +0 -5
  150. data/assets/stylesheets/bootstrap/utilities/_position.scss +0 -32
  151. data/assets/stylesheets/bootstrap/utilities/_screenreaders.scss +0 -11
  152. data/assets/stylesheets/bootstrap/utilities/_shadows.scss +0 -6
  153. data/assets/stylesheets/bootstrap/utilities/_sizing.scss +0 -20
  154. data/assets/stylesheets/bootstrap/utilities/_spacing.scss +0 -73
  155. data/assets/stylesheets/bootstrap/utilities/_stretched-link.scss +0 -19
  156. data/assets/stylesheets/bootstrap/utilities/_text.scss +0 -72
  157. data/assets/stylesheets/bootstrap/utilities/_visibility.scss +0 -13
  158. data/test/dummy_rails/app/views/pages/root.html.slim +0 -58
@@ -14,7 +14,7 @@
14
14
 
15
15
  &.show { opacity: $tooltip-opacity; }
16
16
 
17
- .arrow {
17
+ .tooltip-arrow {
18
18
  position: absolute;
19
19
  display: block;
20
20
  width: $tooltip-arrow-width;
@@ -32,28 +32,28 @@
32
32
  .bs-tooltip-top {
33
33
  padding: $tooltip-arrow-height 0;
34
34
 
35
- .arrow {
35
+ .tooltip-arrow {
36
36
  bottom: 0;
37
37
 
38
38
  &::before {
39
- top: 0;
40
- border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;
39
+ top: -1px;
40
+ border-width: $tooltip-arrow-height ($tooltip-arrow-width * .5) 0;
41
41
  border-top-color: $tooltip-arrow-color;
42
42
  }
43
43
  }
44
44
  }
45
45
 
46
- .bs-tooltip-right {
46
+ .bs-tooltip-end {
47
47
  padding: 0 $tooltip-arrow-height;
48
48
 
49
- .arrow {
49
+ .tooltip-arrow {
50
50
  left: 0;
51
51
  width: $tooltip-arrow-height;
52
52
  height: $tooltip-arrow-width;
53
53
 
54
54
  &::before {
55
- right: 0;
56
- border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;
55
+ right: -1px;
56
+ border-width: ($tooltip-arrow-width * .5) $tooltip-arrow-height ($tooltip-arrow-width * .5) 0;
57
57
  border-right-color: $tooltip-arrow-color;
58
58
  }
59
59
  }
@@ -62,45 +62,45 @@
62
62
  .bs-tooltip-bottom {
63
63
  padding: $tooltip-arrow-height 0;
64
64
 
65
- .arrow {
65
+ .tooltip-arrow {
66
66
  top: 0;
67
67
 
68
68
  &::before {
69
- bottom: 0;
70
- border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;
69
+ bottom: -1px;
70
+ border-width: 0 ($tooltip-arrow-width * .5) $tooltip-arrow-height;
71
71
  border-bottom-color: $tooltip-arrow-color;
72
72
  }
73
73
  }
74
74
  }
75
75
 
76
- .bs-tooltip-left {
76
+ .bs-tooltip-start {
77
77
  padding: 0 $tooltip-arrow-height;
78
78
 
79
- .arrow {
79
+ .tooltip-arrow {
80
80
  right: 0;
81
81
  width: $tooltip-arrow-height;
82
82
  height: $tooltip-arrow-width;
83
83
 
84
84
  &::before {
85
- left: 0;
86
- border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;
85
+ left: -1px;
86
+ border-width: ($tooltip-arrow-width * .5) 0 ($tooltip-arrow-width * .5) $tooltip-arrow-height;
87
87
  border-left-color: $tooltip-arrow-color;
88
88
  }
89
89
  }
90
90
  }
91
91
 
92
92
  .bs-tooltip-auto {
93
- &[x-placement^="top"] {
93
+ &[data-popper-placement^="top"] {
94
94
  @extend .bs-tooltip-top;
95
95
  }
96
- &[x-placement^="right"] {
97
- @extend .bs-tooltip-right;
96
+ &[data-popper-placement^="right"] {
97
+ @extend .bs-tooltip-end;
98
98
  }
99
- &[x-placement^="bottom"] {
99
+ &[data-popper-placement^="bottom"] {
100
100
  @extend .bs-tooltip-bottom;
101
101
  }
102
- &[x-placement^="left"] {
103
- @extend .bs-tooltip-left;
102
+ &[data-popper-placement^="left"] {
103
+ @extend .bs-tooltip-start;
104
104
  }
105
105
  }
106
106
 
@@ -6,6 +6,7 @@
6
6
  }
7
7
  }
8
8
 
9
+ // scss-docs-start collapse-classes
9
10
  .collapse {
10
11
  &:not(.show) {
11
12
  display: none;
@@ -13,8 +14,14 @@
13
14
  }
14
15
 
15
16
  .collapsing {
16
- position: relative;
17
17
  height: 0;
18
18
  overflow: hidden;
19
19
  @include transition($transition-collapse);
20
+
21
+ &.collapse-horizontal {
22
+ width: 0;
23
+ height: auto;
24
+ @include transition($transition-collapse-width);
25
+ }
20
26
  }
27
+ // scss-docs-end collapse-classes
@@ -1,93 +1,67 @@
1
- // stylelint-disable declaration-no-important, selector-list-comma-newline-after
2
-
3
1
  //
4
2
  // Headings
5
3
  //
6
-
7
- h1, h2, h3, h4, h5, h6,
8
- .h1, .h2, .h3, .h4, .h5, .h6 {
9
- margin-bottom: $headings-margin-bottom;
10
- font-family: $headings-font-family;
11
- font-weight: $headings-font-weight;
12
- line-height: $headings-line-height;
13
- color: $headings-color;
4
+ .h1 {
5
+ @extend h1;
14
6
  }
15
7
 
16
- h1, .h1 { @include font-size($h1-font-size); }
17
- h2, .h2 { @include font-size($h2-font-size); }
18
- h3, .h3 { @include font-size($h3-font-size); }
19
- h4, .h4 { @include font-size($h4-font-size); }
20
- h5, .h5 { @include font-size($h5-font-size); }
21
- h6, .h6 { @include font-size($h6-font-size); }
22
-
23
- .lead {
24
- @include font-size($lead-font-size);
25
- font-weight: $lead-font-weight;
8
+ .h2 {
9
+ @extend h2;
26
10
  }
27
11
 
28
- // Type display classes
29
- .display-1 {
30
- @include font-size($display1-size);
31
- font-weight: $display1-weight;
32
- line-height: $display-line-height;
12
+ .h3 {
13
+ @extend h3;
33
14
  }
34
- .display-2 {
35
- @include font-size($display2-size);
36
- font-weight: $display2-weight;
37
- line-height: $display-line-height;
15
+
16
+ .h4 {
17
+ @extend h4;
38
18
  }
39
- .display-3 {
40
- @include font-size($display3-size);
41
- font-weight: $display3-weight;
42
- line-height: $display-line-height;
19
+
20
+ .h5 {
21
+ @extend h5;
43
22
  }
44
- .display-4 {
45
- @include font-size($display4-size);
46
- font-weight: $display4-weight;
47
- line-height: $display-line-height;
23
+
24
+ .h6 {
25
+ @extend h6;
48
26
  }
49
27
 
50
28
 
51
- //
52
- // Horizontal rules
53
- //
54
-
55
- hr {
56
- margin-top: $hr-margin-y;
57
- margin-bottom: $hr-margin-y;
58
- border: 0;
59
- border-top: $hr-border-width solid $hr-border-color;
29
+ .lead {
30
+ @include font-size($lead-font-size);
31
+ font-weight: $lead-font-weight;
60
32
  }
61
33
 
34
+ // Type display classes
35
+ @each $display, $font-size in $display-font-sizes {
36
+ .display-#{$display} {
37
+ @include font-size($font-size);
38
+ font-weight: $display-font-weight;
39
+ line-height: $display-line-height;
40
+ }
41
+ }
62
42
 
63
43
  //
64
44
  // Emphasis
65
45
  //
66
-
67
- small,
68
46
  .small {
69
- @include font-size($small-font-size);
70
- font-weight: $font-weight-normal;
47
+ @extend small;
71
48
  }
72
49
 
73
- mark,
74
50
  .mark {
75
- padding: $mark-padding;
76
- background-color: $mark-bg;
51
+ @extend mark;
77
52
  }
78
53
 
79
-
80
54
  //
81
55
  // Lists
82
56
  //
83
57
 
84
58
  .list-unstyled {
85
- @include list-unstyled;
59
+ @include list-unstyled();
86
60
  }
87
61
 
88
62
  // Inline turns list items into inline-block
89
63
  .list-inline {
90
- @include list-unstyled;
64
+ @include list-unstyled();
91
65
  }
92
66
  .list-inline-item {
93
67
  display: inline-block;
@@ -104,20 +78,25 @@ mark,
104
78
 
105
79
  // Builds on `abbr`
106
80
  .initialism {
107
- @include font-size(90%);
81
+ @include font-size($initialism-font-size);
108
82
  text-transform: uppercase;
109
83
  }
110
84
 
111
85
  // Blockquotes
112
86
  .blockquote {
113
- margin-bottom: $spacer;
87
+ margin-bottom: $blockquote-margin-y;
114
88
  @include font-size($blockquote-font-size);
89
+
90
+ > :last-child {
91
+ margin-bottom: 0;
92
+ }
115
93
  }
116
94
 
117
95
  .blockquote-footer {
118
- display: block;
119
- @include font-size($blockquote-small-font-size);
120
- color: $blockquote-small-color;
96
+ margin-top: -$blockquote-margin-y;
97
+ margin-bottom: $blockquote-margin-y;
98
+ @include font-size($blockquote-footer-font-size);
99
+ color: $blockquote-footer-color;
121
100
 
122
101
  &::before {
123
102
  content: "\2014\00A0"; // em dash, nbsp
@@ -1,17 +1,630 @@
1
- @import "utilities/align";
2
- @import "utilities/background";
3
- @import "utilities/borders";
4
- @import "utilities/clearfix";
5
- @import "utilities/display";
6
- @import "utilities/embed";
7
- @import "utilities/flex";
8
- @import "utilities/float";
9
- @import "utilities/overflow";
10
- @import "utilities/position";
11
- @import "utilities/screenreaders";
12
- @import "utilities/shadows";
13
- @import "utilities/sizing";
14
- @import "utilities/stretched-link";
15
- @import "utilities/spacing";
16
- @import "utilities/text";
17
- @import "utilities/visibility";
1
+ // stylelint-disable indentation
2
+
3
+ // Utilities
4
+
5
+ $utilities: () !default;
6
+ // stylelint-disable-next-line scss/dollar-variable-default
7
+ $utilities: map-merge(
8
+ (
9
+ // scss-docs-start utils-vertical-align
10
+ "align": (
11
+ property: vertical-align,
12
+ class: align,
13
+ values: baseline top middle bottom text-bottom text-top
14
+ ),
15
+ // scss-docs-end utils-vertical-align
16
+ // scss-docs-start utils-float
17
+ "float": (
18
+ responsive: true,
19
+ property: float,
20
+ values: (
21
+ start: left,
22
+ end: right,
23
+ none: none,
24
+ )
25
+ ),
26
+ // scss-docs-end utils-float
27
+ // Opacity utilities
28
+ // scss-docs-start utils-opacity
29
+ "opacity": (
30
+ property: opacity,
31
+ values: (
32
+ 0: 0,
33
+ 25: .25,
34
+ 50: .5,
35
+ 75: .75,
36
+ 100: 1,
37
+ )
38
+ ),
39
+ // scss-docs-end utils-opacity
40
+ // scss-docs-start utils-overflow
41
+ "overflow": (
42
+ property: overflow,
43
+ values: auto hidden visible scroll,
44
+ ),
45
+ // scss-docs-end utils-overflow
46
+ // scss-docs-start utils-display
47
+ "display": (
48
+ responsive: true,
49
+ print: true,
50
+ property: display,
51
+ class: d,
52
+ values: inline inline-block block grid table table-row table-cell flex inline-flex none
53
+ ),
54
+ // scss-docs-end utils-display
55
+ // scss-docs-start utils-shadow
56
+ "shadow": (
57
+ property: box-shadow,
58
+ class: shadow,
59
+ values: (
60
+ null: $box-shadow,
61
+ sm: $box-shadow-sm,
62
+ lg: $box-shadow-lg,
63
+ none: none,
64
+ )
65
+ ),
66
+ // scss-docs-end utils-shadow
67
+ // scss-docs-start utils-position
68
+ "position": (
69
+ property: position,
70
+ values: static relative absolute fixed sticky
71
+ ),
72
+ "top": (
73
+ property: top,
74
+ values: $position-values
75
+ ),
76
+ "bottom": (
77
+ property: bottom,
78
+ values: $position-values
79
+ ),
80
+ "start": (
81
+ property: left,
82
+ class: start,
83
+ values: $position-values
84
+ ),
85
+ "end": (
86
+ property: right,
87
+ class: end,
88
+ values: $position-values
89
+ ),
90
+ "translate-middle": (
91
+ property: transform,
92
+ class: translate-middle,
93
+ values: (
94
+ null: translate(-50%, -50%),
95
+ x: translateX(-50%),
96
+ y: translateY(-50%),
97
+ )
98
+ ),
99
+ // scss-docs-end utils-position
100
+ // scss-docs-start utils-borders
101
+ "border": (
102
+ property: border,
103
+ values: (
104
+ null: $border-width solid $border-color,
105
+ 0: 0,
106
+ )
107
+ ),
108
+ "border-top": (
109
+ property: border-top,
110
+ values: (
111
+ null: $border-width solid $border-color,
112
+ 0: 0,
113
+ )
114
+ ),
115
+ "border-end": (
116
+ property: border-right,
117
+ class: border-end,
118
+ values: (
119
+ null: $border-width solid $border-color,
120
+ 0: 0,
121
+ )
122
+ ),
123
+ "border-bottom": (
124
+ property: border-bottom,
125
+ values: (
126
+ null: $border-width solid $border-color,
127
+ 0: 0,
128
+ )
129
+ ),
130
+ "border-start": (
131
+ property: border-left,
132
+ class: border-start,
133
+ values: (
134
+ null: $border-width solid $border-color,
135
+ 0: 0,
136
+ )
137
+ ),
138
+ "border-color": (
139
+ property: border-color,
140
+ class: border,
141
+ values: map-merge($theme-colors, ("white": $white))
142
+ ),
143
+ "border-width": (
144
+ property: border-width,
145
+ class: border,
146
+ values: $border-widths
147
+ ),
148
+ // scss-docs-end utils-borders
149
+ // Sizing utilities
150
+ // scss-docs-start utils-sizing
151
+ "width": (
152
+ property: width,
153
+ class: w,
154
+ values: (
155
+ 25: 25%,
156
+ 50: 50%,
157
+ 75: 75%,
158
+ 100: 100%,
159
+ auto: auto
160
+ )
161
+ ),
162
+ "max-width": (
163
+ property: max-width,
164
+ class: mw,
165
+ values: (100: 100%)
166
+ ),
167
+ "viewport-width": (
168
+ property: width,
169
+ class: vw,
170
+ values: (100: 100vw)
171
+ ),
172
+ "min-viewport-width": (
173
+ property: min-width,
174
+ class: min-vw,
175
+ values: (100: 100vw)
176
+ ),
177
+ "height": (
178
+ property: height,
179
+ class: h,
180
+ values: (
181
+ 25: 25%,
182
+ 50: 50%,
183
+ 75: 75%,
184
+ 100: 100%,
185
+ auto: auto
186
+ )
187
+ ),
188
+ "max-height": (
189
+ property: max-height,
190
+ class: mh,
191
+ values: (100: 100%)
192
+ ),
193
+ "viewport-height": (
194
+ property: height,
195
+ class: vh,
196
+ values: (100: 100vh)
197
+ ),
198
+ "min-viewport-height": (
199
+ property: min-height,
200
+ class: min-vh,
201
+ values: (100: 100vh)
202
+ ),
203
+ // scss-docs-end utils-sizing
204
+ // Flex utilities
205
+ // scss-docs-start utils-flex
206
+ "flex": (
207
+ responsive: true,
208
+ property: flex,
209
+ values: (fill: 1 1 auto)
210
+ ),
211
+ "flex-direction": (
212
+ responsive: true,
213
+ property: flex-direction,
214
+ class: flex,
215
+ values: row column row-reverse column-reverse
216
+ ),
217
+ "flex-grow": (
218
+ responsive: true,
219
+ property: flex-grow,
220
+ class: flex,
221
+ values: (
222
+ grow-0: 0,
223
+ grow-1: 1,
224
+ )
225
+ ),
226
+ "flex-shrink": (
227
+ responsive: true,
228
+ property: flex-shrink,
229
+ class: flex,
230
+ values: (
231
+ shrink-0: 0,
232
+ shrink-1: 1,
233
+ )
234
+ ),
235
+ "flex-wrap": (
236
+ responsive: true,
237
+ property: flex-wrap,
238
+ class: flex,
239
+ values: wrap nowrap wrap-reverse
240
+ ),
241
+ "gap": (
242
+ responsive: true,
243
+ property: gap,
244
+ class: gap,
245
+ values: $spacers
246
+ ),
247
+ "justify-content": (
248
+ responsive: true,
249
+ property: justify-content,
250
+ values: (
251
+ start: flex-start,
252
+ end: flex-end,
253
+ center: center,
254
+ between: space-between,
255
+ around: space-around,
256
+ evenly: space-evenly,
257
+ )
258
+ ),
259
+ "align-items": (
260
+ responsive: true,
261
+ property: align-items,
262
+ values: (
263
+ start: flex-start,
264
+ end: flex-end,
265
+ center: center,
266
+ baseline: baseline,
267
+ stretch: stretch,
268
+ )
269
+ ),
270
+ "align-content": (
271
+ responsive: true,
272
+ property: align-content,
273
+ values: (
274
+ start: flex-start,
275
+ end: flex-end,
276
+ center: center,
277
+ between: space-between,
278
+ around: space-around,
279
+ stretch: stretch,
280
+ )
281
+ ),
282
+ "align-self": (
283
+ responsive: true,
284
+ property: align-self,
285
+ values: (
286
+ auto: auto,
287
+ start: flex-start,
288
+ end: flex-end,
289
+ center: center,
290
+ baseline: baseline,
291
+ stretch: stretch,
292
+ )
293
+ ),
294
+ "order": (
295
+ responsive: true,
296
+ property: order,
297
+ values: (
298
+ first: -1,
299
+ 0: 0,
300
+ 1: 1,
301
+ 2: 2,
302
+ 3: 3,
303
+ 4: 4,
304
+ 5: 5,
305
+ last: 6,
306
+ ),
307
+ ),
308
+ // scss-docs-end utils-flex
309
+ // Margin utilities
310
+ // scss-docs-start utils-spacing
311
+ "margin": (
312
+ responsive: true,
313
+ property: margin,
314
+ class: m,
315
+ values: map-merge($spacers, (auto: auto))
316
+ ),
317
+ "margin-x": (
318
+ responsive: true,
319
+ property: margin-right margin-left,
320
+ class: mx,
321
+ values: map-merge($spacers, (auto: auto))
322
+ ),
323
+ "margin-y": (
324
+ responsive: true,
325
+ property: margin-top margin-bottom,
326
+ class: my,
327
+ values: map-merge($spacers, (auto: auto))
328
+ ),
329
+ "margin-top": (
330
+ responsive: true,
331
+ property: margin-top,
332
+ class: mt,
333
+ values: map-merge($spacers, (auto: auto))
334
+ ),
335
+ "margin-end": (
336
+ responsive: true,
337
+ property: margin-right,
338
+ class: me,
339
+ values: map-merge($spacers, (auto: auto))
340
+ ),
341
+ "margin-bottom": (
342
+ responsive: true,
343
+ property: margin-bottom,
344
+ class: mb,
345
+ values: map-merge($spacers, (auto: auto))
346
+ ),
347
+ "margin-start": (
348
+ responsive: true,
349
+ property: margin-left,
350
+ class: ms,
351
+ values: map-merge($spacers, (auto: auto))
352
+ ),
353
+ // Negative margin utilities
354
+ "negative-margin": (
355
+ responsive: true,
356
+ property: margin,
357
+ class: m,
358
+ values: $negative-spacers
359
+ ),
360
+ "negative-margin-x": (
361
+ responsive: true,
362
+ property: margin-right margin-left,
363
+ class: mx,
364
+ values: $negative-spacers
365
+ ),
366
+ "negative-margin-y": (
367
+ responsive: true,
368
+ property: margin-top margin-bottom,
369
+ class: my,
370
+ values: $negative-spacers
371
+ ),
372
+ "negative-margin-top": (
373
+ responsive: true,
374
+ property: margin-top,
375
+ class: mt,
376
+ values: $negative-spacers
377
+ ),
378
+ "negative-margin-end": (
379
+ responsive: true,
380
+ property: margin-right,
381
+ class: me,
382
+ values: $negative-spacers
383
+ ),
384
+ "negative-margin-bottom": (
385
+ responsive: true,
386
+ property: margin-bottom,
387
+ class: mb,
388
+ values: $negative-spacers
389
+ ),
390
+ "negative-margin-start": (
391
+ responsive: true,
392
+ property: margin-left,
393
+ class: ms,
394
+ values: $negative-spacers
395
+ ),
396
+ // Padding utilities
397
+ "padding": (
398
+ responsive: true,
399
+ property: padding,
400
+ class: p,
401
+ values: $spacers
402
+ ),
403
+ "padding-x": (
404
+ responsive: true,
405
+ property: padding-right padding-left,
406
+ class: px,
407
+ values: $spacers
408
+ ),
409
+ "padding-y": (
410
+ responsive: true,
411
+ property: padding-top padding-bottom,
412
+ class: py,
413
+ values: $spacers
414
+ ),
415
+ "padding-top": (
416
+ responsive: true,
417
+ property: padding-top,
418
+ class: pt,
419
+ values: $spacers
420
+ ),
421
+ "padding-end": (
422
+ responsive: true,
423
+ property: padding-right,
424
+ class: pe,
425
+ values: $spacers
426
+ ),
427
+ "padding-bottom": (
428
+ responsive: true,
429
+ property: padding-bottom,
430
+ class: pb,
431
+ values: $spacers
432
+ ),
433
+ "padding-start": (
434
+ responsive: true,
435
+ property: padding-left,
436
+ class: ps,
437
+ values: $spacers
438
+ ),
439
+ // scss-docs-end utils-spacing
440
+ // Text
441
+ // scss-docs-start utils-text
442
+ "font-family": (
443
+ property: font-family,
444
+ class: font,
445
+ values: (monospace: var(--#{$variable-prefix}font-monospace))
446
+ ),
447
+ "font-size": (
448
+ rfs: true,
449
+ property: font-size,
450
+ class: fs,
451
+ values: $font-sizes
452
+ ),
453
+ "font-style": (
454
+ property: font-style,
455
+ class: fst,
456
+ values: italic normal
457
+ ),
458
+ "font-weight": (
459
+ property: font-weight,
460
+ class: fw,
461
+ values: (
462
+ light: $font-weight-light,
463
+ lighter: $font-weight-lighter,
464
+ normal: $font-weight-normal,
465
+ bold: $font-weight-bold,
466
+ bolder: $font-weight-bolder
467
+ )
468
+ ),
469
+ "line-height": (
470
+ property: line-height,
471
+ class: lh,
472
+ values: (
473
+ 1: 1,
474
+ sm: $line-height-sm,
475
+ base: $line-height-base,
476
+ lg: $line-height-lg,
477
+ )
478
+ ),
479
+ "text-align": (
480
+ responsive: true,
481
+ property: text-align,
482
+ class: text,
483
+ values: (
484
+ start: left,
485
+ end: right,
486
+ center: center,
487
+ )
488
+ ),
489
+ "text-decoration": (
490
+ property: text-decoration,
491
+ values: none underline line-through
492
+ ),
493
+ "text-transform": (
494
+ property: text-transform,
495
+ class: text,
496
+ values: lowercase uppercase capitalize
497
+ ),
498
+ "white-space": (
499
+ property: white-space,
500
+ class: text,
501
+ values: (
502
+ wrap: normal,
503
+ nowrap: nowrap,
504
+ )
505
+ ),
506
+ "word-wrap": (
507
+ property: word-wrap word-break,
508
+ class: text,
509
+ values: (break: break-word),
510
+ rtl: false
511
+ ),
512
+ // scss-docs-end utils-text
513
+ // scss-docs-start utils-color
514
+ "color": (
515
+ property: color,
516
+ class: text,
517
+ local-vars: (
518
+ "text-opacity": 1
519
+ ),
520
+ values: map-merge(
521
+ $utilities-text-colors,
522
+ (
523
+ "muted": $text-muted,
524
+ "black-50": rgba($black, .5), // deprecated
525
+ "white-50": rgba($white, .5), // deprecated
526
+ "reset": inherit,
527
+ )
528
+ )
529
+ ),
530
+ "text-opacity": (
531
+ css-var: true,
532
+ class: text-opacity,
533
+ values: (
534
+ 25: .25,
535
+ 50: .5,
536
+ 75: .75,
537
+ 100: 1
538
+ )
539
+ ),
540
+ // scss-docs-end utils-color
541
+ // scss-docs-start utils-bg-color
542
+ "background-color": (
543
+ property: background-color,
544
+ class: bg,
545
+ local-vars: (
546
+ "bg-opacity": 1
547
+ ),
548
+ values: map-merge(
549
+ $utilities-bg-colors,
550
+ (
551
+ "transparent": transparent
552
+ )
553
+ )
554
+ ),
555
+ "bg-opacity": (
556
+ css-var: true,
557
+ class: bg-opacity,
558
+ values: (
559
+ 10: .1,
560
+ 25: .25,
561
+ 50: .5,
562
+ 75: .75,
563
+ 100: 1
564
+ )
565
+ ),
566
+ // scss-docs-end utils-bg-color
567
+ "gradient": (
568
+ property: background-image,
569
+ class: bg,
570
+ values: (gradient: var(--#{$variable-prefix}gradient))
571
+ ),
572
+ // scss-docs-start utils-interaction
573
+ "user-select": (
574
+ property: user-select,
575
+ values: all auto none
576
+ ),
577
+ "pointer-events": (
578
+ property: pointer-events,
579
+ class: pe,
580
+ values: none auto,
581
+ ),
582
+ // scss-docs-end utils-interaction
583
+ // scss-docs-start utils-border-radius
584
+ "rounded": (
585
+ property: border-radius,
586
+ class: rounded,
587
+ values: (
588
+ null: $border-radius,
589
+ 0: 0,
590
+ 1: $border-radius-sm,
591
+ 2: $border-radius,
592
+ 3: $border-radius-lg,
593
+ circle: 50%,
594
+ pill: $border-radius-pill
595
+ )
596
+ ),
597
+ "rounded-top": (
598
+ property: border-top-left-radius border-top-right-radius,
599
+ class: rounded-top,
600
+ values: (null: $border-radius)
601
+ ),
602
+ "rounded-end": (
603
+ property: border-top-right-radius border-bottom-right-radius,
604
+ class: rounded-end,
605
+ values: (null: $border-radius)
606
+ ),
607
+ "rounded-bottom": (
608
+ property: border-bottom-right-radius border-bottom-left-radius,
609
+ class: rounded-bottom,
610
+ values: (null: $border-radius)
611
+ ),
612
+ "rounded-start": (
613
+ property: border-bottom-left-radius border-top-left-radius,
614
+ class: rounded-start,
615
+ values: (null: $border-radius)
616
+ ),
617
+ // scss-docs-end utils-border-radius
618
+ // scss-docs-start utils-visibility
619
+ "visibility": (
620
+ property: visibility,
621
+ class: null,
622
+ values: (
623
+ visible: visible,
624
+ invisible: hidden,
625
+ )
626
+ )
627
+ // scss-docs-end utils-visibility
628
+ ),
629
+ $utilities
630
+ );