@gitlab/ui 114.1.0 → 114.1.2

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 (141) hide show
  1. package/dist/components/base/breadcrumb/breadcrumb.js +4 -16
  2. package/dist/index.css +1 -1
  3. package/dist/index.css.map +1 -1
  4. package/package.json +7 -26
  5. package/src/components/base/breadcrumb/breadcrumb.scss +18 -2
  6. package/src/components/base/breadcrumb/breadcrumb.vue +4 -17
  7. package/CHANGELOG.md +0 -13139
  8. package/src/vendor/bootstrap/LICENSE +0 -11
  9. package/src/vendor/bootstrap-vue/LICENSE +0 -11
  10. package/src/vendor/bootstrap-vue/package.json +0 -144
  11. package/src/vendor/bootstrap-vue/src/components/button/MODIFICATIONS.md +0 -16
  12. package/src/vendor/bootstrap-vue/src/components/button/README.md +0 -240
  13. package/src/vendor/bootstrap-vue/src/components/button/button-close.spec.js +0 -210
  14. package/src/vendor/bootstrap-vue/src/components/button/button.spec.js +0 -349
  15. package/src/vendor/bootstrap-vue/src/components/button/package.json +0 -105
  16. package/src/vendor/bootstrap-vue/src/components/dropdown/README.md +0 -730
  17. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-divider.spec.js +0 -58
  18. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-form.spec.js +0 -110
  19. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-group.spec.js +0 -94
  20. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-header.spec.js +0 -73
  21. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-item-button.spec.js +0 -117
  22. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-item.spec.js +0 -147
  23. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-text.spec.js +0 -59
  24. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown.spec.js +0 -1121
  25. package/src/vendor/bootstrap-vue/src/components/dropdown/package.json +0 -368
  26. package/src/vendor/bootstrap-vue/src/components/form/README.md +0 -365
  27. package/src/vendor/bootstrap-vue/src/components/form/form-invalid-feedback.spec.js +0 -170
  28. package/src/vendor/bootstrap-vue/src/components/form/form-text.spec.js +0 -93
  29. package/src/vendor/bootstrap-vue/src/components/form/form-valid-feedback.spec.js +0 -157
  30. package/src/vendor/bootstrap-vue/src/components/form/form.spec.js +0 -97
  31. package/src/vendor/bootstrap-vue/src/components/form/package.json +0 -112
  32. package/src/vendor/bootstrap-vue/src/components/form-checkbox/README.md +0 -691
  33. package/src/vendor/bootstrap-vue/src/components/form-checkbox/form-checkbox-group.spec.js +0 -525
  34. package/src/vendor/bootstrap-vue/src/components/form-checkbox/form-checkbox.spec.js +0 -922
  35. package/src/vendor/bootstrap-vue/src/components/form-checkbox/package.json +0 -172
  36. package/src/vendor/bootstrap-vue/src/components/form-group/README.md +0 -339
  37. package/src/vendor/bootstrap-vue/src/components/form-group/form-group.spec.js +0 -477
  38. package/src/vendor/bootstrap-vue/src/components/form-group/package.json +0 -183
  39. package/src/vendor/bootstrap-vue/src/components/form-radio/README.md +0 -437
  40. package/src/vendor/bootstrap-vue/src/components/form-radio/form-radio-group.spec.js +0 -357
  41. package/src/vendor/bootstrap-vue/src/components/form-radio/form-radio.spec.js +0 -587
  42. package/src/vendor/bootstrap-vue/src/components/form-radio/package.json +0 -162
  43. package/src/vendor/bootstrap-vue/src/components/form-select/README.md +0 -504
  44. package/src/vendor/bootstrap-vue/src/components/form-select/form-select-option-group.spec.js +0 -138
  45. package/src/vendor/bootstrap-vue/src/components/form-select/form-select-option.spec.js +0 -75
  46. package/src/vendor/bootstrap-vue/src/components/form-select/form-select.spec.js +0 -723
  47. package/src/vendor/bootstrap-vue/src/components/form-select/package.json +0 -132
  48. package/src/vendor/bootstrap-vue/src/components/form-textarea/README.md +0 -453
  49. package/src/vendor/bootstrap-vue/src/components/form-textarea/form-textarea.spec.js +0 -1000
  50. package/src/vendor/bootstrap-vue/src/components/form-textarea/package.json +0 -122
  51. package/src/vendor/bootstrap-vue/src/components/layout/README.md +0 -791
  52. package/src/vendor/bootstrap-vue/src/components/layout/col.spec.js +0 -192
  53. package/src/vendor/bootstrap-vue/src/components/layout/form-row.spec.js +0 -45
  54. package/src/vendor/bootstrap-vue/src/components/layout/package.json +0 -99
  55. package/src/vendor/bootstrap-vue/src/components/link/README.md +0 -76
  56. package/src/vendor/bootstrap-vue/src/components/link/link.spec.js +0 -434
  57. package/src/vendor/bootstrap-vue/src/components/link/package.json +0 -57
  58. package/src/vendor/bootstrap-vue/src/components/modal/MODIFICATIONS.md +0 -30
  59. package/src/vendor/bootstrap-vue/src/components/modal/README.md +0 -1067
  60. package/src/vendor/bootstrap-vue/src/components/modal/helpers/bv-modal-event.class.spec.js +0 -82
  61. package/src/vendor/bootstrap-vue/src/components/modal/modal.spec.js +0 -1418
  62. package/src/vendor/bootstrap-vue/src/components/modal/package.json +0 -544
  63. package/src/vendor/bootstrap-vue/src/components/nav/README.md +0 -362
  64. package/src/vendor/bootstrap-vue/src/components/nav/nav-item.spec.js +0 -127
  65. package/src/vendor/bootstrap-vue/src/components/nav/nav.spec.js +0 -177
  66. package/src/vendor/bootstrap-vue/src/components/nav/package.json +0 -73
  67. package/src/vendor/bootstrap-vue/src/components/popover/README.md +0 -919
  68. package/src/vendor/bootstrap-vue/src/components/popover/package.json +0 -261
  69. package/src/vendor/bootstrap-vue/src/components/popover/popover.spec.js +0 -198
  70. package/src/vendor/bootstrap-vue/src/components/table/README.md +0 -3157
  71. package/src/vendor/bootstrap-vue/src/components/table/helpers/default-sort-compare.spec.js +0 -112
  72. package/src/vendor/bootstrap-vue/src/components/table/helpers/normalize-fields.spec.js +0 -93
  73. package/src/vendor/bootstrap-vue/src/components/table/package.json +0 -1763
  74. package/src/vendor/bootstrap-vue/src/components/table/table-busy.spec.js +0 -150
  75. package/src/vendor/bootstrap-vue/src/components/table/table-caption.spec.js +0 -176
  76. package/src/vendor/bootstrap-vue/src/components/table/table-colgroup.spec.js +0 -81
  77. package/src/vendor/bootstrap-vue/src/components/table/table-filtering.spec.js +0 -409
  78. package/src/vendor/bootstrap-vue/src/components/table/table-item-formatter.spec.js +0 -56
  79. package/src/vendor/bootstrap-vue/src/components/table/table-lite.spec.js +0 -682
  80. package/src/vendor/bootstrap-vue/src/components/table/table-pagination.spec.js +0 -133
  81. package/src/vendor/bootstrap-vue/src/components/table/table-primarykey.spec.js +0 -83
  82. package/src/vendor/bootstrap-vue/src/components/table/table-provider.spec.js +0 -411
  83. package/src/vendor/bootstrap-vue/src/components/table/table-row-details.spec.js +0 -459
  84. package/src/vendor/bootstrap-vue/src/components/table/table-selectable.spec.js +0 -1182
  85. package/src/vendor/bootstrap-vue/src/components/table/table-simple.spec.js +0 -206
  86. package/src/vendor/bootstrap-vue/src/components/table/table-sorting.spec.js +0 -858
  87. package/src/vendor/bootstrap-vue/src/components/table/table-sticky-column.spec.js +0 -377
  88. package/src/vendor/bootstrap-vue/src/components/table/table-tbody-bottom-row.spec.js +0 -94
  89. package/src/vendor/bootstrap-vue/src/components/table/table-tbody-row-events.spec.js +0 -529
  90. package/src/vendor/bootstrap-vue/src/components/table/table-tbody-top-row.spec.js +0 -88
  91. package/src/vendor/bootstrap-vue/src/components/table/table-tbody-transition.spec.js +0 -83
  92. package/src/vendor/bootstrap-vue/src/components/table/table-tfoot-custom.spec.js +0 -91
  93. package/src/vendor/bootstrap-vue/src/components/table/table-tfoot-events.spec.js +0 -137
  94. package/src/vendor/bootstrap-vue/src/components/table/table-thead-events.spec.js +0 -155
  95. package/src/vendor/bootstrap-vue/src/components/table/table-thead-top.spec.js +0 -96
  96. package/src/vendor/bootstrap-vue/src/components/table/table.spec.js +0 -692
  97. package/src/vendor/bootstrap-vue/src/components/tabs/README.md +0 -433
  98. package/src/vendor/bootstrap-vue/src/components/tabs/package.json +0 -205
  99. package/src/vendor/bootstrap-vue/src/components/tabs/tab.spec.js +0 -330
  100. package/src/vendor/bootstrap-vue/src/components/tabs/tabs.spec.js +0 -778
  101. package/src/vendor/bootstrap-vue/src/components/toast/README.md +0 -655
  102. package/src/vendor/bootstrap-vue/src/components/toast/helpers/bv-toast.spec.js +0 -117
  103. package/src/vendor/bootstrap-vue/src/components/toast/package.json +0 -184
  104. package/src/vendor/bootstrap-vue/src/components/toast/toast.spec.js +0 -294
  105. package/src/vendor/bootstrap-vue/src/components/toast/toaster.spec.js +0 -77
  106. package/src/vendor/bootstrap-vue/src/components/tooltip/README.md +0 -559
  107. package/src/vendor/bootstrap-vue/src/components/tooltip/package.json +0 -258
  108. package/src/vendor/bootstrap-vue/src/components/tooltip/tooltip.spec.js +0 -1240
  109. package/src/vendor/bootstrap-vue/src/components/transition/package.json +0 -5
  110. package/src/vendor/bootstrap-vue/src/components/transporter/package.json +0 -5
  111. package/src/vendor/bootstrap-vue/src/components/transporter/transporter.spec.js +0 -85
  112. package/src/vendor/bootstrap-vue/src/directives/modal/modal.spec.js +0 -191
  113. package/src/vendor/bootstrap-vue/src/directives/tooltip/README.md +0 -521
  114. package/src/vendor/bootstrap-vue/src/directives/tooltip/package.json +0 -131
  115. package/src/vendor/bootstrap-vue/src/directives/tooltip/tooltip.spec.js +0 -190
  116. package/src/vendor/bootstrap-vue/src/directives/visible/README.md +0 -244
  117. package/src/vendor/bootstrap-vue/src/directives/visible/package.json +0 -24
  118. package/src/vendor/bootstrap-vue/src/mixins/attrs.spec.js +0 -194
  119. package/src/vendor/bootstrap-vue/src/mixins/click-out.spec.js +0 -52
  120. package/src/vendor/bootstrap-vue/src/mixins/focus-in.spec.js +0 -53
  121. package/src/vendor/bootstrap-vue/src/mixins/listen-on-document.spec.js +0 -117
  122. package/src/vendor/bootstrap-vue/src/mixins/listen-on-root.spec.js +0 -77
  123. package/src/vendor/bootstrap-vue/src/mixins/listen-on-window.spec.js +0 -115
  124. package/src/vendor/bootstrap-vue/src/mixins/listeners.spec.js +0 -245
  125. package/src/vendor/bootstrap-vue/src/utils/bv-event.class.spec.js +0 -66
  126. package/src/vendor/bootstrap-vue/src/utils/clone-deep.spec.js +0 -70
  127. package/src/vendor/bootstrap-vue/src/utils/config.spec.js +0 -169
  128. package/src/vendor/bootstrap-vue/src/utils/css-escape.spec.js +0 -82
  129. package/src/vendor/bootstrap-vue/src/utils/dom.spec.js +0 -291
  130. package/src/vendor/bootstrap-vue/src/utils/events.spec.js +0 -41
  131. package/src/vendor/bootstrap-vue/src/utils/get.spec.js +0 -109
  132. package/src/vendor/bootstrap-vue/src/utils/inspect.spec.js +0 -251
  133. package/src/vendor/bootstrap-vue/src/utils/loose-equal.spec.js +0 -203
  134. package/src/vendor/bootstrap-vue/src/utils/normalize-slot.spec.js +0 -63
  135. package/src/vendor/bootstrap-vue/src/utils/number.spec.js +0 -72
  136. package/src/vendor/bootstrap-vue/src/utils/object.spec.js +0 -61
  137. package/src/vendor/bootstrap-vue/src/utils/props.spec.js +0 -112
  138. package/src/vendor/bootstrap-vue/src/utils/router.spec.js +0 -248
  139. package/src/vendor/bootstrap-vue/src/utils/string.spec.js +0 -65
  140. package/src/vendor/bootstrap-vue/src/utils/stringify-object-values.spec.js +0 -47
  141. package/src/vendor/bootstrap-vue/src/utils/warn.spec.js +0 -54
