bootstrap-italia 2.17.3 → 3.0.0-alpha.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 (155) hide show
  1. package/README.EN.md +1 -1
  2. package/README.md +1 -1
  3. package/dist/css/bootstrap-italia.min.css +1 -9
  4. package/dist/css/bootstrap-italia.min.css.map +1 -1
  5. package/dist/fonts/Titillium_Sans_Pro/OFL.txt +92 -0
  6. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-Bold.woff +0 -0
  7. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-Bold.woff2 +0 -0
  8. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-BoldItalic.woff +0 -0
  9. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-BoldItalic.woff2 +0 -0
  10. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-Italic.woff +0 -0
  11. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-Italic.woff2 +0 -0
  12. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-Light.woff +0 -0
  13. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-Light.woff2 +0 -0
  14. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-LightItalic.woff +0 -0
  15. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-LightItalic.woff2 +0 -0
  16. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-Regular.woff +0 -0
  17. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-Regular.woff2 +0 -0
  18. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-Semibold.woff +0 -0
  19. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-Semibold.woff2 +0 -0
  20. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-SemiboldItalic.woff +0 -0
  21. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-SemiboldItalic.woff2 +0 -0
  22. package/dist/js/bootstrap-italia.bundle.min.js +10 -10
  23. package/dist/js/bootstrap-italia.min.js +4 -4
  24. package/dist/plugins/dropdown.js +1 -1
  25. package/dist/plugins/dropdown.js.map +1 -1
  26. package/dist/plugins/fonts-loader.js +340 -111
  27. package/dist/plugins/fonts-loader.js.map +1 -1
  28. package/dist/version.js +1 -1
  29. package/dist/version.js.map +1 -1
  30. package/package.json +3 -3
  31. package/src/fonts/Titillium_Sans_Pro/OFL.txt +92 -0
  32. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-Bold.woff +0 -0
  33. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-Bold.woff2 +0 -0
  34. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-BoldItalic.woff +0 -0
  35. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-BoldItalic.woff2 +0 -0
  36. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-Italic.woff +0 -0
  37. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-Italic.woff2 +0 -0
  38. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-Light.woff +0 -0
  39. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-Light.woff2 +0 -0
  40. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-LightItalic.woff +0 -0
  41. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-LightItalic.woff2 +0 -0
  42. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-Regular.woff +0 -0
  43. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-Regular.woff2 +0 -0
  44. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-Semibold.woff +0 -0
  45. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-Semibold.woff2 +0 -0
  46. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-SemiboldItalic.woff +0 -0
  47. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-SemiboldItalic.woff2 +0 -0
  48. package/src/js/plugins/dropdown.js +1 -1
  49. package/src/js/plugins/fonts-loader.js +340 -111
  50. package/src/js/version.js +1 -1
  51. package/src/scss/base/_maps.scss +11 -0
  52. package/src/scss/base/_mixins.scss +2 -1
  53. package/src/scss/base/_reboot.scss +15 -147
  54. package/src/scss/base/_root.scss +272 -45
  55. package/src/scss/base/_utilities.scss +3 -3
  56. package/src/scss/base/_variables.scss +44 -55
  57. package/src/scss/base/_version.scss +1 -1
  58. package/src/scss/base/mixins/_banner.scss +7 -9
  59. package/src/scss/base/mixins/_focus.scss +14 -0
  60. package/src/scss/bootstrap-italia.scss +29 -32
  61. package/src/scss/components/_accept-overlay.scss +74 -50
  62. package/src/scss/components/_accordion.scss +120 -97
  63. package/src/scss/components/_affix.scss +14 -0
  64. package/src/scss/components/_alert.scss +60 -45
  65. package/src/scss/components/_anchor.scss +14 -0
  66. package/src/scss/components/_avatar.scss +236 -369
  67. package/src/scss/components/_back-to-top.scss +70 -54
  68. package/src/scss/components/_badge.scss +69 -36
  69. package/src/scss/components/_bottomnav.scss +14 -0
  70. package/src/scss/components/_breadcrumb.scss +78 -71
  71. package/src/scss/components/_button-group.scss +21 -7
  72. package/src/scss/components/_buttons.scss +289 -318
  73. package/src/scss/components/_calendar.scss +22 -8
  74. package/src/scss/components/_callout.scss +133 -125
  75. package/src/scss/components/_card-old.scss +14 -0
  76. package/src/scss/components/_card.scss +476 -518
  77. package/src/scss/components/_carousel.scss +14 -0
  78. package/src/scss/components/_chips.scss +150 -209
  79. package/src/scss/components/_code.scss +31 -6
  80. package/src/scss/components/_cookiebar.scss +14 -0
  81. package/src/scss/components/_dimmer.scss +14 -0
  82. package/src/scss/components/_dropdown.scss +144 -179
  83. package/src/scss/components/_figcaption.scss +14 -0
  84. package/src/scss/components/_font.scss +14 -0
  85. package/src/scss/components/_footer.scss +99 -75
  86. package/src/scss/components/_forward.scss +14 -0
  87. package/src/scss/components/_grid.scss +31 -22
  88. package/src/scss/components/_gridlist.scss +41 -19
  89. package/src/scss/components/_header.scss +150 -142
  90. package/src/scss/components/_headercenter.scss +129 -193
  91. package/src/scss/components/_headercentertheme.scss +14 -0
  92. package/src/scss/components/_headernavbar.scss +22 -14
  93. package/src/scss/components/_headernavbartheme.scss +16 -2
  94. package/src/scss/components/_headerslim.scss +133 -137
  95. package/src/scss/components/_headerslimtheme.scss +14 -0
  96. package/src/scss/components/_hero.scss +93 -202
  97. package/src/scss/components/_images.scss +14 -0
  98. package/src/scss/components/_imgresponsive.scss +14 -0
  99. package/src/scss/components/_linklist.scss +241 -262
  100. package/src/scss/components/_list-group.scss +26 -14
  101. package/src/scss/components/_list.scss +66 -123
  102. package/src/scss/components/_map.scss +14 -0
  103. package/src/scss/components/_masonry-loader.scss +14 -0
  104. package/src/scss/components/_megamenu.scss +191 -256
  105. package/src/scss/components/_modal.scss +115 -204
  106. package/src/scss/components/_nav.scss +43 -41
  107. package/src/scss/components/_navbar.scss +408 -91
  108. package/src/scss/components/_navigation.scss +56 -459
  109. package/src/scss/components/_navigationtheme.scss +109 -171
  110. package/src/scss/components/_navscroll.scss +210 -208
  111. package/src/scss/components/_navscrolltheme.scss +14 -0
  112. package/src/scss/components/_notifications.scss +14 -0
  113. package/src/scss/components/_offcanvas.scss +14 -0
  114. package/src/scss/components/_overlay-panel.scss +14 -0
  115. package/src/scss/components/_page-scroll.scss +14 -0
  116. package/src/scss/components/_pagination.scss +135 -80
  117. package/src/scss/components/_placeholders.scss +14 -0
  118. package/src/scss/components/_point-list.scss +15 -0
  119. package/src/scss/components/_popover.scss +29 -19
  120. package/src/scss/components/_print.scss +14 -0
  121. package/src/scss/components/_progress-bars.scss +14 -0
  122. package/src/scss/components/_progress-donuts.scss +14 -0
  123. package/src/scss/components/_progress-spinners.scss +14 -0
  124. package/src/scss/components/_rating-list.scss +14 -0
  125. package/src/scss/components/_rating.scss +76 -45
  126. package/src/scss/components/_sections.scss +51 -30
  127. package/src/scss/components/_sidebar.scss +119 -121
  128. package/src/scss/components/_sidebarthemes.scss +14 -0
  129. package/src/scss/components/_skiplinks.scss +14 -0
  130. package/src/scss/components/_steppers.scss +14 -0
  131. package/src/scss/components/_sticky.scss +14 -0
  132. package/src/scss/components/_tab.scss +14 -0
  133. package/src/scss/components/_tables.scss +14 -0
  134. package/src/scss/components/_thumbnav.scss +14 -0
  135. package/src/scss/components/_timeline.scss +14 -0
  136. package/src/scss/components/_toasts.scss +14 -0
  137. package/src/scss/components/_toolbar.scss +14 -0
  138. package/src/scss/components/_tooltip.scss +23 -9
  139. package/src/scss/components/_type.scss +176 -176
  140. package/src/scss/components/_videoplayer.scss +25 -5
  141. package/src/scss/forms/_accessible-autocomplete.scss +25 -27
  142. package/src/scss/forms/_autocomplete.scss +99 -144
  143. package/src/scss/forms/_form-control.scss +47 -116
  144. package/src/scss/forms/_form-input-file.scss +7 -6
  145. package/src/scss/forms/_form-input-number.scss +38 -22
  146. package/src/scss/forms/_form-input-upload.scss +149 -147
  147. package/src/scss/forms/_form-password.scss +14 -11
  148. package/src/scss/forms/_form-select.scss +3 -92
  149. package/src/scss/forms/_forms.scss +304 -247
  150. package/src/scss/forms/_input-group.scss +23 -36
  151. package/src/scss/forms/_just-validate.scss +11 -12
  152. package/src/scss/utilities/focus.scss +3 -12
  153. package/src/scss/utilities/icons.scss +59 -13
  154. package/src/scss/components/_pager.scss +0 -166
  155. package/src/scss/forms/_form-text.scss +0 -11
