@coreui/coreui 5.0.0-alpha.0 → 5.0.0-alpha.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 (207) hide show
  1. package/LICENSE +5 -5
  2. package/README.md +2 -2
  3. package/dist/css/coreui-grid.css +34 -192
  4. package/dist/css/coreui-grid.css.map +1 -1
  5. package/dist/css/coreui-grid.min.css +3 -3
  6. package/dist/css/coreui-grid.min.css.map +1 -1
  7. package/dist/css/coreui-grid.rtl.css +118 -275
  8. package/dist/css/coreui-grid.rtl.css.map +1 -1
  9. package/dist/css/coreui-grid.rtl.min.css +3 -3
  10. package/dist/css/coreui-grid.rtl.min.css.map +1 -1
  11. package/dist/css/coreui-reboot.css +166 -148
  12. package/dist/css/coreui-reboot.css.map +1 -1
  13. package/dist/css/coreui-reboot.min.css +3 -3
  14. package/dist/css/coreui-reboot.min.css.map +1 -1
  15. package/dist/css/coreui-reboot.rtl.css +170 -156
  16. package/dist/css/coreui-reboot.rtl.css.map +1 -1
  17. package/dist/css/coreui-reboot.rtl.min.css +3 -3
  18. package/dist/css/coreui-reboot.rtl.min.css.map +1 -1
  19. package/dist/css/coreui-utilities.css +653 -427
  20. package/dist/css/coreui-utilities.css.map +1 -1
  21. package/dist/css/coreui-utilities.min.css +3 -3
  22. package/dist/css/coreui-utilities.min.css.map +1 -1
  23. package/dist/css/coreui-utilities.rtl.css +824 -703
  24. package/dist/css/coreui-utilities.rtl.css.map +1 -1
  25. package/dist/css/coreui-utilities.rtl.min.css +3 -3
  26. package/dist/css/coreui-utilities.rtl.min.css.map +1 -1
  27. package/dist/css/coreui.css +2082 -1790
  28. package/dist/css/coreui.css.map +1 -1
  29. package/dist/css/coreui.min.css +3 -3
  30. package/dist/css/coreui.min.css.map +1 -1
  31. package/dist/css/coreui.rtl.css +2333 -2213
  32. package/dist/css/coreui.rtl.css.map +1 -1
  33. package/dist/css/coreui.rtl.min.css +3 -3
  34. package/dist/css/coreui.rtl.min.css.map +1 -1
  35. package/dist/js/coreui.bundle.js +313 -292
  36. package/dist/js/coreui.bundle.js.map +1 -1
  37. package/dist/js/coreui.bundle.min.js +2 -2
  38. package/dist/js/coreui.bundle.min.js.map +1 -1
  39. package/dist/js/coreui.esm.js +273 -246
  40. package/dist/js/coreui.esm.js.map +1 -1
  41. package/dist/js/coreui.esm.min.js +2 -2
  42. package/dist/js/coreui.esm.min.js.map +1 -1
  43. package/dist/js/coreui.js +276 -248
  44. package/dist/js/coreui.js.map +1 -1
  45. package/dist/js/coreui.min.js +2 -2
  46. package/dist/js/coreui.min.js.map +1 -1
  47. package/js/dist/alert.js +7 -6
  48. package/js/dist/alert.js.map +1 -1
  49. package/js/dist/base-component.js +8 -7
  50. package/js/dist/base-component.js.map +1 -1
  51. package/js/dist/button.js +7 -6
  52. package/js/dist/button.js.map +1 -1
  53. package/js/dist/carousel.js +8 -7
  54. package/js/dist/carousel.js.map +1 -1
  55. package/js/dist/collapse.js +7 -6
  56. package/js/dist/collapse.js.map +1 -1
  57. package/js/dist/dom/data.js +3 -3
  58. package/js/dist/dom/data.js.map +1 -1
  59. package/js/dist/dom/event-handler.js +7 -7
  60. package/js/dist/dom/event-handler.js.map +1 -1
  61. package/js/dist/dom/manipulator.js +4 -4
  62. package/js/dist/dom/manipulator.js.map +1 -1
  63. package/js/dist/dom/selector-engine.js +4 -3
  64. package/js/dist/dom/selector-engine.js.map +1 -1
  65. package/js/dist/dropdown.js +10 -9
  66. package/js/dist/dropdown.js.map +1 -1
  67. package/js/dist/modal.js +9 -10
  68. package/js/dist/modal.js.map +1 -1
  69. package/js/dist/navigation.js +7 -6
  70. package/js/dist/navigation.js.map +1 -1
  71. package/js/dist/offcanvas.js +11 -10
  72. package/js/dist/offcanvas.js.map +1 -1
  73. package/js/dist/popover.js +7 -6
  74. package/js/dist/popover.js.map +1 -1
  75. package/js/dist/scrollspy.js +9 -8
  76. package/js/dist/scrollspy.js.map +1 -1
  77. package/js/dist/sidebar.js +7 -6
  78. package/js/dist/sidebar.js.map +1 -1
  79. package/js/dist/tab.js +21 -12
  80. package/js/dist/tab.js.map +1 -1
  81. package/js/dist/toast.js +7 -6
  82. package/js/dist/toast.js.map +1 -1
  83. package/js/dist/tooltip.js +12 -11
  84. package/js/dist/tooltip.js.map +1 -1
  85. package/js/dist/util/backdrop.js +8 -7
  86. package/js/dist/util/backdrop.js.map +1 -1
  87. package/js/dist/util/component-functions.js +8 -7
  88. package/js/dist/util/component-functions.js.map +1 -1
  89. package/js/dist/util/config.js +8 -7
  90. package/js/dist/util/config.js.map +1 -1
  91. package/js/dist/util/focustrap.js +4 -3
  92. package/js/dist/util/focustrap.js.map +1 -1
  93. package/js/dist/util/index.js +3 -3
  94. package/js/dist/util/index.js.map +1 -1
  95. package/js/dist/util/sanitizer.js +28 -30
  96. package/js/dist/util/sanitizer.js.map +1 -1
  97. package/js/dist/util/scrollbar.js +8 -7
  98. package/js/dist/util/scrollbar.js.map +1 -1
  99. package/js/dist/util/swipe.js +8 -7
  100. package/js/dist/util/swipe.js.map +1 -1
  101. package/js/dist/util/template-factory.js +8 -7
  102. package/js/dist/util/template-factory.js.map +1 -1
  103. package/js/index.esm.js +21 -0
  104. package/js/index.umd.js +38 -0
  105. package/js/src/alert.js +3 -3
  106. package/js/src/base-component.js +3 -3
  107. package/js/src/button.js +4 -3
  108. package/js/src/carousel.js +6 -6
  109. package/js/src/collapse.js +4 -4
  110. package/js/src/dom/data.js +2 -2
  111. package/js/src/dom/event-handler.js +4 -5
  112. package/js/src/dom/manipulator.js +3 -3
  113. package/js/src/dom/selector-engine.js +2 -2
  114. package/js/src/dropdown.js +8 -8
  115. package/js/src/modal.js +8 -9
  116. package/js/src/navigation.js +3 -3
  117. package/js/src/offcanvas.js +11 -11
  118. package/js/src/popover.js +2 -2
  119. package/js/src/scrollspy.js +5 -5
  120. package/js/src/sidebar.js +4 -4
  121. package/js/src/tab.js +19 -9
  122. package/js/src/toast.js +3 -3
  123. package/js/src/tooltip.js +9 -9
  124. package/js/src/util/backdrop.js +3 -3
  125. package/js/src/util/component-functions.js +3 -3
  126. package/js/src/util/config.js +3 -3
  127. package/js/src/util/focustrap.js +2 -2
  128. package/js/src/util/index.js +2 -2
  129. package/js/src/util/sanitizer.js +40 -43
  130. package/js/src/util/scrollbar.js +3 -3
  131. package/js/src/util/swipe.js +3 -3
  132. package/js/src/util/template-factory.js +4 -5
  133. package/package.json +51 -45
  134. package/scss/_alert.scss +5 -5
  135. package/scss/_avatar.scss +4 -4
  136. package/scss/_badge.scss +11 -1
  137. package/scss/_breadcrumb.scss +9 -4
  138. package/scss/_button-group.scss +4 -4
  139. package/scss/_buttons.scss +38 -71
  140. package/scss/_callout.scss +2 -2
  141. package/scss/_card.scss +4 -3
  142. package/scss/_carousel.scss +9 -3
  143. package/scss/_close.scss +3 -0
  144. package/scss/_dropdown.scss +14 -14
  145. package/scss/_functions.scss +59 -0
  146. package/scss/_grid.scss +8 -0
  147. package/scss/_header.scss +186 -0
  148. package/scss/_helpers.scss +2 -0
  149. package/scss/_images.scss +3 -3
  150. package/scss/_list-group.scss +12 -19
  151. package/scss/_maps.scss +75 -21
  152. package/scss/_mixins.scss +6 -4
  153. package/scss/_modal.scss +2 -2
  154. package/scss/_nav.scss +8 -20
  155. package/scss/_navbar.scss +11 -8
  156. package/scss/_offcanvas.scss +8 -8
  157. package/scss/_pagination.scss +2 -2
  158. package/scss/_progress.scss +43 -0
  159. package/scss/_reboot.scss +23 -25
  160. package/scss/_root.scss +70 -63
  161. package/scss/_sidebar.scss +0 -11
  162. package/scss/_tables.scss +18 -11
  163. package/scss/_toasts.scss +2 -2
  164. package/scss/_tooltip.scss +14 -15
  165. package/scss/_type.scss +1 -1
  166. package/scss/_utilities.scss +117 -65
  167. package/scss/_variables-dark.scss +112 -61
  168. package/scss/_variables.scss +401 -268
  169. package/scss/coreui-grid.rtl.scss +4 -0
  170. package/scss/coreui-grid.scss +2 -5
  171. package/scss/coreui-reboot.rtl.scss +4 -0
  172. package/scss/coreui-reboot.scss +1 -1
  173. package/scss/coreui-utilities.rtl.scss +4 -0
  174. package/scss/coreui-utilities.scss +1 -1
  175. package/scss/coreui.rtl.scss +4 -0
  176. package/scss/coreui.scss +3 -3
  177. package/scss/forms/_floating-labels.scss +21 -16
  178. package/scss/forms/_form-check.scss +41 -20
  179. package/scss/forms/_form-control.scss +18 -5
  180. package/scss/forms/_form-range.scss +3 -3
  181. package/scss/forms/_form-select.scss +7 -8
  182. package/scss/forms/_input-group.scss +5 -5
  183. package/scss/helpers/_color-bg.scss +13 -4
  184. package/scss/helpers/_colored-links.scss +20 -2
  185. package/scss/helpers/_focus-ring.scss +5 -0
  186. package/scss/helpers/_icon-link.scss +25 -0
  187. package/scss/helpers/_ratio.scss +1 -1
  188. package/scss/helpers/_vr.scss +2 -1
  189. package/scss/mixins/_alert.scss +1 -1
  190. package/scss/mixins/_banner.scss +3 -3
  191. package/scss/mixins/_border-radius.scss +7 -7
  192. package/scss/mixins/_buttons.scss +53 -49
  193. package/scss/mixins/_caret.scss +3 -3
  194. package/scss/mixins/_forms.scss +7 -7
  195. package/scss/mixins/_grid.scss +1 -1
  196. package/scss/mixins/_list-group.scss +12 -20
  197. package/scss/mixins/_lists.scss +1 -1
  198. package/scss/mixins/_ltr-rtl.scss +87 -0
  199. package/scss/mixins/_utilities.scss +6 -1
  200. package/scss/mixins/_visually-hidden.scss +5 -1
  201. package/scss/sidebar/_sidebar-narrow.scss +37 -17
  202. package/scss/sidebar/_sidebar-nav.scss +115 -20
  203. package/scss/sidebar/_sidebar.scss +98 -139
  204. package/scss/vendor/_rfs.scss +24 -30
  205. package/scss/tests/mixins/_color-modes.test.scss +0 -69
  206. package/scss/tests/mixins/_utilities.test.scss +0 -393
  207. package/scss/tests/utilities/_api.test.scss +0 -75