@@ -1,791 +0,0 @@
1
- # Layout and Grid System
2
-
3
- > Use the powerful mobile-first flexbox grid (via the `<b-container>`, `<b-row>`, `<b-form-row>` and
4
- > `<b-col>` components) to build layouts of all shapes and sizes thanks to a twelve column system,
5
- > five default responsive tiers, CSS Sass variables and mixins, and dozens of predefined classes.
6
-
7
- BootstrapVue provides several convenient _functional_ components tailored for layout, which can
8
- simplify your complex page markup compared to traditional Bootstrap v4 markup. Feel free to switch
9
- back and forth between traditional Bootstrap v4 markup (i.e. `<div>`s and classes) and
10
- BootstrapVue's convenient functional layout components.
11
-
12
- ## How it works
13
-
14
- Bootstrap's grid system uses a series of containers, rows, and columns to layout and align content.
15
- It's built with
16
- [flexbox](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Basic_Concepts_of_Flexbox)
17
- and is fully responsive. Below is an example and an in-depth look at how the grid comes together.
18
-
19
- ```html
20
- <b-container class="bv-example-row">
21
- <b-row>
22
- <b-col>1 of 3</b-col>
23
- <b-col>2 of 3</b-col>
24
- <b-col>3 of 3</b-col>
25
- </b-row>
26
- </b-container>
27
-
28
- <!-- b-grid-how-it-works.vue -->
29
- ```
30
-
31
- The above example creates three equal-width columns on small, medium, large, and extra large devices
32
- using Bootstrap v4's predefined grid classes. Those columns are centered in the page with the parent
33
- `.container`.
34
-
35
- Breaking it down, here's how it works:
36
-
37
- - Containers provide a means to center and horizontally pad your site's contents. Use
38
- `<b-container>` for a responsive pixel width or `<b-container fluid>` for `width: 100%` across all
39
- viewport and device sizes.
40
- - Rows are wrappers for columns. Each column has horizontal `padding` (called a gutter) for
41
- controlling the space between them. This `padding` is then counteracted on the rows with negative
42
- margins. This way, all the content in your columns is visually aligned down the left side.
43
- - In a grid layout, content must be placed within columns and only columns may be immediate children
44
- of rows.
45
- - Thanks to flexbox, grid columns without a set width will automatically layout with equal widths.
46
- For example, four instances of `<b-col sm="auto">` will each automatically be 25% wide for small
47
- breakpoints.
48
- - Column prop `cols` indicates the number of columns you'd like to use out of the possible 12 per
49
- row regardless of breakpoint (starting at breakpoint `xs`). So, if you want three equal-width
50
- columns at any breakpoint, you can use `<b-col cols="4">`.
51
- - Column props `sm`, `md`, `lg`, `xl` indicate the number of columns you'd like to use out of the
52
- possible 12 per row, at the various breakpoints. So, if you want three equal-width columns at
53
- breakpoint `sm`, you can use `<b-col sm="4">`. the special value `auto` can be used to take up the
54
- remaining available column space in a row.
55
- - Column `width`s are set in percentages, so they're always fluid and sized relative to their parent
56
- element.
57
- - Columns have horizontal `padding` to create the gutters between individual columns, however, you
58
- can remove the `margin` from `<b-row>` and `padding` from `<b-col>` by setting the `no-gutters`
59
- prop on `<b-row>`.
60
- - To make the grid responsive, there are five grid breakpoints, one for each responsive breakpoint:
61
- all breakpoints (extra small), small, medium, large, and extra large.
62
- - Grid breakpoints are based on minimum width media queries, meaning **they apply to that one
63
- breakpoint and all those above it** (e.g., `<b-col sm="4">` applies to small, medium, large, and
64
- extra large devices, but not the first `xs` breakpoint).
65
- - You can use predefined grid classes or Sass mixins for more semantic markup.
66
-
67
- Be aware of the limitations and [bugs around flexbox](https://github.com/philipwalton/flexbugs),
68
- like the
69
- [inability to use some HTML elements as flex containers](https://github.com/philipwalton/flexbugs#flexbug-9).
70
-
71
- ## Containers `<b-container>`
72
-
73
- Containers (`<b-container>`) are the most basic layout element in Bootstrap. Choose from a
74
- responsive, fixed-width container (meaning its `max-width` changes at each breakpoint) by default,
75
- or fluid-width (meaning it's 100% wide all the time) by setting 'fluid' prop, or responsive
76
- containers where the container is fluid up until a specific breakpoint (requires Bootstrap CSS
77
- `v4.4+`).
78
-
79
- While containers can be nested, most layouts do not require a nested container.
80
-
81
- The default breakpoint widths can be configured using Bootstrap V4.x SCSS variables. See the
82
- [Theming](/docs/reference/theming) reference page for additional details, and the table in the
83
- [Grid options](#grid-options) section below.
84
-
85
- ### Default container
86
-
87
- The default `<b-container>` is a responsive, fixed-width container, meaning its `max-width` changes
88
- at each viewport width breakpoint.
89
-
90
- ```html
91
- <b-container>
92
- <!-- Content here -->
93
- </b-container>
94
- ```
95
-
96
- ### Fluid width container
97
-
98
- Using the `fluid` prop on `<b-container>` will render a container that is always 100% width,
99
- regardless of viewport breakpoint.
100
-
101
- ```html
102
- <b-container fluid>
103
- <!-- Content here -->
104
- </b-container>
105
- ```
106
-
107
- Setting the `fluid` prop to true (or an empty string) is equivalent to the Bootstrap
108
- `.container-fluid` class.
109
-
110
- ### Responsive fluid containers
111
-
112
- <span class="badge badge-info small">Requires Bootstrap v4.4+ CSS</span>
113
-
114
- Responsive containers are new in Bootstrap v4.4. They allow you to specify a container that is 100%
115
- wide (fluid) until particular breakpoint is reached at which point a `max-width` is applied. For
116
- example, setting prop `fluid` to `'md'` will render a container that is 100% wide to start until the
117
- `'md'` breakpoint is reached, at which point it will become a standard non-fluid container.
118
-
119
- ```html
120
- <b-container fluid="sm">
121
- 100% wide until small breakpoint
122
- </b-container>
123
- <b-container fluid="md">
124
- 100% wide until medium breakpoint
125
- </b-container>
126
- <b-container fluid="lg">
127
- 100% wide until large breakpoint
128
- </b-container>
129
- <b-container fluid="xl">
130
- 100% wide until extra large breakpoint
131
- </b-container>
132
- ```
133
-
134
- Setting the fluid prop to a breakpoint name translates to the Bootstrap class
135
- `.container-{breakpoint}`.
136
-
137
- Refer to the [Grid options section](#grid-options) table below for the default container width
138
- values.
139
-
140
- ## Rows `<b-row>` and `<b-form-row>`
141
-
142
- Rows are wrappers for [columns](#columns-b-col). Each column has horizontal padding (called a
143
- gutter) for controlling the space between them. This padding is then counteracted on the rows with
144
- negative margins. This way, all the content in your columns is visually aligned down the left side.
145
-
146
- You can remove the margin from `<b-row>` and padding from `<b-col>` by setting the `no-gutters` prop
147
- on `<b-row>`.
148
-
149
- Or, for compact margins (smaller gutters between columns), use the `<b-form-row>` component, which
150
- is typically used when laying out [forms](?path=/docs/base-form-form--docs).
151
-
152
- ## Columns `<b-col>`
153
-
154
- `<b-col>` Must be placed inside a `<b-row>` component, or an element (such as a `<div>`) that has
155
- the class `row` applied to it, or - in the case of [forms](?path=/docs/base-form-form--docs) -
156
- inside a `<b-form-row>` component (to obtain columns with more compact margins).
157
-
158
- ## Grid options
159
-
160
- While Bootstrap uses `em` or `rem` units for defining most sizes, `px`s are used for grid
161
- breakpoints and container widths. This is because the viewport width is in pixels and does not
162
- change with the [font size](https://drafts.csswg.org/mediaqueries-3/#units).
163
-
164
- See how aspects of the Bootstrap grid system work across multiple devices with a handy table.
165
-
166
- <div class="table-responsive-sm">
167
- <table class="table table-bordered table-striped">
168
- <thead>
169
- <tr>
170
- <th></th>
171
- <th>
172
- <strong>Extra small</strong> (xs)<br>
173
- <code>&lt;576px</code>
174
- </th>
175
- <th>
176
- <strong>Small</strong> (sm)<br>
177
- <code>≥576px</code>
178
- </th>
179
- <th>
180
- <strong>Medium</strong> (md)<br>
181
- <code>≥768px</code>
182
- </th>
183
- <th>
184
- <strong>Large</strong> (lg)<br>
185
- <code>≥992px</code>
186
- </th>
187
- <th>
188
- <strong>Extra large</strong> (xl)<br>
189
- <code>≥1200px</code>
190
- </th>
191
- </tr>
192
- </thead>
193
- <tbody>
194
- <tr>
195
- <th class="text-left">Max container width</th>
196
- <td>None (auto)</td>
197
- <td>540px</td>
198
- <td>720px</td>
199
- <td>960px</td>
200
- <td>1140px</td>
201
- </tr>
202
- <tr>
203
- <th class="text-left">Prop</th>
204
- <td><code>cols="*"</code></td>
205
- <td><code>sm="*"</code></td>
206
- <td><code>md="*"</code></td>
207
- <td><code>lg="*"</code></td>
208
- <td><code>xl="*"</code></td>
209
- </tr>
210
- <tr>
211
- <th class="text-left"># of columns</th>
212
- <td colspan="5">12</td>
213
- </tr>
214
- <tr>
215
- <th class="text-left">Gutter width</th>
216
- <td colspan="5">30px (15px on each side of a column)</td>
217
- </tr>
218
- <tr>
219
- <th class="text-left">Nestable</th>
220
- <td colspan="5">Yes</td>
221
- </tr>
222
- <tr>
223
- <th class="text-left">Offset</th>
224
- <td><code>offset="*"</code></td>
225
- <td><code>offset-sm="*"</code></td>
226
- <td><code>offset-md="*"</code></td>
227
- <td><code>offset-lg="*"</code></td>
228
- <td><code>offset-xl="*"</code></td>
229
- </tr>
230
- <tr>
231
- <th class="text-left">Order</th>
232
- <td><code>order="*"</code></td>
233
- <td><code>order-sm="*"</code></td>
234
- <td><code>order-md="*"</code></td>
235
- <td><code>order-lg="*"</code></td>
236
- <td><code>order-xl="*"</code></td>
237
- </tr>
238
- </tbody>
239
- </table>
240
- </div>
241
-
242
- **Notes:**
243
-
244
- - There is no `xs` prop. The `cols` prop refers to the `xs` (smallest) breakpoint.
245
- - The above breakpoint values and names are the Bootstrap defaults. They can be customized via
246
- [SCSS variables](/docs/reference/theming), and (if also using custom breakpoint names), via the
247
- BootstrapVue [global configuration](/docs/reference/settings).
248
-
249
- ### Container sizes
250
-
251
- The following table outlines the default container maximum widths at the various breakpoints. These
252
- may vary if you are using custom themed Bootstrap v4 SCSS/CSS.
253
-
254
- | Container type | Extra small `<576px` | Small `≥576px` | Medium `≥768px` | Large `≥992px` | Extra large `≥1200px` |
255
- | -------------- | -------------------- | -------------- | --------------- | -------------- | --------------------- |
256
- | _default_ | `100%` | `540px` | `720px` | `960px` | `1140px` |
257
- | `fluid` | `100%` | `100%` | `100%` | `100%` | `100%` |
258
- | `fluid="sm"` | `100%` | `540px` | `720px` | `960px` | `1140px` |
259
- | `fluid="md"` | `100%` | `100%` | `720px` | `960px` | `1140px` |
260
- | `fluid="lg"` | `100%` | `100%` | `100%` | `960px` | `1140px` |
261
- | `fluid="xl"` | `100%` | `100%` | `100%` | `100%` | `1140px` |
262
-
263
- Refer to the [Containers `<b-container>` section](#containers-b-container) section above for
264
- additional information
265
-
266
- ## Auto-layout columns
267
-
268
- Utilize breakpoint-specific column classes for easy column sizing without an explicit numbered prop
269
- like `<b-col sm="6">`.
270
-
271
- ### Equal-width columns
272
-
273
- For example, here are two grid layouts that apply to every device and viewport, from `xs` to `xl`.
274
- Add any number of unit-less classes for each breakpoint you need and every column will be the same
275
- width.
276
-
277
- ```html
278
- <b-container class="bv-example-row">
279
- <b-row>
280
- <b-col>1 of 2</b-col>
281
- <b-col>2 of 2</b-col>
282
- </b-row>
283
-
284
- <b-row>
285
- <b-col>1 of 3</b-col>
286
- <b-col>2 of 3</b-col>
287
- <b-col>3 of 3</b-col>
288
- </b-row>
289
- </b-container>
290
-
291
- <!-- b-grid-equal-width.vue -->
292
- ```
293
-
294
- ### Equal-width multi-line
295
-
296
- Create equal-width columns that span multiple lines by inserting a `.w-100` where you want the
297
- columns to break to a new line. Make the breaks responsive by mixing `.w-100` with some
298
- [responsive display utilities](https://getbootstrap.com/docs/4.5/utilities/display/).
299
-
300
- There was a [Safari flexbox bug](https://github.com/philipwalton/flexbugs#flexbug-11) that prevented
301
- this from working without an explicit `flex-basis` or `border`. There are workarounds for older
302
- browser versions, but they shouldn't be necessary if your target browsers don't fall into the buggy
303
- versions.
304
-
305
- ```html
306
- <b-container class="bv-example-row">
307
- <b-row>
308
- <b-col>Column</b-col>
309
- <b-col>Column</b-col>
310
- <div class="w-100"></div>
311
- <b-col>Column</b-col>
312
- <b-col>Column</b-col>
313
- </b-row>
314
- </b-container>
315
-
316
- <!-- b-grid-equal-width-multiple-lines.vue -->
317
- ```
318
-
319
- ### Setting one column width
320
-
321
- Auto-layout for flexbox grid columns also means you can set the width of one column and have the
322
- sibling columns automatically resize around it. You may use predefined grid classes (as shown
323
- below), grid mixins, or inline widths. Note that the other columns will resize no matter the width
324
- of the center column.
325
-
326
- ```html
327
- <b-container class="bv-example-row">
328
- <b-row class="text-center">
329
- <b-col>1 of 3</b-col>
330
- <b-col cols="8">2 of 3 (wider)</b-col>
331
- <b-col>3 of 3</b-col>
332
- </b-row>
333
-
334
- <b-row class="text-center">
335
- <b-col>1 of 3</b-col>
336
- <b-col cols="5">2 of 3 (wider)</b-col>
337
- <b-col>3 of 3</b-col>
338
- </b-row>
339
- </b-container>
340
-
341
- <!-- b-grid-one-width.vue -->
342
- ```
343
-
344
- ### Variable width content
345
-
346
- Use `{breakpoint}="auto"` props to size columns based on the natural width of their content.
347
-
348
- ```html
349
- <b-container class="bv-example-row">
350
- <b-row class="justify-content-md-center">
351
- <b-col col lg="2">1 of 3</b-col>
352
- <b-col cols="12" md="auto">Variable width content</b-col>
353
- <b-col col lg="2">3 of 3</b-col>
354
- </b-row>
355
-
356
- <b-row>
357
- <b-col>1 of 3</b-col>
358
- <b-col cols="12" md="auto">Variable width content</b-col>
359
- <b-col col lg="2">3 of 3</b-col>
360
- </b-row>
361
- </b-container>
362
-
363
- <!-- b-grid-variable-width.vue -->
364
- ```
365
-
366
- ## Responsive classes
367
-
368
- Bootstrap's grid includes five tiers of predefined classes for building complex responsive layouts.
369
- Customize the size of your columns on extra small, small, medium, large, or extra large devices
370
- however you see fit.
371
-
372
- ### All breakpoints
373
-
374
- For grids that are the same from the smallest of devices to the largest, use the `col` and
375
- `cols="*"` props. Specify a number of `cols` when you need a particularly sized column; otherwise,
376
- feel free to stick to `col` (which is applied automatically if no `cols` are specified).
377
-
378
- ```html
379
- <b-container class="bv-example-row">
380
- <b-row>
381
- <b-col>col</b-col>
382
- <b-col>col</b-col>
383
- <b-col>col</b-col>
384
- <b-col>col</b-col>
385
- </b-row>
386
-
387
- <b-row>
388
- <b-col cols="8">col-8</b-col>
389
- <b-col cols="4">col-4</b-col>
390
- </b-row>
391
- </b-container>
392
-
393
- <!-- b-grid-size-all-breakpoints.vue -->
394
- ```
395
-
396
- ### Stacked to horizontal
397
-
398
- Using a single set of `sm="*"` or `sm` (boolean for equal width @sm) props, you can create a basic
399
- grid system that starts out stacked on extra small devices before becoming horizontal on desktop
400
- (medium) devices.
401
-
402
- ```html
403
- <b-container class="bv-example-row">
404
- <b-row>
405
- <b-col sm="8">col-sm-8</b-col>
406
- <b-col sm="4">col-sm-4</b-col>
407
- </b-row>
408
-
409
- <b-row>
410
- <b-col sm>col-sm</b-col>
411
- <b-col sm>col-sm</b-col>
412
- <b-col sm>col-sm</b-col>
413
- </b-row>
414
- </b-container>
415
-
416
- <!-- b-grid-horizontal-stacked.vue -->
417
- ```
418
-
419
- ### Mix and match
420
-
421
- Don't want your columns to simply stack in some grid tiers? Use a combination of different props for
422
- each tier as needed. See the example below for a better idea of how it all works.
423
-
424
- ```html
425
- <b-container class="bv-example-row">
426
- <!-- Stack the columns on mobile by making one full-width and the other half-width -->
427
- <b-row>
428
- <b-col cols="12" md="8">cols="12" md="8"</b-col>
429
- <b-col cols="6" md="4">cols="6" md="4"</b-col>
430
- </b-row>
431
-
432
- <!-- Columns start at 50% wide on mobile and bump up to 33.3% wide on desktop -->
433
- <b-row>
434
- <b-col cols="6" md="4">cols="6" md="4"</b-col>
435
- <b-col cols="6" md="4">cols="6" md="4"</b-col>
436
- <b-col cols="6" md="4">cols="6" md="4"</b-col>
437
- </b-row>
438
-
439
- <!-- Columns are always 50% wide, on mobile and desktop -->
440
- <b-row>
441
- <b-col cols="6">cols="6"</b-col>
442
- <b-col cols="6">cols="6"</b-col>
443
- </b-row>
444
- </b-container>
445
-
446
- <!-- b-grid-mix-and-match.vue -->
447
- ```
448
-
449
- ## Alignment
450
-
451
- Use flexbox alignment utilities to vertically and horizontally align columns.
452
-
453
- **Note:** Internet Explorer 11 does not support vertical alignment of flex items when the flex
454
- container has a `min-height` as shown below.
455
- [See Flexbugs #3 for more details](https://github.com/philipwalton/flexbugs#flexbug-3).
456
-
457
- ### Vertical alignment
458
-
459
- For vertical alignment of all grid cells in a row, use the `align-v` prop on `<b-row>`. Possible
460
- values are `'start'`, `'center'`, `'end'`, `'baseline'`, and `'stretch'`:
461
-
462
- ```html
463
- <b-container class="bv-example-row bv-example-row-flex-cols">
464
- <b-row align-v="start">
465
- <b-col>One of three columns</b-col>
466
- <b-col>One of three columns</b-col>
467
- <b-col>One of three columns</b-col>
468
- </b-row>
469
-
470
- <b-row align-v="center">
471
- <b-col>One of three columns</b-col>
472
- <b-col>One of three columns</b-col>
473
- <b-col>One of three columns</b-col>
474
- </b-row>
475
-
476
- <b-row align-v="end">
477
- <b-col>One of three columns</b-col>
478
- <b-col>One of three columns</b-col>
479
- <b-col>One of three columns</b-col>
480
- </b-row>
481
-
482
- <b-row align-v="baseline">
483
- <b-col style="font-size: 0.75rem;">One of three columns</b-col>
484
- <b-col>One of three columns</b-col>
485
- <b-col style="font-size: 1.25rem;">One of three columns</b-col>
486
- </b-row>
487
-
488
- <b-row align-v="stretch">
489
- <b-col>One of three columns</b-col>
490
- <b-col>One of three columns</b-col>
491
- <b-col>One of three columns</b-col>
492
- </b-row>
493
- </b-container>
494
-
495
- <!-- b-grid-vertical-alignment.vue -->
496
- ```
497
-
498
- For individual grid cell vertical alignment, use the `align-self` prop on `<b-col>`. Possible values
499
- are `'start'`, `'center'`, `'end'`, `'baseline'`, and `'stretch'`:
500
-
501
- ```html
502
- <b-container class="bv-example-row bv-example-row-flex-cols">
503
- <b-row>
504
- <b-col align-self="start">One of three columns</b-col>
505
- <b-col align-self="center">One of three columns</b-col>
506
- <b-col align-self="end">One of three columns</b-col>
507
- </b-row>
508
- <b-row>
509
- <b-col align-self="baseline">One of two columns</b-col>
510
- <b-col align-self="stretch">One of two columns</b-col>
511
- </b-row>
512
- </b-container>
513
-
514
- <!-- b-grid-align-self.vue -->
515
- ```
516
-
517
- ### Horizontal alignment
518
-
519
- To horizontally align grid cells within a row, use the `align-h` prop on `<b-row>`. Possible values
520
- are: `'start'`, `'center'`, `'end'`, `'around'`, and `'between'`:
521
-
522
- ```html
523
- <b-container class="bv-example-row">
524
- <b-row align-h="start">
525
- <b-col cols="4">One of two columns</b-col>
526
- <b-col cols="4">One of two columns</b-col>
527
- </b-row>
528
-
529
- <b-row align-h="center">
530
- <b-col cols="4">One of two columns</b-col>
531
- <b-col cols="4">One of two columns</b-col>
532
- </b-row>
533
-
534
- <b-row align-h="end">
535
- <b-col cols="4">One of two columns</b-col>
536
- <b-col cols="4">One of two columns</b-col>
537
- </b-row>
538
-
539
- <b-row align-h="around">
540
- <b-col cols="4">One of two columns</b-col>
541
- <b-col cols="4">One of two columns</b-col>
542
- </b-row>
543
-
544
- <b-row align-h="between">
545
- <b-col cols="4">One of two columns</b-col>
546
- <b-col cols="4">One of two columns</b-col>
547
- </b-row>
548
- </b-container>
549
-
550
- <!-- b-grid-horizontal-alignment.vue -->
551
- ```
552
-
553
- ## Reordering
554
-
555
- ### Ordering columns
556
-
557
- Use `order-*` props for controlling the visual order of your content. These props are responsive, so
558
- you can set the order by breakpoint (e.g., `order="1" order-md="2"`). Includes support for 1 through
559
- 12 across all five grid tiers. `<b-col>` defaults to an order value of `0`.
560
-
561
- ```html
562
- <b-container fluid class="bv-example-row">
563
- <b-row class="mb-3">
564
- <b-col>First in DOM, no order applied</b-col>
565
- <b-col order="5">Second in DOM, with a larger order</b-col>
566
- <b-col order="1">Third in DOM, with an order of 1</b-col>
567
- </b-row>
568
-
569
- <b-row class="mb-3">
570
- <b-col order="6">First in DOM, with order of 6</b-col>
571
- <b-col order="1">Second in DOM, with an order of 1</b-col>
572
- <b-col>Third in DOM, no order applied</b-col>
573
- </b-row>
574
- </b-container>
575
-
576
- <!-- b-grid-order.vue -->
577
- ```
578
-
579
- Ordering is controlled by flexbox's CSS style `order`.
580
-
581
- ### Offsetting columns
582
-
583
- You can offset grid columns in two ways: our responsive `offset-*` props or the
584
- [margin](/docs/reference/spacing-classes) utility classes. Grid `offset-*` props are sized to match
585
- columns while margins utility classes are more useful for quick layouts where the width of the
586
- offset is variable.
587
-
588
- ```html
589
- <b-container fluid class="bv-example-row">
590
- <b-row>
591
- <b-col md="4">md="4"</b-col>
592
- <b-col md="4" offset-md="4">md="4" offset-md="4"</b-col>
593
- </b-row>
594
-
595
- <b-row>
596
- <b-col md="3" offset-md="3">md="3" offset-md="3"</b-col>
597
- <b-col md="3" offset-md="3">md="3" offset-md="3"</b-col>
598
- </b-row>
599
-
600
- <b-row>
601
- <b-col md="6" offset-md="3">md="6" offset-md="3"</b-col>
602
- </b-row>
603
- </b-container>
604
-
605
- <!-- b-grid-offset.vue -->
606
- ```
607
-
608
- In addition to column clearing at responsive breakpoints, you may need to reset offsets by setting
609
- the offset to `0` at a larger breakpoint:
610
-
611
- ```html
612
- <b-container fluid class="bv-example-row">
613
- <b-row>
614
- <b-col sm="5" md="6">sm="5" md="6"</b-col>
615
- <b-col sm="5" offset-sm="2" md="6" offset-md="0">sm="5" offset-sm="2" md="6" offset-md="0"</b-col>
616
- </b-row>
617
-
618
- <b-row>
619
- <b-col sm="6" md="5" lg="6">sm="6" md="5" lg="6"</b-col>
620
- <b-col sm="6" md="5" offset-md="2" lg="6" offset-lg="0">sm="6" md="5" offset-md="2" col-lg="6" offset-lg="0"</b-col>
621
- </b-row>
622
- </b-container>
623
-
624
- <!-- b-grid-offset-reset.vue -->
625
- ```
626
-
627
- ### Margin utilities on columns
628
-
629
- With the move to flexbox in Bootstrap v4, you can use
630
- [margin and spacing](/docs/reference/spacing-classes) utility classes like `.mr-auto` to force
631
- sibling columns away from one another.
632
-
633
- ```html
634
- <b-container fluid class="text-light text-center">
635
- <b-row class="mb-3">
636
- <b-col md="4" class="p-3 bg-info">md="4"</b-col>
637
- <b-col md="4" class="ml-auto p-3 bg-info">md="4" .ml-auto</b-col>
638
- </b-row>
639
-
640
- <b-row class="mb-3">
641
- <b-col md="3" class="ml-md-auto p-3 bg-info">md="3" .ml-md-auto</b-col>
642
- <b-col md="3" class="ml-md-auto p-3 bg-info">md="3" .ml-md-auto</b-col>
643
- </b-row>
644
-
645
- <b-row>
646
- <b-col cols="auto" class="mr-auto p-3 bg-info">cols="auto" .mr-auto</b-col>
647
- <b-col cols="auto" class="p-3 bg-info">cols="auto"</b-col>
648
- </b-row>
649
- </b-container>
650
-
651
- <!-- b-grid-margins.vue -->
652
- ```
653
-
654
- ## Nesting grids
655
-
656
- To nest your content with the default grid, add a new `<b-row>` and set of `<b-col>` components
657
- within an existing `<b-col>` component. Nested rows should include a set of columns that add up to
658
- 12 or fewer (it is not required that you use all 12 available columns).
659
-
660
- ```html
661
- <b-container fluid class="bv-example-row">
662
- <b-row>
663
- <b-col sm="9">
664
- Level 1: sm="9"
665
- <b-row>
666
- <b-col cols="8" sm="6">Level 2: cols="8" sm="6"</b-col>
667
- <b-col cols="4" sm="6">Level 2: cols="4" sm="6"</b-col>
668
- </b-row>
669
- </b-col>
670
- </b-row>
671
- </b-container>
672
-
673
- <!-- b-grid-nesting.vue -->
674
- ```
675
-
676
- ## Row columns
677
-
678
- <span class="badge badge-info small">Requires Bootstrap v4.4+ CSS</span>
679
-
680
- Use the responsive `cols-*` props in `<b-row>` to quickly set the number of columns that best render
681
- your content and layout. Whereas normal column widths are apply to the individual `<b-col>` columns
682
- (e.g., `<b-col md="4">`), the row columns `col-*` props are set on the parent `<b-row>` as a
683
- shortcut.
684
-
685
- Use these row columns to quickly create basic grid layouts or to control your card layouts. The
686
- default maximum number of row columns in Bootstrap v4.4 is `6` (unlike the regular columns which
687
- have a default maximum of `12` columns)
688
-
689
- The value specified in the `<b-row>` prop(s) is the number of columns to create per row (whereas the
690
- props on `<b-col>` refer to the number of columns to occupy).
691
-
692
- ```html
693
- <b-container class="bv-example-row mb-3">
694
- <b-row cols="2">
695
- <b-col>Column</b-col>
696
- <b-col>Column</b-col>
697
- <b-col>Column</b-col>
698
- <b-col>Column</b-col>
699
- </b-row>
700
- </b-container>
701
-
702
- <b-container class="bv-example-row mb-3">
703
- <b-row cols="3">
704
- <b-col>Column</b-col>
705
- <b-col>Column</b-col>
706
- <b-col>Column</b-col>
707
- <b-col>Column</b-col>
708
- </b-row>
709
- </b-container>
710
-
711
- <b-container class="bv-example-row mb-3">
712
- <b-row cols="4">
713
- <b-col>Column</b-col>
714
- <b-col>Column</b-col>
715
- <b-col>Column</b-col>
716
- <b-col>Column</b-col>
717
- </b-row>
718
- </b-container>
719
-
720
- <b-container class="bv-example-row">
721
- <b-row cols="4">
722
- <b-col>Column</b-col>
723
- <b-col>Column</b-col>
724
- <b-col cols="6">Column</b-col>
725
- <b-col>Column</b-col>
726
- </b-row>
727
- </b-container>
728
-
729
- <!-- b-grid-row-cols-introduction.vue -->
730
- ```
731
-
732
- You can control the number of columns at each breakpoint level via the following `<b-row>` props:
733
-
734
- - `cols` for `xs` and up screens
735
- - `cols-sm` for `sm` and up screens
736
- - `cols-md` for `md` and up screens
737
- - `cols-lg` for `lg` and up screens
738
- - `cols-xl` for `xl` and up screens
739
-
740
- ```html
741
- <b-container class="bv-example-row">
742
- <b-row cols="1" cols-sm="2" cols-md="4" cols-lg="6">
743
- <b-col>Column</b-col>
744
- <b-col>Column</b-col>
745
- <b-col>Column</b-col>
746
- <b-col>Column</b-col>
747
- <b-col>Column</b-col>
748
- <b-col>Column</b-col>
749
- </b-row>
750
- </b-container>
751
-
752
- <!-- b-grid-row-cols-breakpoints.vue -->
753
- ```
754
-
755
- ## Utilities for layout
756
-
757
- For faster mobile-friendly and responsive development, Bootstrap includes dozens of
758
- [utility classes](/docs/reference/utility-classes) for showing, hiding, aligning, and spacing
759
- content.
760
-
761
- ### Changing `display`
762
-
763
- Use Bootstrap's [display utilities](/docs/reference/utility-classes) for responsively toggling
764
- common values of the `display` property. Mix it with the grid system, content, or components to show
765
- or hide them across specific viewports.
766
-
767
- ### Flexbox options
768
-
769
- Bootstrap 4 is built with flexbox, but not every element’s `display` has been changed to
770
- `display: flex` as this would add many unnecessary overrides and unexpectedly change key browser
771
- behaviors. Most of the components are built with flexbox enabled.
772
-
773
- Should you need to add `display: flex` to an element, do so with `.d-flex` or one of the responsive
774
- variants (e.g., `.d-sm-flex`). You’ll need this class or `display` value to allow the use of the
775
- extra [flexbox utilities](/docs/reference/utility-classes) for sizing, alignment, spacing, and more.
776
-
777
- ### Margin and padding
778
-
779
- Use the `margin` and `padding` [spacing utilities](/docs/reference/utility-classes) to control how
780
- elements and components are spaced and sized. Bootstrap 4 includes a five-level scale for spacing
781
- utilities, based on a `1rem` value default SASS `$spacer` variable. Choose values for all viewports
782
- (e.g., `.mr-3` for `margin-right: 1rem`), or pick responsive variants to target specific viewports
783
- (e.g., `.mr-md-3` for `margin-right: 1rem` starting at the `md` breakpoint).
784
-
785
- ### Toggle `visibility`
786
-
787
- When toggling `display` isn’t needed, you can toggle the `visibility` of an element with the
788
- [visibility utility classes](/docs/reference/utility-classes). Invisible elements will still affect
789
- the layout of the page, but are visually hidden from visitors.
790
-
791
- <!-- Component reference added automatically from component package.json -->