@@ -1,29 +1,54 @@
1
- // stylelint-disable function-disallowed-list
1
+ // Component: modal
2
+ //
3
+ // Description: Component styles for modal
4
+ //
2
5
 
3
- // .modal-open - body class for killing the scroll
4
- // .modal - container to scroll within
5
- // .modal-dialog - positioning shell for the actual modal
6
- // .modal-content - actual modal w/ bg and corners and stuff
6
+ // Variables
7
+ //
7
8
 
8
- // Container that the modal scrolls within
9
+ // Properties
10
+ //
11
+
12
+ .modal {
13
+ --#{$prefix}modal-bg: var(--#{$prefix}color-background-inverse); // Controls the background for the modal, using color tokens.
14
+ --#{$prefix}modal-border-color: transparent; // Controls the border color for the modal.
15
+ --#{$prefix}modal-border-radius: var(--#{$prefix}radius-smooth); // Controls the border radius for the modal, using radius tokens.
16
+ --#{$prefix}modal-border-width: 0; // Controls the border width for the modal.
17
+ --#{$prefix}modal-box-shadow: var(--#{$prefix}elevation-medium); // Controls the box shadow for the modal, using elevation tokens.
18
+ --#{$prefix}modal-footer-bg: transparent; // Controls the footer background for the modal.
19
+ --#{$prefix}modal-footer-border-color: var(--#{$prefix}modal-header-border-color); // Controls the footer border color for the modal.
20
+ --#{$prefix}modal-footer-border-width: var(--#{$prefix}modal-header-border-width); // Controls the footer border width for the modal.
21
+ --#{$prefix}modal-footer-gap: var(--#{$prefix}spacing-s); // Controls the footer gap for the modal, using spacing tokens.
22
+ --#{$prefix}modal-header-border-color: var(--#{$prefix}color-border-subtle); // Controls the header border color for the modal, using color tokens.
23
+ --#{$prefix}modal-header-border-width: 0; // Controls the header border width for the modal.
24
+ --#{$prefix}modal-inner-border-radius: var(--#{$prefix}radius-smooth); // Controls the inner border radius for the modal, using radius tokens.
25
+ --#{$prefix}modal-margin: auto; // Controls the margin for the modal.
26
+ --#{$prefix}modal-padding: var(--#{$prefix}spacing-m); // Controls the padding for the modal, using spacing tokens.
27
+ --#{$prefix}modal-title-font-size: var(--#{$prefix}heading-5-font-size); // Controls the title font size for the modal, using font tokens.
28
+ --#{$prefix}modal-title-font-weight: var(--#{$prefix}heading-font-weight-weak); // Controls the title font weight for the modal, using font tokens.
29
+ --#{$prefix}modal-title-line-height: var(--#{$prefix}heading-line-height); // Controls the title line height for the modal, using font tokens.
30
+ --#{$prefix}modal-transition: transform 0.3s ease-in-out; // Controls the transition for the modal.
31
+ --#{$prefix}modal-width: 500px; // Controls the width for the modal.
32
+ --#{$prefix}modal-zindex: 1055; // Controls the z-index for the modal.
33
+ }
34
+
35
+ // Styles
36
+ //
9
37
 