@@ -1,16 +1,79 @@
1
1
  // Sidebar navigation
2
2
 
3
3
  .sidebar-nav {
4
+ // scss-docs-start sidebar-nav-css-vars
5
+ --#{$prefix}sidebar-nav-padding-x: #{$sidebar-nav-padding-x};
6
+ --#{$prefix}sidebar-nav-padding-y: #{$sidebar-nav-padding-y};
7
+
8
+ --#{$prefix}sidebar-nav-title-padding-x: #{$sidebar-nav-title-padding-x};
9
+ --#{$prefix}sidebar-nav-title-padding-y: #{$sidebar-nav-title-padding-y};
10
+ --#{$prefix}sidebar-nav-title-margin-top: #{$sidebar-nav-title-margin-top};
11
+ --#{$prefix}sidebar-nav-title-color: #{$sidebar-nav-title-color};
12
+
13
+ --#{$prefix}sidebar-nav-link-padding-x: #{$sidebar-nav-link-padding-x};
14
+ --#{$prefix}sidebar-nav-link-padding-y: #{$sidebar-nav-link-padding-y};
15
+ --#{$prefix}sidebar-nav-link-color: #{$sidebar-nav-link-color};
16
+ --#{$prefix}sidebar-nav-link-bg: #{$sidebar-nav-link-bg};
17
+ --#{$prefix}sidebar-nav-link-border-color: #{$sidebar-nav-link-border-color};
18
+ --#{$prefix}sidebar-nav-link-border-radius: #{$sidebar-nav-link-border-radius};
19
+ --#{$prefix}sidebar-nav-link-border-width: #{$sidebar-nav-link-border-width};
20
+
21
+ --#{$prefix}sidebar-nav-link-active-color: #{$sidebar-nav-link-active-color};
22
+ --#{$prefix}sidebar-nav-link-active-bg: #{$sidebar-nav-link-active-bg};
23
+ --#{$prefix}sidebar-nav-link-disabled-color: #{$sidebar-nav-link-disabled-color};
24
+ --#{$prefix}sidebar-nav-link-hover-color: #{$sidebar-nav-link-hover-color};
25
+ --#{$prefix}sidebar-nav-link-hover-bg: #{$sidebar-nav-link-hover-bg};
26
+
27
+ --#{$prefix}sidebar-nav-link-icon-margin: #{$sidebar-nav-link-icon-margin};
28
+ --#{$prefix}sidebar-nav-link-icon-color: #{$sidebar-nav-link-icon-color};
29
+ --#{$prefix}sidebar-nav-link-icon-width: #{$sidebar-nav-link-icon-width};
30
+ --#{$prefix}sidebar-nav-link-icon-height: #{$sidebar-nav-link-icon-height};
31
+ --#{$prefix}sidebar-nav-link-icon-font-size: #{$sidebar-nav-link-icon-font-size};
32
+ --#{$prefix}sidebar-nav-link-active-icon-color: #{$sidebar-nav-link-active-icon-color};
33
+ --#{$prefix}sidebar-nav-link-disabled-icon-color: #{$sidebar-nav-link-disabled-icon-color};
34
+ --#{$prefix}sidebar-nav-link-hover-icon-color: #{$sidebar-nav-link-hover-icon-color};
35
+
36
+ --#{$prefix}sidebar-nav-link-icon-bullet-size: #{$sidebar-nav-link-icon-bullet-size};
37
+ --#{$prefix}sidebar-nav-link-icon-bullet-bg: #{$sidebar-nav-link-icon-bullet-bg};
38
+ --#{$prefix}sidebar-nav-link-icon-bullet-border-width: #{$sidebar-nav-link-icon-bullet-border-width};
39
+ --#{$prefix}sidebar-nav-link-icon-bullet-border-radius: #{$sidebar-nav-link-icon-bullet-border-radius};
40
+ --#{$prefix}sidebar-nav-link-icon-bullet-border-color: #{$sidebar-nav-link-icon-bullet-border-color};
41
+ --#{$prefix}sidebar-nav-link-active-icon-bullet-bg: #{$sidebar-nav-link-active-icon-bullet-bg};
42
+ --#{$prefix}sidebar-nav-link-active-icon-bullet-border-color: #{$sidebar-nav-link-active-icon-bullet-border-color};
43
+ --#{$prefix}sidebar-nav-link-disabled-icon-bullet-bg: #{$sidebar-nav-link-disabled-icon-bullet-bg};
44
+ --#{$prefix}sidebar-nav-link-disabled-icon-bullet-border-color: #{$sidebar-nav-link-disabled-icon-bullet-border-color};
45
+ --#{$prefix}sidebar-nav-link-hover-icon-bullet-bg: #{$sidebar-nav-link-hover-icon-bullet-bg};
46
+ --#{$prefix}sidebar-nav-link-hover-icon-bullet-border-color: #{$sidebar-nav-link-hover-icon-bullet-border-color};
47
+
48
+ --#{$prefix}sidebar-nav-group-bg: #{$sidebar-nav-group-bg};
49
+ --#{$prefix}sidebar-nav-group-border-width: #{$sidebar-nav-group-border-width};
50
+ --#{$prefix}sidebar-nav-group-border-radius: #{$sidebar-nav-group-border-radius};
51
+ --#{$prefix}sidebar-nav-group-border-color: #{$sidebar-nav-group-border-color};
52
+ --#{$prefix}sidebar-nav-group-items-padding-y: #{$sidebar-nav-group-items-padding-y};
53
+ --#{$prefix}sidebar-nav-group-items-padding-x: #{$sidebar-nav-group-items-padding-x};
54
+ --#{$prefix}sidebar-nav-group-indicator-color: #{escape-svg($sidebar-nav-group-indicator-color)};
55
+ --#{$prefix}sidebar-nav-group-indicator-icon: #{escape-svg($sidebar-nav-group-indicator-icon)};
56
+ --#{$prefix}sidebar-nav-group-indicator-hover-color: #{escape-svg($sidebar-nav-group-indicator-hover-color)};
57
+ --#{$prefix}sidebar-nav-group-indicator-hover-icon: #{escape-svg($sidebar-nav-group-indicator-hover-icon)};
58
+ --#{$prefix}sidebar-nav-group-toggle-show-color: #{$sidebar-nav-group-toggle-show-color};
59
+ // scss-docs-end sidebar-nav-css-vars
60
+
4
61
  position: relative;
5
62
  display: flex;
6
63
  flex: 1;
7
64
  flex-direction: column;
8
- padding: 0;
65
+ padding: var(--#{$prefix}sidebar-nav-padding-y) var(--#{$prefix}sidebar-nav-padding-x);
9
66
  margin-bottom: 0;
10
67
  overflow-x: hidden;
11
68
  overflow-y: auto;
12
69
  list-style: none;
13
70
 
71
+ .nav-item + .nav-item,
72
+ .nav-item + .nav-group,
73
+ .nav-group + .nav-item {
74
+ margin-top: 1px;
75
+ }
76
+
14
77
  .nav-title {
15
78
  padding: var(--#{$prefix}sidebar-nav-title-padding-y) var(--#{$prefix}sidebar-nav-title-padding-x);
16
79
  margin-top: var(--#{$prefix}sidebar-nav-title-margin-top);
@@ -30,7 +93,7 @@
30
93
  text-decoration: none;
31
94
  white-space: nowrap;
32
95
  background: var(--#{$prefix}sidebar-nav-link-bg);
33
- border: var(--#{$prefix}sidebar-nav-link-border);
96
+ border: var(--#{$prefix}sidebar-nav-link-border-width) solid var(--#{$prefix}sidebar-nav-link-border-color);
34
97
  @include border-radius(var(--#{$prefix}sidebar-nav-link-border-radius));
35
98
  @include transition($sidebar-nav-link-transition);
36
99
 
@@ -41,6 +104,11 @@
41
104
  .nav-icon {
42
105
  color: var(--#{$prefix}sidebar-nav-link-active-icon-color);
43
106
  }
107
+
108
+ .nav-icon-bullet {
109
+ background: var(--#{$prefix}sidebar-link-active-icon-bullet-bg);
110
+ border-color: var(--#{$prefix}sidebar-link-active-icon-bullet-border-color);
111
+ }
44
112
  }
45
113
 
46
114
  &.disabled {
@@ -53,6 +121,11 @@
53
121
  color: var(--#{$prefix}sidebar-nav-link-disabled-icon-color);
54
122
  }
55
123
 
124
+ .nav-icon-bullet {
125
+ background: var(--#{$prefix}sidebar-link-disabled-icon-bullet-bg);
126
+ border-color: var(--#{$prefix}sidebar-link-disabled-icon-bullet-border-color);
127
+ }
128
+
56
129
  &:hover {
57
130
  color: var(--#{$prefix}sidebar-nav-link-disabled-color);
58
131
 
@@ -60,8 +133,14 @@
60
133
  color: var(--#{$prefix}sidebar-nav-link-disabled-icon-color);
61
134
  }
62
135
 
136
+ .nav-icon-bullet {
137
+ background: var(--#{$prefix}sidebar-link-disabled-icon-bullet-bg);
138
+ border-color: var(--#{$prefix}sidebar-link-disabled-icon-bullet-border-color);
139
+ }
140
+
63
141
  &.nav-dropdown-toggle::after {
64
- background-image: var(--#{$prefix}sidebar-nav-group-indicator-hover);
142
+ mask-image: var(--#{$prefix}sidebar-nav-group-indicator-hover-icon);
143
+ background-color: var(--#{$prefix}sidebar-nav-group-indicator-hover-color);
65
144
  }
66
145
  }
67
146
  }
@@ -76,27 +155,43 @@
76
155
  color: var(--#{$prefix}sidebar-nav-link-hover-icon-color);
77
156
  }
78
157
 
158
+ .nav-icon-bullet {
159
+ background: var(--#{$prefix}sidebar-link-hover-icon-bullet-bg);
160
+ border-color: var(--#{$prefix}sidebar-link-hover-icon-bullet-border-color);
161
+ }
162
+
79
163
  &.nav-group-toggle::after {
80
- background-image: var(--#{$prefix}sidebar-nav-group-indicator-hover);
164
+ mask-image: var(--#{$prefix}sidebar-nav-group-indicator-hover-icon);
165
+ background-color: var(--#{$prefix}sidebar-nav-group-indicator-hover-color);
81
166
  }
82
167
  }
83
168
  }
84
169
  }
85
170
 
86
171
  .nav-icon {
87
- flex: 0 0 var(--#{$prefix}sidebar-nav-icon-width);
88
- height: var(--#{$prefix}sidebar-nav-icon-height);
89
- font-size: var(--#{$prefix}sidebar-nav-icon-font-size);
172
+ display: flex;
173
+ flex: 0 0 var(--#{$prefix}sidebar-nav-link-icon-width);
174
+ align-items: center;
175
+ justify-content: center;
176
+ height: var(--#{$prefix}sidebar-nav-link-icon-height);
177
+ @include ltr-rtl("margin-right", var(--#{$prefix}sidebar-nav-link-icon-margin));
178
+ font-size: var(--#{$prefix}sidebar-nav-link-icon-font-size);
90
179
  color: var(--#{$prefix}sidebar-nav-link-icon-color);
91
180
  text-align: center;
92
181
  pointer-events: none;
93
182
  fill: currentcolor;
94
183
  @include transition(inherit);
184
+ }
95
185
 
96
- &:first-child {
97
- margin-left: calc(var(--#{$prefix}sidebar-nav-link-padding-x) * -1); // stylelint-disable-line function-disallowed-list
98
- }
186
+ .nav-icon-bullet {
187
+ display: inline-block;
188
+ width: var(--#{$prefix}sidebar-nav-link-icon-bullet-size);
189
+ height: var(--#{$prefix}sidebar-nav-link-icon-bullet-size);
190
+ background: var(--#{$prefix}sidebar-nav-link-icon-bullet-bg);
191
+ border: var(--#{$prefix}sidebar-nav-link-icon-bullet-border-width) solid var(--#{$prefix}sidebar-nav-link-icon-bullet-border-color);
192
+ border-radius: var(--#{$prefix}sidebar-nav-link-icon-bullet-border-radius); // stylelint-disable-line property-disallowed-list
99
193
  }
194
+
100
195
  // stylelint-disable-next-line selector-no-qualifying-type
101
196
  svg.nav-icon {
102
197
  overflow: hidden; // fix chrome 105+ width issue
@@ -104,6 +199,8 @@
104
199
 
105
200
  .nav-group {
106
201
  position: relative;
202
+ border: var(--#{$prefix}sidebar-nav-group-border-width) solid var(--#{$prefix}sidebar-nav-group-border-color);
203
+ @include border-radius(var(--#{$prefix}sidebar-nav-group-border-radius));
107
204
  @include transition($sidebar-nav-group-transition);
108
205
 
109
206
  .nav-group-items {
@@ -140,11 +237,10 @@
140
237
  display: block;
141
238
  flex: 0 12px;
142
239
  height: 12px;
143
- margin-left: auto;
240
+ @include ltr-rtl("margin-left", auto);
144
241
  content: "";
145
- background-image: var(--#{$prefix}sidebar-nav-group-indicator);
146
- background-repeat: no-repeat;
147
- background-position: center;
242
+ mask-image: var(--#{$prefix}sidebar-nav-group-indicator-icon);
243
+ background-color: var(--#{$prefix}sidebar-nav-group-indicator-color);
148
244
  @include transition($sidebar-nav-group-indicator-transition);
149
245
  }
150
246
  }
@@ -154,19 +250,18 @@
154
250
  list-style: none;
155
251
 
156
252
  .nav-link {
157
- padding-left: var(--#{$prefix}sidebar-nav-icon-width);
253
+ @include ltr-rtl("padding-left", calc(var(--#{$prefix}sidebar-nav-link-padding-x) + var(--#{$prefix}sidebar-nav-link-icon-width) + var(--#{$prefix}sidebar-nav-link-icon-margin)));
254
+ }
158
255
 
159
- .nav-icon {
160
- margin-left: calc(var(--#{$prefix}sidebar-nav-icon-width) * -1); // stylelint-disable-line function-disallowed-list
161
- }
256
+ .nav-icon {
257
+ @include ltr-rtl("margin-left", calc((var(--#{$prefix}sidebar-nav-link-icon-width) + var(--#{$prefix}sidebar-nav-link-icon-margin)) * -1));
162
258
  }
163
259
  }
164
260
 
165
261
  &.compact,
166
262
  .compact {
167
263
  .nav-link {
168
- padding-top: calc(var(--#{$prefix}sidebar-nav-link-padding-y) * .5); // stylelint-disable-line function-disallowed-list
169
- padding-bottom: calc(var(--#{$prefix}sidebar-nav-link-padding-y) * .5); // stylelint-disable-line function-disallowed-list
264
+ --#{$prefix}sidebar-nav-link-padding-y: #{calc($sidebar-nav-link-padding-y * .75)};
170
265
  }
171
266
  }
172
267
  }
@@ -1,3 +1,5 @@
1
+ // stylelint-disable function-disallowed-list
2
+
1
3
  .sidebar {
2
4
  // scss-docs-start sidebar-css-vars
3
5
  --#{$prefix}sidebar-width: #{$sidebar-width};
@@ -5,58 +7,8 @@
5
7
  --#{$prefix}sidebar-padding-x: #{$sidebar-padding-x};
6
8
  --#{$prefix}sidebar-padding-y: #{$sidebar-padding-y};
7
9
  --#{$prefix}sidebar-color: #{$sidebar-color};
8
- --#{$prefix}sidebar-border-width: #{$sidebar-border-width};
9
- --#{$prefix}sidebar-border-color: #{$sidebar-border-color};
10
10
  --#{$prefix}sidebar-brand-color: #{$sidebar-brand-color};
11
- --#{$prefix}sidebar-brand-height: #{$sidebar-brand-height};
12
11
  --#{$prefix}sidebar-brand-bg: #{$sidebar-brand-bg};
13
- --#{$prefix}sidebar-header-height: #{$sidebar-header-height};
14
- --#{$prefix}sidebar-header-bg: #{$sidebar-header-bg};
15
- --#{$prefix}sidebar-header-padding-x: #{$sidebar-header-padding-x};
16
- --#{$prefix}sidebar-header-padding-y: #{$sidebar-header-padding-y};
17
- --#{$prefix}sidebar-footer-bg: #{$sidebar-footer-bg};
18
- --#{$prefix}sidebar-footer-height: #{$sidebar-footer-height};
19
- --#{$prefix}sidebar-footer-padding-x: #{$sidebar-footer-padding-x};
20
- --#{$prefix}sidebar-footer-padding-y: #{$sidebar-footer-padding-y};
21
- --#{$prefix}sidebar-toggler-bg: #{$sidebar-toggler-bg};
22
- --#{$prefix}sidebar-toggler-height: #{$sidebar-toggler-height};
23
- --#{$prefix}sidebar-toggler-indicator: #{escape-svg($sidebar-toggler-indicator-icon)};
24
- --#{$prefix}sidebar-toggler-indicator-width: #{$sidebar-toggler-indicator-width};
25
- --#{$prefix}sidebar-toggler-indicator-height: #{$sidebar-toggler-indicator-height};
26
- --#{$prefix}sidebar-toggler-hover-bg: #{$sidebar-toggler-hover-bg};
27
- --#{$prefix}sidebar-toggler-indicator-hover: #{escape-svg($sidebar-toggler-indicator-hover-icon)};
28
-
29
- --#{$prefix}sidebar-narrow-width: #{$sidebar-narrow-width};
30
-
31
- --#{$prefix}sidebar-nav-title-padding-x: #{$sidebar-nav-title-padding-x};
32
- --#{$prefix}sidebar-nav-title-padding-y: #{$sidebar-nav-title-padding-y};
33
- --#{$prefix}sidebar-nav-title-margin-top: #{$sidebar-nav-title-margin-top};
34
- --#{$prefix}sidebar-nav-title-color: #{$sidebar-nav-title-color};
35
- --#{$prefix}sidebar-nav-link-padding-x: #{$sidebar-nav-link-padding-x};
36
- --#{$prefix}sidebar-nav-link-padding-y: #{$sidebar-nav-link-padding-y};
37
- --#{$prefix}sidebar-nav-link-color: #{$sidebar-nav-link-color};
38
- --#{$prefix}sidebar-nav-link-bg: #{$sidebar-nav-link-bg};
39
- --#{$prefix}sidebar-nav-link-border-color: #{$sidebar-nav-link-border-color};
40
- --#{$prefix}sidebar-nav-link-border: #{$sidebar-nav-link-border-width} solid var(--#{$prefix}sidebar-nav-link-border-color);
41
- --#{$prefix}sidebar-nav-link-border-radius: #{$sidebar-nav-link-border-radius};
42
- --#{$prefix}sidebar-nav-link-active-color: #{$sidebar-nav-link-active-color};
43
- --#{$prefix}sidebar-nav-link-active-bg: #{$sidebar-nav-link-active-bg};
44
- --#{$prefix}sidebar-nav-link-active-icon-color: #{$sidebar-nav-link-active-icon-color};
45
- --#{$prefix}sidebar-nav-link-disabled-color: #{$sidebar-nav-link-disabled-color};
46
- --#{$prefix}sidebar-nav-link-disabled-icon-color: #{$sidebar-nav-link-disabled-icon-color};
47
- --#{$prefix}sidebar-nav-link-hover-color: #{$sidebar-nav-link-hover-color};
48
- --#{$prefix}sidebar-nav-link-hover-bg: #{$sidebar-nav-link-hover-bg};
49
- --#{$prefix}sidebar-nav-link-hover-icon-color: #{$sidebar-nav-link-hover-icon-color};
50
- --#{$prefix}sidebar-nav-icon-width: #{$sidebar-nav-icon-width};
51
- --#{$prefix}sidebar-nav-icon-height: #{$sidebar-nav-icon-height};
52
- --#{$prefix}sidebar-nav-icon-font-size: #{$sidebar-nav-icon-font-size};
53
- --#{$prefix}sidebar-nav-link-icon-color: #{$sidebar-nav-link-icon-color};
54
- --#{$prefix}sidebar-nav-group-bg: #{$sidebar-nav-group-bg};
55
- --#{$prefix}sidebar-nav-group-items-padding-y: #{$sidebar-nav-group-items-padding-y};
56
- --#{$prefix}sidebar-nav-group-items-padding-x: #{$sidebar-nav-group-items-padding-x};
57
- --#{$prefix}sidebar-nav-group-indicator: #{escape-svg($sidebar-nav-group-indicator-icon)};
58
- --#{$prefix}sidebar-nav-group-indicator-hover: #{escape-svg($sidebar-nav-group-indicator-hover-icon)};
59
- --#{$prefix}sidebar-nav-group-toggle-show-color: #{$sidebar-nav-group-toggle-show-color};
60
12
  // scss-docs-end sidebar-css-vars
61
13
 
62
14
  position: relative;
@@ -67,15 +19,13 @@
67
19
  // put the nav on the left
68
20
  order: -1;
69
21
  width: var(--#{$prefix}sidebar-width);
70
- padding: var(--#{$prefix}sidebar-padding-y) var(--#{$prefix}sidebar-padding-x);
71
22
  color: var(--#{$prefix}sidebar-color);
72
23
  background: var(--#{$prefix}sidebar-bg);
73
24
  box-shadow: none;
74
25
  @include transition($sidebar-transition);
75
26
 
76
27
  &:not(.sidebar-end){
77
- margin-left: 0;
78
- border-right: var(--#{$prefix}sidebar-border-width) solid var(--#{$prefix}sidebar-border-color);
28
+ @include ltr-rtl("margin-left", 0);
79
29
  ~ * {
80
30
  --#{$prefix}sidebar-occupy-start: #{$sidebar-width};
81
31
  }
@@ -83,17 +33,12 @@
83
33
 
84
34
  &.sidebar-end {
85
35
  order: 99;
86
- margin-right: 0;
87
- border-left: var(--#{$prefix}sidebar-border-width) solid var(--#{$prefix}sidebar-border-color);
36
+ @include ltr-rtl("margin-right", 0);
88
37
  ~ * {
89
38
  --#{$prefix}sidebar-occupy-end: #{$sidebar-width};
90
39
  }
91
40
  }
92
41
 
93
- &[class*="bg-"] {
94
- border-color: rgba($black, .1);
95
- }
96
-
97
42
  @each $width, $value in $sidebar-widths {
98
43
  &.sidebar-#{$width} {
99
44
  --#{$prefix}sidebar-width: #{$value};
@@ -115,13 +60,13 @@
115
60
  @include media-breakpoint-up($mobile-breakpoint) {
116
61
  &.hide {
117
62
  &:not(.sidebar-end){
118
- margin-left: calc(-1 * var(--#{$prefix}sidebar-width)); // stylelint-disable-line function-disallowed-list
63
+ @include ltr-rtl("margin-left", calc(-1 * var(--#{$prefix}sidebar-width)));
119
64
  ~ * {
120
65
  --#{$prefix}sidebar-occupy-start: 0;
121
66
  }
122
67
  }
123
68
  &.sidebar-end {
124
- margin-right: calc(-1 * var(--#{$prefix}sidebar-width)); // stylelint-disable-line function-disallowed-list
69
+ @include ltr-rtl("margin-right", calc(-1 * var(--#{$prefix}sidebar-width)));
125
70
  ~ * {
126
71
  --#{$prefix}sidebar-occupy-end: 0;
127
72
  }
@@ -137,11 +82,11 @@
137
82
  z-index: $zindex-fixed;
138
83
 
139
84
  &:not(.sidebar-end) {
140
- left: 0;
85
+ @include ltr-rtl("left", 0);
141
86
  }
142
87
 
143
88
  &.sidebar-end {
144
- right: 0;
89
+ @include ltr-rtl("right", 0);
145
90
  }
146
91
  }
147
92
  }
@@ -160,17 +105,21 @@
160
105
  bottom: 0;
161
106
  z-index: $zindex-fixed + 2;
162
107
 
108
+ &:not(.hide) {
109
+ box-shadow: $box-shadow;
110
+ }
111
+
163
112
  &:not(.sidebar-end) {
164
- left: 0;
113
+ @include ltr-rtl("left", 0);
165
114
  ~ * {
166
- --#{$prefix}sidebar-occupy-start: 0;
115
+ --#{$prefix}sidebar-occupy-start: 0 !important; // stylelint-disable-line
167
116
  }
168
117
  }
169
118
 
170
119
  &.sidebar-end {
171
- right: 0;
120
+ @include ltr-rtl("right", 0);
172
121
  ~ * {
173
- --#{$prefix}sidebar-occupy-end: 0;
122
+ --#{$prefix}sidebar-occupy-end: 0 !important; // stylelint-disable-line
174
123
  }
175
124
  }
176
125
  }
@@ -184,52 +133,31 @@
184
133
  z-index: $zindex-fixed + 1;
185
134
 
186
135
  &:not(.sidebar-end) {
187
- left: 0;
136
+ @include ltr-rtl("left", 0);
188
137
  ~ * {
189
138
  --#{$prefix}sidebar-occupy-start: 0 !important; // stylelint-disable-line
190
139
  }
191
140
 
192
141
  &:not(.show) {
193
- margin-left: calc(-1 * var(--#{$prefix}sidebar-width)); // stylelint-disable-line function-disallowed-list
142
+ @include ltr-rtl("margin-left", calc(-1 * var(--#{$prefix}sidebar-width)));
194
143
  }
195
144
  }
196
145
  &.sidebar-end {
197
- right: 0;
146
+ @include ltr-rtl("right", 0);
198
147
  ~ * {
199
148
  --#{$prefix}sidebar-occupy-end: 0 !important; // stylelint-disable-line
200
149
  }
201
150
 
202
151
  &:not(.show) {
203
- margin-right: calc(-1 * var(--#{$prefix}sidebar-width)); // stylelint-disable-line function-disallowed-list
152
+ @include ltr-rtl("margin-right", calc(-1 * var(--#{$prefix}sidebar-width)));
204
153
  }
205
154
  }
206
155
  }
207
156
  }
208
157
 
209
- .sidebar-close {
210
- position: absolute;
211
- top: 0;
212
- right: 0;
213
- width: var(--#{$prefix}sidebar-width);
214
- height: var(--#{$prefix}sidebar-header-height);
215
- color: var(--#{$prefix}sidebar-color);
216
- background: transparent;
217
- border: 0;
218
-
219
- &:hover {
220
- text-decoration: none;
221
- }
222
-
223
- &:focus {
224
- outline: 0;
225
- }
226
- }
227
-
228
158
  .sidebar-brand {
229
- display: flex;
230
- flex: 0 0 var(--#{$prefix}sidebar-brand-height);
231
159
  color: var(--#{$prefix}sidebar-brand-color);
232
- background: var(--#{$prefix}sidebar-brand-bg);
160
+ white-space: nowrap;
233
161
 
234
162
  .sidebar-brand-narrow {
235
163
  display: none;
@@ -237,75 +165,87 @@
237
165
  }
238
166
 
239
167
  .sidebar-header {
240
- flex: 0 0 var(--#{$prefix}sidebar-header-height);
241
- padding: var(--#{$prefix}sidebar-header-padding-y) var(--#{$prefix}sidebar-header-padding-x);
242
- text-align: center;
243
- background: var(--#{$prefix}sidebar-header-bg);
244
- @include transition($sidebar-header-height-transition);
245
-
246
- .nav-link {
247
- display: flex;
248
- align-items: center;
249
- min-height: var(--#{$prefix}sidebar-header-height);
168
+ display: flex;
169
+ align-items: center;
170
+ justify-content: space-between;
171
+ padding: var(--#{$prefix}sidebar-padding-y) var(--#{$prefix}sidebar-padding-x);
172
+
173
+ .btn-close {
174
+ padding: calc(var(--#{$prefix}sidebar-padding-y) * .5) calc(var(--#{$prefix}sidebar-padding-x) * .5);
175
+ margin-top: calc(-.5 * var(--#{$prefix}sidebar-padding-y));
176
+ @include ltr-rtl("margin-right", calc(-.5 * var(--#{$prefix}sidebar-padding-x)));
177
+ margin-bottom: calc(-.5 * var(--#{$prefix}sidebar-padding-y));
250
178
  }
251
179
  }
252
180
 
181
+ .sidebar-body {
182
+ padding: var(--#{$prefix}sidebar-padding-y) var(--#{$prefix}sidebar-padding-x);
183
+ }
184
+
253
185
  .sidebar-footer {
254
- flex: 0 0 var(--#{$prefix}sidebar-footer-height);
255
- padding: var(--#{$prefix}sidebar-footer-padding-y) var(--#{$prefix}sidebar-footer-padding-x);
256
- background: var(--#{$prefix}sidebar-footer-bg);
257
- @include transition($sidebar-footer-height-transition);
186
+ display: flex;
187
+ align-items: center;
188
+ justify-content: space-between;
189
+ padding: var(--#{$prefix}sidebar-padding-y) var(--#{$prefix}sidebar-padding-x);
258
190
  }
259
191
 
260
192
  .sidebar-toggler {
261
- display: flex;
262
- flex: 0 0 var(--#{$prefix}sidebar-toggler-height);
263
- justify-content: flex-end;
264
- width: inherit;
265
- padding: 0;
266
- cursor: pointer;
267
- background-color: var(--#{$prefix}sidebar-toggler-bg);
268
- border: 0;
193
+ // scss-docs-start sidebar-toggler-css-vars
194
+ --#{$prefix}sidebar-toggler-width: #{$sidebar-toggler-width};
195
+ --#{$prefix}sidebar-toggler-height: #{$sidebar-toggler-height};
196
+ --#{$prefix}sidebar-toggler-color: #{$sidebar-toggler-color};
197
+ --#{$prefix}sidebar-toggler-bg: #{ escape-svg($sidebar-toggler-bg) };
198
+ --#{$prefix}sidebar-toggler-hover-color: #{$sidebar-toggler-hover-color};
199
+ --#{$prefix}sidebar-toggler-focus-shadow: #{$sidebar-toggler-focus-shadow};
200
+ --#{$prefix}sidebar-toggler-focus-color: #{$sidebar-toggler-focus-color};
201
+ --#{$prefix}sidebar-toggler-transition: #{$sidebar-toggler-transition};
202
+ // scss-docs-end sidebar-toggler-css-vars
269
203
 
270
- @include media-breakpoint-down($mobile-breakpoint) {
271
- display: none;
272
- }
204
+ position: relative;
205
+ box-sizing: content-box;
206
+ width: var(--#{$prefix}sidebar-toggler-width);
207
+ height: var(--#{$prefix}sidebar-toggler-height);
208
+ padding: $sidebar-toggler-padding-y $sidebar-toggler-padding-x;
209
+ background-color: transparent;
210
+ border: 0;
211
+ @include border-radius();
212
+ @include transition(var(--#{$prefix}sidebar-toggler-transition));
273
213
 
274
214
  &::before {
275
- display: block;
276
- width: var(--#{$prefix}sidebar-toggler-indicator-width);
277
- height: var(--#{$prefix}sidebar-toggler-indicator-height);
215
+ position: absolute;
216
+ top: 0;
217
+ left: 0;
218
+ width: 100%;
219
+ height: 100%;
278
220
  content: "";
279
- background-image: var(--#{$prefix}sidebar-toggler-indicator);
280
- background-repeat: no-repeat;
281
- background-position: center;
282
- background-size: calc(var(--#{$prefix}sidebar-toggler-indicator-height) * .25); // stylelint-disable-line function-disallowed-list
283
- @include transition($sidebar-toggler-transition);
284
-
285
- /* rtl:raw:
286
- transform: rotate(-180deg);
287
- */
288
- }
289
-
290
- &:focus {
291
- outline: 0;
221
+ background-color: var(--#{$prefix}sidebar-toggler-color);
222
+ mask: var(--#{$prefix}sidebar-toggler-bg) no-repeat center;
292
223
  }
293
224
 
225
+ // Override <a>'s hover style
294
226
  &:hover {
295
- background-color: var(--#{$prefix}sidebar-toggler-hover-bg);
227
+ text-decoration: none;
296
228
  &::before {
297
- background-image: var(--#{$prefix}sidebar-toggler-indicator-hover);
229
+ background-color: var(--#{$prefix}sidebar-toggler-hover-color);
298
230
  }
299
231
  }
300
232
 
301
- .sidebar-end & {
302
- justify-content: flex-start;
233
+ &:focus {
234
+ position: relative;
235
+ outline: 0;
236
+ box-shadow: var(--#{$prefix}sidebar-toggler-focus-shadow);
237
+
303
238
  &::before {
304
- transform: rotate(-180deg) #{"/* rtl:rotate(0deg) */"};
239
+ background-color: var(--#{$prefix}sidebar-toggler-focus-color);
305
240
  }
306
241
  }
242
+
243
+ @include media-breakpoint-down($mobile-breakpoint) {
244
+ display: none;
245
+ }
307
246
  }
308
247
 
248
+
309
249
  // Backdrop background
310
250
 
311
251
  .sidebar-backdrop {
@@ -319,3 +259,22 @@
319
259
  @include overlay-backdrop(var(--#{$prefix}backdrop-zindex), var(--#{$prefix}backdrop-bg), var(--#{$prefix}backdrop-opacity));
320
260
  }
321
261
  }
262
+
263
+ .sidebar-dark {
264
+ --#{$prefix}body-color: #{$body-color-dark};
265
+ --#{$prefix}body-bg: #{$body-bg-dark};
266
+
267
+ --#{$prefix}emphasis-color: #{$body-emphasis-color-dark};
268
+
269
+ --#{$prefix}secondary-color: #{$body-secondary-color-dark};
270
+ --#{$prefix}secondary-bg: #{$body-secondary-bg-dark};
271
+
272
+ --#{$prefix}tertiary-color: #{$body-tertiary-color-dark};
273
+ --#{$prefix}tertiary-bg: #{$body-tertiary-bg-dark};
274
+
275
+ --#{$prefix}border-color: #{$border-color-dark};
276
+
277
+ .sidebar-toggler {
278
+ filter: var(--#{$prefix}sidebar-toggler-white-filter);
279
+ }
280
+ }