10
- // Shell div to position the modal with bottom padding
11
38
  .modal-dialog {
12
39
  position: relative;
13
40
  width: auto;
14
41
  margin: var(--#{$prefix}modal-margin);
15
- // allow clicks to pass through for custom click handling to close modal
16
- pointer-events: none;
42
+ pointer-events: none; // Allow clicks to pass through for custom click handling to close modal
17
43
 
18
44
  // When fading in the modal, animate it to slide down
19
-
20
45
  .modal.show & {
21
- transform: $modal-show-transform;
46
+ transform: none;
22
47
  }
23
48
 
24
49
  // When trying to close, animate focus to scale
25
50
  .modal.modal-static & {
26
- transform: $modal-scale-transform;
51
+ transform: scale(1.02);
27
52
  }
28
53
  }
29
54
 
@@ -46,31 +71,37 @@
46
71
  min-height: calc(100% - var(--#{$prefix}modal-margin) * 2);
47
72
  }
48
73
 
74
+ // Modal body
75
+ // Where all modal content resides (sibling of .modal-header and .modal-footer)
76
+ .modal-body {
77
+ position: relative;
78
+ // Enable `flex-grow: 1` so that the body take up as much space as possible
79
+ // when there should be a fixed height on `.modal-dialog`.
80
+ flex: 1 1 auto;
81
+ padding: var(--#{$prefix}modal-padding);
82
+ color: var(--#{$prefix}color-text-base);
83
+ }
84
+
49
85
  // Actual modal
50
86
  .modal-content {
51
87
  position: relative;
52
88
  display: flex;
53
89
  flex-direction: column;
54
90
  width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`
55
- // counteract the pointer-events: none; in the .modal-dialog
56
- color: var(--#{$prefix}modal-color);
57
- pointer-events: auto;
91
+ border: var(--#{$prefix}modal-border-width) solid var(--#{$prefix}modal-border-color);
92
+ outline: 0; // Remove focus outline from opened modal
58
93
  background-color: var(--#{$prefix}modal-bg);
94
+ pointer-events: auto; // counteract the pointer-events: none; in the .modal-dialog
59
95
  background-clip: padding-box;
60
- border: var(--#{$prefix}modal-border-width) solid var(--#{$prefix}modal-border-color);
61
96
  @include border-radius(var(--#{$prefix}modal-border-radius));
62
97
  @include box-shadow(var(--#{$prefix}modal-box-shadow));
63
- // Remove focus outline from opened modal
64
- outline: 0;
65
98
  }
66
99
 
67
100
  // Modal background
68
101
  .modal-backdrop {
69
- // scss-docs-start modal-backdrop-css-vars
70
102
  --#{$prefix}backdrop-zindex: #{$zindex-modal-backdrop};
71
103
  --#{$prefix}backdrop-bg: #{$modal-backdrop-bg};
72
104
  --#{$prefix}backdrop-opacity: #{$modal-backdrop-opacity};
73
- // scss-docs-end modal-backdrop-css-vars
74
105
 
75
106
  @include overlay-backdrop(var(--#{$prefix}backdrop-zindex), var(--#{$prefix}backdrop-bg), var(--#{$prefix}backdrop-opacity));
76
107
  }
@@ -82,20 +113,34 @@
82
113
  flex-shrink: 0;
83
114
  align-items: center;
84
115
  justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends
85
- padding: var(--#{$prefix}modal-header-padding);
116
+ padding: var(--#{$prefix}modal-padding) var(--#{$prefix}modal-padding) 0;
86
117
  border-bottom: var(--#{$prefix}modal-header-border-width) solid var(--#{$prefix}modal-header-border-color);
87
- @include border-top-radius(var(--#{$prefix}modal-inner-border-radius));
118
+ }
119
+
120
+ // Modal footer
121
+ .modal-footer {
122
+ position: relative;
123
+ display: flex;
124
+ flex-shrink: 0;
125
+ flex-wrap: wrap;
126
+ gap: var(--#{$prefix}modal-footer-gap);
127
+ align-items: center; // vertically center
128
+ justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items
129
+ padding: 0 var(--#{$prefix}modal-padding) var(--#{$prefix}modal-padding);
130
+ border-top: var(--#{$prefix}modal-footer-border-width) solid var(--#{$prefix}modal-footer-border-color);
131
+ background-color: var(--#{$prefix}modal-footer-bg);
132
+ @include border-bottom-radius(var(--#{$prefix}modal-border-radius));
88
133
 
89
- .btn-close {
90
- padding: calc(var(--#{$prefix}modal-header-padding-y) * 0.5) calc(var(--#{$prefix}modal-header-padding-x) * 0.5);
91
- margin: calc(-0.5 * var(--#{$prefix}modal-header-padding-y)) calc(-0.5 * var(--#{$prefix}modal-header-padding-x))
92
- calc(-0.5 * var(--#{$prefix}modal-header-padding-y)) auto;
134
+ &.modal-footer-shadow {
135
+ box-shadow: 0 15px 25px 5px rgb(0, 0, 0, 0.3);
93
136
  }
94
137
  }
95
138
 
96
139
  // Title text within header
97
140
  .modal-title {
98
141
  margin-bottom: 0;
142
+ font-size: var(--#{$prefix}modal-title-font-size);
143
+ font-weight: var(--#{$prefix}modal-title-font-weight);
99
144
  line-height: var(--#{$prefix}modal-title-line-height);
100
145
  }
101
146
 
@@ -109,29 +154,27 @@
109
154
  // Automatically set modal's width for larger viewports
110
155
  .modal-dialog {
111
156
  max-width: var(--#{$prefix}modal-width);
112
- margin-right: auto;
113
- margin-left: auto;
114
157
  }
115
158
 
116
159
  .modal-sm {
117
- --#{$prefix}modal-width: #{$modal-sm};
160
+ --#{$prefix}modal-width: 300px;
118
161
  }
119
162
  }
120
163
 
121
164
  @include media-breakpoint-up(lg) {
122
165
  .modal-lg,
123
166
  .modal-xl {
124
- --#{$prefix}modal-width: #{$modal-lg};
167
+ --#{$prefix}modal-width: 800px;
125
168
  }
126
169
  }
127
170
 
128
171
  @include media-breakpoint-up(xl) {
129
172
  .modal-xl {
130
- --#{$prefix}modal-width: #{$modal-xl};
173
+ --#{$prefix}modal-width: 1140px;
131
174
  }
132
175
  }
133
176
 
134
- // scss-docs-start modal-fullscreen-loop
177
+ // Fullscreen modal loop
135
178
  @each $breakpoint in map-keys($grid-breakpoints) {
136
179
  $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
137
180
  $postfix: if($infix != '', $infix + '-down', '');
@@ -160,34 +203,8 @@
160
203
  }
161
204
  }
162
205
  }
163
-
164
- // scss-docs-end modal-fullscreen-loop
165
-
206
+ /* stylelint-disable-next-line no-duplicate-selectors */
166
207
  .modal {
167
- // scss-docs-start modal-css-vars
168
- --#{$prefix}modal-zindex: #{$zindex-modal};
169
- --#{$prefix}modal-width: #{$modal-md};
170
- --#{$prefix}modal-padding: #{$modal-inner-padding};
171
- --#{$prefix}modal-margin: #{$modal-dialog-margin};
172
- --#{$prefix}modal-color: #{$modal-content-color};
173
- --#{$prefix}modal-bg: #{$modal-content-bg};
174
- --#{$prefix}modal-border-color: #{$modal-content-border-color};
175
- --#{$prefix}modal-border-width: #{$modal-content-border-width};
176
- --#{$prefix}modal-border-radius: #{$modal-content-border-radius};
177
- --#{$prefix}modal-box-shadow: #{$modal-content-box-shadow-xs};
178
- --#{$prefix}modal-inner-border-radius: #{$modal-content-inner-border-radius};
179
- --#{$prefix}modal-header-padding-x: #{$modal-header-padding-x};
180
- --#{$prefix}modal-header-padding-y: #{$modal-header-padding-y};
181
- --#{$prefix}modal-header-padding: #{$modal-header-padding}; // Todo in v6: Split this padding into x and y
182
- --#{$prefix}modal-header-border-color: #{$modal-header-border-color};
183
- --#{$prefix}modal-header-border-width: #{$modal-header-border-width};
184
- --#{$prefix}modal-title-line-height: #{$modal-title-line-height};
185
- --#{$prefix}modal-footer-gap: #{$modal-footer-margin-between};
186
- --#{$prefix}modal-footer-bg: #{$modal-footer-bg};
187
- --#{$prefix}modal-footer-border-color: #{$modal-footer-border-color};
188
- --#{$prefix}modal-footer-border-width: #{$modal-footer-border-width};
189
- // scss-docs-end modal-css-vars
190
-
191
208
  position: fixed;
192
209
  top: 0;
193
210
  left: 0;
@@ -195,142 +212,108 @@
195
212
  display: none;
196
213
  width: 100%;
197
214
  height: 100%;
215
+ // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a
216
+ // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342
217
+ // See also https://github.com/twbs/bootstrap/issues/17695
218
+ padding-right: 0 !important;
198
219
  overflow-x: hidden;
199
220
  overflow-y: auto;
200
221
  // Prevent Chrome on Windows from adding a focus outline. For details, see
201
222
  // https://github.com/twbs/bootstrap/pull/10951.
202
223
  outline: 0;
203
- // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a
204
- // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342
205
- // See also https://github.com/twbs/bootstrap/issues/17695
206
- padding-right: 0 !important;
207
- .modal-dialog {
208
- margin: $modal-margin;
209
- .modal-content {
210
- border: none;
211
- box-shadow: $dialog-shadow;
212
- .modal-header {
213
- padding: $modal-padding;
214
- padding-bottom: 0;
215
- .close {
216
- padding: $modal-padding-close;
217
- }
218
- h5 {
219
- color: $modal-heading-color;
220
- }
221
- }
222
- .modal-body {
223
- padding: $modal-padding;
224
- padding-bottom: 0;
225
- }
226
- .modal-footer {
227
- padding: $modal-padding * 0.5 $modal-padding;
228
- }
229
- }
230
- }
231
- //alert variation
224
+
225
+ // Modal alert variation
232
226
  &.alert-modal {
233
227
  .modal-dialog {
234
228
  .modal-content {
235
229
  .modal-header {
236
- justify-content: left;
237
230
  align-items: start;
231
+ justify-content: left;
238
232
  .icon {
239
- fill: $modal-icon-color;
240
- margin-right: $modal-icon-distance;
241
233
  flex-shrink: 0;
234
+ margin-right: $modal-icon-distance;
235
+ fill: $modal-icon-color;
242
236
  }
243
237
  }
244
238
  }
245
239
  }
246
240
  }
247
- // link list variation
241
+
242
+ // Modal link list variation
248
243
  &.it-dialog-link-list {
249
244
  .modal-dialog {
250
245
  .modal-content {
251
246
  .modal-header {
252
- border-bottom: $modal-heading-border;
253
- padding-bottom: $modal-padding;
254
- h5 {
255
- text-transform: none;
256
- font-weight: 700;
257
- letter-spacing: inherit;
258
-
259
- span {
260
- color: $primary;
261
- margin-right: $v-gap * 0.5;
262
- }
263
- }
247
+ --#{$prefix}modal-header-border-color: var(--#{$prefix}color-border-subtle);
248
+ --#{$prefix}modal-header-border-width: 1px;
249
+ padding-bottom: var(--#{$prefix}modal-padding);
264
250
  }
265
251
  .modal-body {
266
252
  .link-list-wrapper {
267
253
  .link-list {
268
254
  margin-bottom: 0;
269
- padding-bottom: $modal-padding;
255
+ padding-bottom: var(--#{$prefix}modal-padding);
270
256
  }
271
257
  }
272
258
  }
273
259
  }
274
260
  }
275
261
  }
276
- //Popconfirm variation
262
+
263
+ // Modal popconfirm variation
277
264
  &.popconfirm-modal {
278
265
  .modal-dialog {
279
- max-width: $modal-popconfirm-max-width;
280
266
  margin-right: auto;
281
267
  margin-left: auto;
282
- .modal-content {
283
- border-radius: $border-radius;
284
- }
285
- .modal-header {
286
- padding-top: $v-gap * 2;
287
- margin-bottom: -$v-gap * 0.5;
288
- }
268
+
289
269
  .modal-body {
290
- padding-top: $v-gap * 2;
291
270
  p {
292
- font-size: $modal-popconfirm-p-size-mobile;
293
- margin-bottom: $v-gap * 1.5;
271
+ font-size: var(--#{$prefix}caption-font-size);
272
+ line-height: var(--#{$prefix}caption-line-height);
294
273
  }
295
274
  }
296
275
  .modal-footer {
297
- padding-bottom: $v-gap * 3;
276
+ justify-content: flex-start;
298
277
  }
299
278
  }
300
279
  }
301
- // scrollable variation
280
+
281
+ // Modal scrollable variation
302
282
  &.it-dialog-scrollable {
303
283
  .modal-dialog {
304
- margin: $v-gap * 13 $modal-margin;
305
284
  .modal-content {
306
285
  display: flex;
307
286
  flex-direction: column;
308
- height: calc(100vh - #{$v-gap * 26});
287
+ height: calc(100vh - 208px);
288
+ @include border-radius(0);
289
+
309
290
  .modal-header {
310
- padding-bottom: $modal-padding;
311
- background: $modal-sticky-bg;
312
291
  flex-shrink: 0;
292
+ padding-bottom: var(--#{$prefix}modal-padding);
313
293
  }
294
+
314
295
  .modal-body {
315
296
  padding-top: 0;
316
- padding-bottom: $modal-padding;
317
297
  overflow-y: auto;
318
298
  }
299
+
319
300
  .modal-footer {
301
+ padding-top: var(--#{$prefix}modal-padding);
320
302
  flex-shrink: 0;
321
- background: $modal-sticky-bg;
322
303
  }
323
304
  }
305
+
324
306
  &.modal-dialog-left {
325
307
  height: 100vh;
326
- margin: 0 $v-gap * 3 0 0;
308
+ margin: 0 var(--#{$prefix}spacing-m) 0 0;
327
309
  .modal-content {
328
310
  height: 100vh;
329
311
  }
330
312
  }
313
+
331
314
  &.modal-dialog-right {
332
315
  height: 100vh;
333
- margin: 0 0 0 $v-gap * 3;
316
+ margin: 0 0 0 var(--#{$prefix}spacing-m);
334
317
  float: right;
335
318
  .modal-content {
336
319
  height: 100vh;
@@ -338,10 +321,11 @@
338
321
  }
339
322
  }
340
323
  }
341
- // transition left
324
+
325
+ // Fade transition - left
342
326
  &.fade {
343
327
  .modal-dialog {
344
- @include transition($modal-transition);
328
+ @include transition(var(--#{$prefix}modal-transition));
345
329
  &.modal-dialog-left {
346
330
  transform: translateX(-100%);
347
331
  transition: transform 0.3s ease-in-out;
@@ -370,28 +354,12 @@
370
354
  }
371
355
  }
372
356
 
373
- //small - tablet
374
- @include media-breakpoint-up(sm) {
375
- .modal {
376
- //Popconfirm variation
377
- &.popconfirm-modal {
378
- .modal-dialog {
379
- .modal-body {
380
- p {
381
- font-size: $modal-popconfirm-p-size;
382
- }
383
- }
384
- }
385
- }
386
- }
387
- }
388
-
389
- //Tablet vertical
357
+ // Device tablet vertical
390
358
  @include media-breakpoint-up(md) {
391
359
  .modal {
392
360
  .modal-dialog {
393
- margin-left: auto;
394
361
  margin-right: auto;
362
+ margin-left: auto;
395
363
  &.modal-dialog-left {
396
364
  margin: 0;
397
365
  .modal-content {
@@ -416,60 +384,3 @@
416
384
  }
417
385
  }
418
386
  }
419
-
420
- //Tablet horizontal / small desktop
421
- @include media-breakpoint-up(lg) {
422
- //modal
423
-
424
- //alert variation
425
- .alert-modal {
426
- .modal-dialog {
427
- .modal-content {
428
- .modal-body {
429
- p {
430
- padding-left: $modal-alert-p-distance;
431
- }
432
- }
433
- }
434
- }
435
- }
436
- }
437
-
438
- .modal-content,
439
- .modal-header {
440
- @include border-radius($reset-border-radius);
441
- }
442
-
443
- // Modal body
444
- // Where all modal content resides (sibling of .modal-header and .modal-footer)
445
- .modal-body {
446
- position: relative;
447
- // Enable `flex-grow: 1` so that the body take up as much space as possible
448
- // when there should be a fixed height on `.modal-dialog`.
449
- flex: 1 1 auto;
450
- padding: var(--#{$prefix}modal-padding);
451
- color: $color-text-base;
452
- }
453
-
454
- .modal-footer {
455
- position: relative;
456
- display: flex;
457
- flex-shrink: 0;
458
- flex-wrap: wrap;
459
- align-items: center; // vertically center
460
- justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items
461
- padding: calc(var(--#{$prefix}modal-padding) - var(--#{$prefix}modal-footer-gap) * 0.5);
462
- background-color: var(--#{$prefix}modal-footer-bg);
463
- border-top: var(--#{$prefix}modal-footer-border-width) solid var(--#{$prefix}modal-footer-border-color);
464
- @include border-bottom-radius(var(--#{$prefix}modal-inner-border-radius));
465
-
466
- // Place margin between footer elements
467
- // This solution is far from ideal because of the universal selector usage,
468
- // but is needed to fix https://github.com/twbs/bootstrap/issues/24800
469
- > * {
470
- margin: calc(var(--#{$prefix}modal-footer-gap) * 0.5); // Todo in v6: replace with gap on parent class
471
- }
472
- &.modal-footer-shadow {
473
- box-shadow: 0 15px 25px 5px rgb(0, 0, 0, 0.3);
474
- }
475
- }
@@ -1,46 +1,50 @@
1
- // Base class
1
+ // Component: nav
2
+ //
3
+ // Description: Component styles for nav
4
+ //
5
+
6
+ // Variables
7
+ //
8
+
9
+ // Properties
2
10
  //
3
- // Kickstart any navigation component with a set of style resets. Works with
4
- // `<nav>`s, `<ul>`s or `<ol>`s.
5
11
 
6
12
  .nav {
7
- // scss-docs-start nav-css-vars
8
- --#{$prefix}nav-link-padding-x: #{$nav-link-padding-x};
9
- --#{$prefix}nav-link-padding-y: #{$nav-link-padding-y};
10
- @include rfs($nav-link-font-size, --#{$prefix}nav-link-font-size);
11
- --#{$prefix}nav-link-font-weight: #{$nav-link-font-weight};
12
- --#{$prefix}nav-link-color: #{$nav-link-color};
13
- --#{$prefix}nav-link-hover-color: #{$nav-link-hover-color};
14
- --#{$prefix}nav-link-disabled-color: #{$nav-link-disabled-color};
15
- // scss-docs-end nav-css-vars
13
+ --#{$prefix}nav-link-disabled-color: var(--#{$prefix}color-text-disabled); // Controls the disabled link color for the nav, using color tokens.
14
+ --#{$prefix}nav-link-padding-x: var(--#{$prefix}spacing-s); // Controls the horizontal padding for nav links, using spacing tokens.
15
+ --#{$prefix}nav-link-padding-y: var(--#{$prefix}spacing-s); // Controls the vertical padding for nav links, using spacing tokens.
16
+ }
16
17
 
18
+ // Styles
19
+ //
20
+ /* stylelint-disable-next-line no-duplicate-selectors */
21
+ .nav {
17
22
  display: flex;
18
23
  flex-wrap: wrap;
19
- padding-left: 0;
20
24
  margin-bottom: 0;
25
+ padding-left: 0;
21
26
  list-style: none;
22
27
  }
23
28
 
24
29
  .nav-link {
25
30
  display: block;
26
- padding: var(--#{$prefix}nav-link-padding-y) var(--#{$prefix}nav-link-padding-x);
27
- @include font-size(var(--#{$prefix}nav-link-font-size));
28
- font-weight: var(--#{$prefix}nav-link-font-weight);
29
- color: var(--#{$prefix}nav-link-color);
30
- text-decoration: if($link-decoration == none, null, none);
31
- @include transition($nav-link-transition);
32
-
33
- &:hover,
34
- &:focus {
35
- color: var(--#{$prefix}nav-link-hover-color);
36
- text-decoration: if($link-hover-decoration == underline, none, null);
31
+ color: var(--#{$prefix}navbar-link-color);
32
+ font-size: var(--#{$prefix}navbar-link-font-size);
33
+ font-weight: var(--#{$prefix}navbar-link-font-weight);
34
+ line-height: var(--#{$prefix}navbar-link-line-height);
35
+ text-decoration: none;
36
+
37
+ &:hover {
38
+ color: var(--#{$prefix}navbar-link-color);
39
+ text-decoration: underline;
40
+ text-underline-offset: 2px;
37
41
  }
38
42
 
39
43
  // Disabled state lightens text
40
44
  &.disabled {
41
- color: var(--#{$prefix}nav-link-disabled-color);
45
+ opacity: var(--#{$prefix}navbar-disable-item-opacity);
46
+ cursor: not-allowed;
42
47
  pointer-events: none;
43
- cursor: default;
44
48
  }
45
49
  }
46
50
 
@@ -50,43 +54,43 @@
50
54
 
51
55
  .nav-tabs {
52
56
  // scss-docs-start nav-tabs-css-vars
53
- --#{$prefix}nav-tabs-border-width: #{$nav-tabs-border-width};
54
57
  --#{$prefix}nav-tabs-border-color: #{$nav-tabs-border-color};
55
58
  --#{$prefix}nav-tabs-border-radius: #{$nav-tabs-border-radius};
56
- --#{$prefix}nav-tabs-link-hover-border-color: #{$nav-tabs-link-hover-border-color};
57
- --#{$prefix}nav-tabs-link-active-color: #{$nav-tabs-link-active-color};
59
+ --#{$prefix}nav-tabs-border-width: #{$nav-tabs-border-width};
58
60
  --#{$prefix}nav-tabs-link-active-bg: #{$nav-tabs-link-active-bg};
61
+ --#{$prefix}nav-tabs-link-active-color: #{$nav-tabs-link-active-color};
59
62
  --#{$prefix}nav-tabs-link-active-border-color: #{$nav-tabs-link-active-border-color};
63
+ --#{$prefix}nav-tabs-link-hover-border-color: #{$nav-tabs-link-hover-border-color};
60
64
  // scss-docs-end nav-tabs-css-vars
61
65
 
62
66
  border-bottom: var(--#{$prefix}nav-tabs-border-width) solid var(--#{$prefix}nav-tabs-border-color);
63
67
 
64
68
  .nav-link {
65
69
  margin-bottom: calc(-1 * var(--#{$prefix}nav-tabs-border-width)); // stylelint-disable-line function-disallowed-list
66
- background: none;
67
70
  border: var(--#{$prefix}nav-tabs-border-width) solid transparent;
71
+ background: none;
68
72
  @include border-top-radius(var(--#{$prefix}nav-tabs-border-radius));
69
73
 
70
74
  &:hover,
71
75
  &:focus {
76
+ border-color: var(--#{$prefix}nav-tabs-link-hover-border-color);
72
77
  // Prevents active .nav-link tab overlapping focus outline of previous/next .nav-link
73
78
  isolation: isolate;
74
- border-color: var(--#{$prefix}nav-tabs-link-hover-border-color);
75
79
  }
76
80
 
77
81
  &.disabled,
78
82
  &:disabled {
79
- color: var(--#{$prefix}nav-link-disabled-color);
80
- background-color: transparent;
81
83
  border-color: transparent;
84
+ background-color: transparent;
85
+ color: var(--#{$prefix}nav-link-disabled-color);
82
86
  }
83
87
  }
84
88
 
85
89
  .nav-link.active,
86
90
  .nav-item.show .nav-link {
87
- color: var(--#{$prefix}nav-tabs-link-active-color);
88
- background-color: var(--#{$prefix}nav-tabs-link-active-bg);
89
91
  border-color: var(--#{$prefix}nav-tabs-link-active-border-color);
92
+ background-color: var(--#{$prefix}nav-tabs-link-active-bg);
93
+ color: var(--#{$prefix}nav-tabs-link-active-color);
90
94
  }
91
95
 
92
96
  .dropdown-menu {
@@ -102,21 +106,19 @@
102
106
  //
103
107
 
104
108
  .nav-pills {
105
- // scss-docs-start nav-pills-css-vars
106
109
  --#{$prefix}nav-pills-border-radius: #{$nav-pills-border-radius};
107
- --#{$prefix}nav-pills-link-active-color: #{$nav-pills-link-active-color};
108
110
  --#{$prefix}nav-pills-link-active-bg: #{$nav-pills-link-active-bg};
109
- // scss-docs-end nav-pills-css-vars
111
+ --#{$prefix}nav-pills-link-active-color: #{$nav-pills-link-active-color};
110
112
 
111
113
  .nav-link {
112
- background: none;
113
114
  border: 0;
115
+ background: none;
114
116
  @include border-radius(var(--#{$prefix}nav-pills-border-radius));
115
117
 
116
118
  &:disabled {
117
- color: var(--#{$prefix}nav-link-disabled-color);
118
- background-color: transparent;
119
119
  border-color: transparent;
120
+ background-color: transparent;
121
+ color: var(--#{$prefix}nav-link-disabled-color);
120
122
  }
121
123
  }
122
124