@coreui/coreui 5.1.2 → 5.3.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 (298) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +4 -4
  3. package/dist/css/coreui-grid.css +462 -235
  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 +235 -235
  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 +56 -49
  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 +54 -49
  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 +531 -371
  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 +353 -353
  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 +1554 -1199
  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 +1212 -1180
  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/css/themes/bootstrap/bootstrap.css +6027 -5264
  36. package/dist/css/themes/bootstrap/bootstrap.css.map +1 -1
  37. package/dist/css/themes/bootstrap/bootstrap.min.css +3 -7
  38. package/dist/css/themes/bootstrap/bootstrap.min.css.map +1 -1
  39. package/dist/css/themes/bootstrap/bootstrap.rtl.css +5651 -5388
  40. package/dist/css/themes/bootstrap/bootstrap.rtl.css.map +1 -1
  41. package/dist/css/themes/bootstrap/bootstrap.rtl.min.css +3 -7
  42. package/dist/css/themes/bootstrap/bootstrap.rtl.min.css.map +1 -1
  43. package/dist/js/bootstrap.bundle.js +37 -40
  44. package/dist/js/bootstrap.bundle.js.map +1 -1
  45. package/dist/js/bootstrap.bundle.min.js +3 -3
  46. package/dist/js/bootstrap.bundle.min.js.map +1 -1
  47. package/dist/js/bootstrap.esm.js +53 -54
  48. package/dist/js/bootstrap.esm.js.map +1 -1
  49. package/dist/js/bootstrap.esm.min.js +3 -3
  50. package/dist/js/bootstrap.esm.min.js.map +1 -1
  51. package/dist/js/bootstrap.js +53 -54
  52. package/dist/js/bootstrap.js.map +1 -1
  53. package/dist/js/bootstrap.min.js +3 -3
  54. package/dist/js/bootstrap.min.js.map +1 -1
  55. package/dist/js/coreui.bundle.js +4 -7
  56. package/dist/js/coreui.bundle.js.map +1 -1
  57. package/dist/js/coreui.bundle.min.js +3 -3
  58. package/dist/js/coreui.bundle.min.js.map +1 -1
  59. package/dist/js/coreui.esm.js +4 -5
  60. package/dist/js/coreui.esm.js.map +1 -1
  61. package/dist/js/coreui.esm.min.js +3 -3
  62. package/dist/js/coreui.esm.min.js.map +1 -1
  63. package/dist/js/coreui.js +4 -5
  64. package/dist/js/coreui.js.map +1 -1
  65. package/dist/js/coreui.min.js +3 -3
  66. package/dist/js/coreui.min.js.map +1 -1
  67. package/js/dist/alert.js +2 -2
  68. package/js/dist/alert.js.map +1 -1
  69. package/js/dist/base-component.js +3 -3
  70. package/js/dist/base-component.js.map +1 -1
  71. package/js/dist/button.js +2 -2
  72. package/js/dist/button.js.map +1 -1
  73. package/js/dist/carousel.js +2 -2
  74. package/js/dist/carousel.js.map +1 -1
  75. package/js/dist/collapse.js +2 -2
  76. package/js/dist/collapse.js.map +1 -1
  77. package/js/dist/dom/data.js +2 -2
  78. package/js/dist/dom/data.js.map +1 -1
  79. package/js/dist/dom/event-handler.js +2 -2
  80. package/js/dist/dom/event-handler.js.map +1 -1
  81. package/js/dist/dom/manipulator.js +2 -2
  82. package/js/dist/dom/manipulator.js.map +1 -1
  83. package/js/dist/dom/selector-engine.js +2 -2
  84. package/js/dist/dom/selector-engine.js.map +1 -1
  85. package/js/dist/dropdown.js +2 -2
  86. package/js/dist/dropdown.js.map +1 -1
  87. package/js/dist/modal.js +2 -2
  88. package/js/dist/modal.js.map +1 -1
  89. package/js/dist/navigation.js +3 -3
  90. package/js/dist/navigation.js.map +1 -1
  91. package/js/dist/offcanvas.js +2 -2
  92. package/js/dist/offcanvas.js.map +1 -1
  93. package/js/dist/popover.js +2 -2
  94. package/js/dist/popover.js.map +1 -1
  95. package/js/dist/scrollspy.js +2 -2
  96. package/js/dist/scrollspy.js.map +1 -1
  97. package/js/dist/sidebar.js +2 -2
  98. package/js/dist/sidebar.js.map +1 -1
  99. package/js/dist/tab.js +2 -2
  100. package/js/dist/tab.js.map +1 -1
  101. package/js/dist/toast.js +2 -2
  102. package/js/dist/toast.js.map +1 -1
  103. package/js/dist/tooltip.js +2 -2
  104. package/js/dist/tooltip.js.map +1 -1
  105. package/js/dist/util/backdrop.js +2 -2
  106. package/js/dist/util/backdrop.js.map +1 -1
  107. package/js/dist/util/component-functions.js +2 -2
  108. package/js/dist/util/component-functions.js.map +1 -1
  109. package/js/dist/util/config.js +2 -2
  110. package/js/dist/util/config.js.map +1 -1
  111. package/js/dist/util/focustrap.js +2 -2
  112. package/js/dist/util/focustrap.js.map +1 -1
  113. package/js/dist/util/index.js +2 -2
  114. package/js/dist/util/index.js.map +1 -1
  115. package/js/dist/util/sanitizer.js +2 -3
  116. package/js/dist/util/sanitizer.js.map +1 -1
  117. package/js/dist/util/scrollbar.js +2 -2
  118. package/js/dist/util/scrollbar.js.map +1 -1
  119. package/js/dist/util/swipe.js +2 -2
  120. package/js/dist/util/swipe.js.map +1 -1
  121. package/js/dist/util/template-factory.js +2 -2
  122. package/js/dist/util/template-factory.js.map +1 -1
  123. package/js/src/base-component.js +1 -1
  124. package/js/src/navigation.js +1 -1
  125. package/js/src/util/sanitizer.js +0 -1
  126. package/package.json +31 -34
  127. package/scss/_accordion.import.scss +1 -0
  128. package/scss/_accordion.scss +10 -2
  129. package/scss/_alert.import.scss +1 -0
  130. package/scss/_alert.scss +7 -3
  131. package/scss/_avatar.import.scss +1 -0
  132. package/scss/_avatar.scss +13 -8
  133. package/scss/_badge.import.scss +1 -0
  134. package/scss/_badge.scss +4 -0
  135. package/scss/_banner.scss +7 -0
  136. package/scss/_breadcrumb.import.scss +1 -0
  137. package/scss/_breadcrumb.scss +9 -3
  138. package/scss/_button-group.import.scss +1 -0
  139. package/scss/_button-group.scss +7 -3
  140. package/scss/_buttons.import.scss +1 -0
  141. package/scss/_buttons.scss +49 -18
  142. package/scss/_callout.import.scss +1 -0
  143. package/scss/_callout.scss +5 -2
  144. package/scss/_card.import.scss +1 -0
  145. package/scss/_card.scss +9 -5
  146. package/scss/_carousel.import.scss +1 -0
  147. package/scss/_carousel.scss +9 -3
  148. package/scss/_close.import.scss +1 -0
  149. package/scss/_close.scss +6 -1
  150. package/scss/_containers.import.scss +1 -0
  151. package/scss/_containers.scss +4 -0
  152. package/scss/_dropdown.import.scss +1 -0
  153. package/scss/_dropdown.scss +30 -21
  154. package/scss/_footer.import.scss +1 -0
  155. package/scss/_footer.scss +2 -0
  156. package/scss/_forms.import.scss +9 -0
  157. package/scss/_forms.scss +9 -9
  158. package/scss/_functions.import.scss +1 -0
  159. package/scss/_functions.scss +11 -366
  160. package/scss/_grid.import.scss +1 -0
  161. package/scss/_grid.scss +23 -1
  162. package/scss/_header.import.scss +1 -0
  163. package/scss/_header.scss +9 -2
  164. package/scss/_helpers.import.scss +1 -0
  165. package/scss/_helpers.scss +12 -12
  166. package/scss/_icon.import.scss +1 -0
  167. package/scss/_icon.scss +3 -0
  168. package/scss/_images.import.scss +1 -0
  169. package/scss/_images.scss +6 -0
  170. package/scss/_list-group.import.scss +1 -0
  171. package/scss/_list-group.scss +11 -6
  172. package/scss/_maps.import.scss +1 -0
  173. package/scss/_maps.scss +14 -7
  174. package/scss/_mixins.import.scss +1 -0
  175. package/scss/_mixins.scss +29 -29
  176. package/scss/_modal.import.scss +1 -0
  177. package/scss/_modal.scss +12 -3
  178. package/scss/_nav.import.scss +1 -0
  179. package/scss/_nav.scss +8 -2
  180. package/scss/_navbar.import.scss +1 -0
  181. package/scss/_navbar.scss +17 -5
  182. package/scss/_offcanvas.import.scss +1 -0
  183. package/scss/_offcanvas.scss +14 -7
  184. package/scss/_pagination.import.scss +1 -0
  185. package/scss/_pagination.scss +9 -1
  186. package/scss/_placeholders.import.scss +1 -0
  187. package/scss/_placeholders.scss +2 -0
  188. package/scss/_popover.import.scss +1 -0
  189. package/scss/_popover.scss +6 -0
  190. package/scss/_progress.import.scss +1 -0
  191. package/scss/_progress.scss +7 -0
  192. package/scss/_reboot.import.scss +1 -0
  193. package/scss/_reboot.scss +11 -7
  194. package/scss/_root.import.scss +1 -0
  195. package/scss/_root.scss +14 -5
  196. package/scss/_sidebar.import.scss +3 -0
  197. package/scss/_sidebar.scss +3 -3
  198. package/scss/_spinners.import.scss +1 -0
  199. package/scss/_spinners.scss +2 -0
  200. package/scss/_tables.import.scss +1 -0
  201. package/scss/_tables.scss +6 -1
  202. package/scss/_toasts.import.scss +1 -0
  203. package/scss/_toasts.scss +5 -2
  204. package/scss/_tooltip.import.scss +1 -0
  205. package/scss/_tooltip.scss +6 -0
  206. package/scss/_transitions.import.scss +1 -0
  207. package/scss/_transitions.scss +3 -0
  208. package/scss/_type.import.scss +1 -0
  209. package/scss/_type.scss +6 -1
  210. package/scss/_utilities.import.scss +1 -0
  211. package/scss/_utilities.scss +50 -63
  212. package/scss/_variables-dark.import.scss +1 -0
  213. package/scss/_variables-dark.scss +17 -36
  214. package/scss/_variables.import.scss +1 -0
  215. package/scss/_variables.scss +39 -35
  216. package/scss/coreui-grid.rtl.scss +4 -4
  217. package/scss/coreui-grid.scss +12 -21
  218. package/scss/coreui-reboot.rtl.scss +4 -4
  219. package/scss/coreui-reboot.scss +8 -9
  220. package/scss/coreui-utilities.rtl.scss +4 -4
  221. package/scss/coreui-utilities.scss +8 -11
  222. package/scss/coreui.rtl.scss +4 -4
  223. package/scss/coreui.scss +44 -47
  224. package/scss/forms/_floating-labels.import.scss +1 -0
  225. package/scss/forms/_floating-labels.scss +5 -1
  226. package/scss/forms/_form-check.import.scss +1 -0
  227. package/scss/forms/_form-check.scss +24 -20
  228. package/scss/forms/_form-control.import.scss +1 -0
  229. package/scss/forms/_form-control.scss +9 -1
  230. package/scss/forms/_form-range.import.scss +1 -0
  231. package/scss/forms/_form-range.scss +7 -0
  232. package/scss/forms/_form-select.import.scss +1 -0
  233. package/scss/forms/_form-select.scss +18 -5
  234. package/scss/forms/_form-text.import.scss +1 -0
  235. package/scss/forms/_form-text.scss +3 -0
  236. package/scss/forms/_input-group.import.scss +1 -0
  237. package/scss/forms/_input-group.scss +10 -4
  238. package/scss/forms/_labels.import.scss +1 -0
  239. package/scss/forms/_labels.scss +4 -0
  240. package/scss/forms/_validation.import.scss +1 -0
  241. package/scss/forms/_validation.scss +3 -0
  242. package/scss/functions/_assert-ascending.scss +19 -0
  243. package/scss/functions/_assert-starts-at-zero.scss +14 -0
  244. package/scss/functions/_color-contrast-variables.scss +24 -0
  245. package/scss/functions/_color-contrast.scss +27 -0
  246. package/scss/functions/_color.scss +18 -0
  247. package/scss/functions/_contrast-ratio.scss +35 -0
  248. package/scss/functions/_escape-svg.scss +22 -0
  249. package/scss/functions/_maps.scss +57 -0
  250. package/scss/functions/_math.scss +87 -0
  251. package/scss/functions/_rgba-css-var.scss +9 -0
  252. package/scss/functions/_str-replace.scss +19 -0
  253. package/scss/functions/_to-rgb.scss +5 -0
  254. package/scss/helpers/_clearfix.scss +2 -0
  255. package/scss/helpers/_color-bg.scss +9 -3
  256. package/scss/helpers/_colored-links.scss +13 -9
  257. package/scss/helpers/_focus-ring.scss +2 -0
  258. package/scss/helpers/_icon-link.scss +3 -0
  259. package/scss/helpers/_position.scss +5 -1
  260. package/scss/helpers/_ratio.scss +3 -1
  261. package/scss/helpers/_stretched-link.scss +2 -0
  262. package/scss/helpers/_text-truncation.scss +2 -0
  263. package/scss/helpers/_visually-hidden.scss +2 -0
  264. package/scss/helpers/_vr.scss +2 -0
  265. package/scss/mixins/_alert.scss +3 -0
  266. package/scss/mixins/_avatar.scss +3 -0
  267. package/scss/mixins/_backdrop.scss +2 -0
  268. package/scss/mixins/_border-radius.scss +15 -11
  269. package/scss/mixins/_box-shadow.scss +5 -2
  270. package/scss/mixins/_breakpoints.scss +82 -5
  271. package/scss/mixins/_buttons.scss +54 -50
  272. package/scss/mixins/_caret.scss +5 -3
  273. package/scss/mixins/_color-mode.scss +3 -1
  274. package/scss/mixins/_container.scss +2 -0
  275. package/scss/mixins/_deprecate.scss +2 -0
  276. package/scss/mixins/_forms.scss +12 -5
  277. package/scss/mixins/_gradients.scss +2 -0
  278. package/scss/mixins/_grid.scss +77 -8
  279. package/scss/mixins/_list-group.scss +6 -3
  280. package/scss/mixins/_lists.scss +1 -1
  281. package/scss/mixins/_ltr-rtl.scss +48 -17
  282. package/scss/mixins/_pagination.scss +3 -0
  283. package/scss/mixins/_reset-text.scss +2 -1
  284. package/scss/mixins/_table-variants.scss +10 -4
  285. package/scss/mixins/_transition.scss +7 -4
  286. package/scss/mixins/_utilities.import.scss +1 -0
  287. package/scss/mixins/_utilities.scss +30 -17
  288. package/scss/sidebar/_sidebar-narrow.scss +24 -45
  289. package/scss/sidebar/_sidebar-nav.scss +11 -6
  290. package/scss/sidebar/_sidebar.scss +80 -106
  291. package/scss/themes/bootstrap/bootstrap.rtl.scss +4 -24
  292. package/scss/themes/bootstrap/bootstrap.scss +120 -16
  293. package/scss/utilities/_api.import.scss +1 -0
  294. package/scss/utilities/_api.scss +14 -6
  295. package/scss/vendor/_rfs.scss +33 -27
  296. package/scss/mixins/_banner.scss +0 -7
  297. package/scss/themes/bootstrap/_variables.scss +0 -2
  298. package/scss/themes/bootstrap/mixins/_banner.scss +0 -7
@@ -1,37 +1,50 @@
1
+ @use "sass:list";
2
+ @use "sass:map";
3
+ @use "sass:meta";
4
+ @use "sass:string";
5
+ @use "../variables" as *;
6
+ @use "../vendor/rfs" as *;
7
+ @use "ltr-rtl" as *;
8
+
9
+ // Generate selectors for theme variants
10
+ @function theme-prefix($theme, $selector) {
11
+ @return #{"[data" + $data-infix + "theme="$theme + "] ." + $theme + "\\:" + $selector + ", [data" + $data-infix + "theme="$theme + "] ." + $theme + "\\:" + $selector + ":not([class*='#{$theme}:'])"};
12
+ }
13
+
1
14
  // Utility generator
2
15
  // Used to generate utilities & print utilities
3
16
  @mixin generate-utility($utility, $infix: "", $is-rfs-media-query: false) {
4
- $values: map-get($utility, values);
17
+ $values: map.get($utility, values);
5
18
 
6
19
  // If the values are a list or string, convert it into a map
7
- @if type-of($values) == "string" or type-of(nth($values, 1)) != "list" {
8
- $values: zip($values, $values);
20
+ @if meta.type-of($values) == "string" or meta.type-of(list.nth($values, 1)) != "list" {
21
+ $values: list.zip($values, $values);
9
22
  }
10
23
 
11
24
  @each $key, $value in $values {
12
- $properties: map-get($utility, property);
25
+ $properties: map.get($utility, property);
13
26
 
14
27
  // Multiple properties are possible, for example with vertical or horizontal margins or paddings
15
- @if type-of($properties) == "string" {
16
- $properties: append((), $properties);
28
+ @if meta.type-of($properties) == "string" {
29
+ $properties: list.append((), $properties);
17
30
  }
18
31
 
19
32
  // Use custom class if present
20
- $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));
33
+ $property-class: if(map.has-key($utility, class), map.get($utility, class), list.nth($properties, 1));
21
34
  $property-class: if($property-class == null, "", $property-class);
22
35
 
23
36
  // Use custom CSS variable name if present, otherwise default to `class`
24
- $css-variable-name: if(map-has-key($utility, css-variable-name), map-get($utility, css-variable-name), map-get($utility, class));
37
+ $css-variable-name: if(map.has-key($utility, css-variable-name), map.get($utility, css-variable-name), map.get($utility, class));
25
38
 
26
39
  // State params to generate pseudo-classes
27
- $state: if(map-has-key($utility, state), map-get($utility, state), ());
40
+ $state: if(map.has-key($utility, state), map.get($utility, state), ());
28
41
 
29
- $infix: if($property-class == "" and str-slice($infix, 1, 1) == "-", str-slice($infix, 2), $infix);
42
+ $infix: if($property-class == "" and string.slice($infix, 1, 1) == "-", string.slice($infix, 2), $infix);
30
43
 
31
44
  // Don't prefix if value key is null (e.g. with shadow class)
32
45
  $property-class-modifier: if($key, if($property-class == "" and $infix == "", "", "-") + $key, "");
33
46
 
34
- @if map-get($utility, rfs) {
47
+ @if map.get($utility, rfs) {
35
48
  // Inside the media query
36
49
  @if $is-rfs-media-query {
37
50
  $val: rfs-value($value);
@@ -44,10 +57,10 @@
44
57
  }
45
58
  }
46
59
 
47
- $is-css-var: map-get($utility, css-var);
48
- $is-dark-mode: map-get($utility, dark-mode);
49
- $is-local-vars: map-get($utility, local-vars);
50
- $is-rtl: map-get($utility, rtl);
60
+ $is-css-var: map.get($utility, css-var);
61
+ $is-dark-mode: map.get($utility, dark-mode);
62
+ $is-local-vars: map.get($utility, local-vars);
63
+ $is-rtl: map.get($utility, rtl);
51
64
 
52
65
  @if $value != null {
53
66
  @if $is-rtl == false {
@@ -93,8 +106,8 @@
93
106
  }
94
107
  }
95
108
  @if $is-rtl == true {
96
- @if (type-of($value) == "map") {
97
- @include ltr-rtl($property, map-get($value, "ltr"), null, map-get($value, "rtl"), if($enable-important-utilities, !important, null));
109
+ @if (meta.type-of($value) == "map") {
110
+ @include ltr-rtl($property, map.get($value, "ltr"), null, map.get($value, "rtl"), if($enable-important-utilities, !important, null));
98
111
  } @else {
99
112
  @include ltr-rtl($property, $value, null, null, if($enable-important-utilities, !important, null));
100
113
  }
@@ -1,4 +1,9 @@
1
- %sidebar-narrow {
1
+ @use "../mixins/breakpoints" as *;
2
+ @use "../mixins/ltr-rtl" as *;
3
+ @use "../variables" as *;
4
+ @use "sidebar" as *;
5
+
6
+ .sidebar-narrow {
2
7
  // scss-docs-start sidebar-narrow-css-vars
3
8
  --#{$prefix}sidebar-narrow-width: #{$sidebar-narrow-width};
4
9
  // scss-docs-end sidebar-narrow-css-vars
@@ -9,10 +14,6 @@
9
14
  padding-bottom: var(--#{$prefix}sidebar-toggler-height);
10
15
  overflow: visible;
11
16
 
12
- &.sidebar-fixed {
13
- width: var(--#{$prefix}sidebar-narrow-width);
14
- }
15
-
16
17
  .sidebar-brand-full {
17
18
  display: none;
18
19
  }
@@ -32,6 +33,10 @@
32
33
  --#{$prefix}sidebar-nav-link-padding-y: #{$sidebar-narrow-nav-link-padding-y};
33
34
  }
34
35
 
36
+ .nav-link {
37
+ overflow: hidden;
38
+ }
39
+
35
40
  .nav-icon {
36
41
  flex: 0 0 calc(var(--#{$prefix}sidebar-narrow-width) - (var(--#{$prefix}sidebar-nav-padding-x) * 2) - (var(--#{$prefix}sidebar-nav-link-padding-x) * 2)); // stylelint-disable-line function-disallowed-list
37
42
  }
@@ -59,35 +64,19 @@
59
64
  }
60
65
  }
61
66
 
62
- .sidebar-narrow {
63
- @extend %sidebar-narrow;
64
- &:not(.sidebar-end) ~ * {
65
- --#{$prefix}sidebar-occupy-start: #{$sidebar-narrow-width} !important; // stylelint-disable-line declaration-no-important
66
- }
67
- &.sidebar-end ~ * {
68
- --#{$prefix}sidebar-occupy-end: #{$sidebar-narrow-width} !important; // stylelint-disable-line declaration-no-important
69
- }
70
-
71
- .nav-link {
72
- overflow: hidden;
73
- }
74
- }
75
-
76
67
  .sidebar-narrow-unfoldable {
77
- position: fixed;
68
+ // scss-docs-start sidebar-narrow-unfoldable-css-vars
69
+ --#{$prefix}sidebar-narrow-unfoldable-box-shadow: #{$sidebar-narrow-unfoldable-box-shadow};
70
+ // scss-docs-end sidebar-narrow-unfoldable-css-vars
78
71
 
79
- &:not(.sidebar-end) ~ * {
80
- --#{$prefix}sidebar-occupy-start: #{$sidebar-narrow-width} !important; // stylelint-disable-line declaration-no-important
81
- }
82
- &.sidebar-end ~ * {
83
- --#{$prefix}sidebar-occupy-end: #{$sidebar-narrow-width} !important; // stylelint-disable-line declaration-no-important
84
- }
72
+ @extend .sidebar-fixed;
85
73
 
86
74
  &:not(:hover) {
87
- @extend %sidebar-narrow;
75
+ @extend .sidebar-narrow;
88
76
  }
89
77
 
90
78
  &:hover {
79
+ box-shadow: var(--#{$prefix}sidebar-narrow-unfoldable-box-shadow);
91
80
  box-shadow: $box-shadow;
92
81
 
93
82
  .sidebar-toggler::before {
@@ -98,26 +87,16 @@
98
87
  transform: rotate(0deg);
99
88
  }
100
89
  }
101
-
102
- .nav-link {
103
- overflow: hidden;
104
- }
105
90
  }
106
91
 
107
- // Responsive behavior
108
- @each $breakpoint in map-keys($grid-breakpoints) {
109
- @include media-breakpoint-down($breakpoint) {
110
- $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
111
- .sidebar:not(.show).sidebar-self-hiding#{$infix} {
112
- &.sidebar-narrow,
113
- &.sidebar-narrow-unfoldable {
114
- &:not(.sidebar-end) {
115
- @include ltr-rtl("margin-left", calc(var(--#{$prefix}sidebar-narrow-width) * -1));
116
- }
117
- &.sidebar-end {
118
- @include ltr-rtl("margin-right", calc(var(--#{$prefix}sidebar-narrow-width) * -1));
119
- }
120
- }
92
+ .sidebar-narrow,
93
+ .sidebar-narrow-unfoldable {
94
+ @include media-breakpoint-up($mobile-breakpoint) {
95
+ &:not(.sidebar-end):not(.hide) ~ * {
96
+ --#{$prefix}sidebar-occupy-start: #{$sidebar-narrow-width};
97
+ }
98
+ &.sidebar-end:not(.hide) ~ * {
99
+ --#{$prefix}sidebar-occupy-end: #{$sidebar-narrow-width};
121
100
  }
122
101
  }
123
102
  }
@@ -1,9 +1,14 @@
1
1
  // Sidebar navigation
2
+ @use "../functions/escape-svg" as *;
3
+ @use "../mixins/border-radius" as *;
4
+ @use "../mixins/transition" as *;
5
+ @use "../variables" as *;
2
6
 
3
7
  .sidebar-nav {
4
8
  // scss-docs-start sidebar-nav-css-vars
5
9
  --#{$prefix}sidebar-nav-padding-x: #{$sidebar-nav-padding-x};
6
10
  --#{$prefix}sidebar-nav-padding-y: #{$sidebar-nav-padding-y};
11
+ --#{$prefix}sidebar-nav-gap: #{$sidebar-nav-gap};
7
12
 
8
13
  --#{$prefix}sidebar-nav-title-padding-x: #{$sidebar-nav-title-padding-x};
9
14
  --#{$prefix}sidebar-nav-title-padding-y: #{$sidebar-nav-title-padding-y};
@@ -71,7 +76,7 @@
71
76
  .nav-item + .nav-item,
72
77
  .nav-item + .nav-group,
73
78
  .nav-group + .nav-item {
74
- margin-top: 1px;
79
+ margin-top: var(--#{$prefix}sidebar-nav-gap);
75
80
  }
76
81
 
77
82
  .nav-title {
@@ -174,7 +179,7 @@
174
179
  align-items: center;
175
180
  justify-content: center;
176
181
  height: var(--#{$prefix}sidebar-nav-link-icon-height);
177
- @include ltr-rtl("margin-right", var(--#{$prefix}sidebar-nav-link-icon-margin));
182
+ margin-inline-end: var(--#{$prefix}sidebar-nav-link-icon-margin);
178
183
  font-size: var(--#{$prefix}sidebar-nav-link-icon-font-size);
179
184
  color: var(--#{$prefix}sidebar-nav-link-icon-color);
180
185
  text-align: center;
@@ -225,7 +230,7 @@
225
230
  }
226
231
 
227
232
  + .show {
228
- margin-top: 1px;
233
+ margin-top: var(--#{$prefix}sidebar-nav-gap);
229
234
  }
230
235
  }
231
236
  }
@@ -237,7 +242,7 @@
237
242
  display: block;
238
243
  flex: 0 12px;
239
244
  height: 12px;
240
- @include ltr-rtl("margin-left", auto);
245
+ margin-inline-start: auto;
241
246
  content: "";
242
247
  background-color: var(--#{$prefix}sidebar-nav-group-indicator-color);
243
248
  mask-image: var(--#{$prefix}sidebar-nav-group-indicator-icon);
@@ -250,11 +255,11 @@
250
255
  list-style: none;
251
256
 
252
257
  .nav-link {
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)));
258
+ padding-inline-start: calc(var(--#{$prefix}sidebar-nav-link-padding-x) + var(--#{$prefix}sidebar-nav-link-icon-width) + var(--#{$prefix}sidebar-nav-link-icon-margin)); // stylelint-disable-line function-disallowed-list
254
259
  }
255
260
 
256
261
  .nav-icon {
257
- @include ltr-rtl("margin-left", calc((var(--#{$prefix}sidebar-nav-link-icon-width) + var(--#{$prefix}sidebar-nav-link-icon-margin)) * -1));
262
+ margin-inline-start: calc((var(--#{$prefix}sidebar-nav-link-icon-width) + var(--#{$prefix}sidebar-nav-link-icon-margin)) * -1); // stylelint-disable-line function-disallowed-list
258
263
  }
259
264
  }
260
265
 
@@ -1,4 +1,12 @@
1
1
  // stylelint-disable function-disallowed-list
2
+ @use "../functions/escape-svg" as *;
3
+ @use "../mixins/backdrop" as *;
4
+ @use "../mixins/border-radius" as *;
5
+ @use "../mixins/breakpoints" as *;
6
+ @use "../mixins/ltr-rtl" as *;
7
+ @use "../mixins/transition" as *;
8
+ @use "../variables" as *;
9
+ @use "../variables-dark" as *;
2
10
 
3
11
  .sidebar {
4
12
  // scss-docs-start sidebar-css-vars
@@ -24,152 +32,118 @@
24
32
  box-shadow: none;
25
33
  @include transition($sidebar-transition);
26
34
 
27
- &.sidebar-fixed,
28
- &.sidebar-narrow,
29
- &.sidebar-narrow-unfoldable,
30
- &.sidebar-overlaid {
31
- z-index: var(--#{$prefix}sidebar-zindex);
32
- }
33
-
34
35
  &:not(.sidebar-end){
35
- @include ltr-rtl("margin-left", 0);
36
- ~ * {
37
- --#{$prefix}sidebar-occupy-start: #{$sidebar-width};
38
- }
36
+ margin-inline-start: 0;
39
37
  }
40
38
 
41
39
  &.sidebar-end {
42
40
  order: 99;
43
- @include ltr-rtl("margin-right", 0);
44
- ~ * {
45
- --#{$prefix}sidebar-occupy-end: #{$sidebar-width};
46
- }
47
- }
48
-
49
- @each $width, $value in $sidebar-widths {
50
- &.sidebar-#{$width} {
51
- --#{$prefix}sidebar-width: #{$value};
52
- @include media-breakpoint-up($mobile-breakpoint) {
53
- &:not(.sidebar-end):not(.hide) {
54
- ~ * {
55
- --#{$prefix}sidebar-occupy-start: #{$value};
56
- }
57
- }
58
- &.sidebar-end:not(.hide) {
59
- ~ * {
60
- --#{$prefix}sidebar-occupy-end: #{$value};
61
- }
62
- }
63
- }
64
- }
41
+ margin-inline-end: 0;
65
42
  }
66
43
 
67
44
  @include media-breakpoint-up($mobile-breakpoint) {
68
- &.hide {
69
- &:not(.sidebar-end){
70
- @include ltr-rtl("margin-left", calc(-1 * var(--#{$prefix}sidebar-width)));
71
- ~ * {
72
- --#{$prefix}sidebar-occupy-start: 0;
73
- }
45
+ &:not(.hide):not(.sidebar-narrow):not(.sidebar-narrow-unfoldable):not(.sidebar-overlaid) {
46
+ &:not(.sidebar-end) ~ * {
47
+ --#{$prefix}sidebar-occupy-start: #{$sidebar-width};
74
48
  }
75
- &.sidebar-end {
76
- @include ltr-rtl("margin-right", calc(-1 * var(--#{$prefix}sidebar-width)));
77
- ~ * {
78
- --#{$prefix}sidebar-occupy-end: 0;
79
- }
49
+ &.sidebar-end ~ * {
50
+ --#{$prefix}sidebar-occupy-end: #{$sidebar-width};
80
51
  }
81
52
  }
82
- }
83
-
84
- &.sidebar-fixed {
85
- @include media-breakpoint-up($mobile-breakpoint) {
86
- position: fixed;
87
- top: 0;
88
- bottom: 0;
89
53
 
54
+ &.hide {
90
55
  &:not(.sidebar-end) {
91
- @include ltr-rtl("left", 0);
56
+ margin-inline-start: calc(-1 * var(--#{$prefix}sidebar-width));
92
57
  }
93
-
94
58
  &.sidebar-end {
95
- @include ltr-rtl("right", 0);
96
- }
97
- }
98
- }
59
+ margin-inline-end: calc(-1 * var(--#{$prefix}sidebar-width));
99
60
 
100
- &.sidebar-sticky {
101
- @include media-breakpoint-up($mobile-breakpoint) {
102
- position: sticky;
103
- top: 0;
104
- height: 100vh;
61
+ }
105
62
  }
106
63
  }
107
64
 
108
- &.sidebar-overlaid {
109
- // scss-docs-start sidebar-overlaid-css-vars
110
- --#{$prefix}sidebar-overlaid-box-shadow: #{$sidebar-overlaid-box-shadow};
111
- // scss-docs-end sidebar-overlaid-css-vars
65
+ @include media-breakpoint-down($mobile-breakpoint) {
66
+ // Some of our components use this property to detect if the sidebar has mobile behavior.
67
+ --#{$prefix}is-mobile: true;
112
68
 
113
69
  position: fixed;
114
70
  top: 0;
115
71
  bottom: 0;
72
+ z-index: var(--#{$prefix}sidebar-zindex);
116
73
 
117
- &:not(.sidebar-end){
118
- @include ltr-rtl("left", 0);
119
- @include ltr-rtl("margin-left", calc(-1 * var(--#{$prefix}sidebar-width)));
120
- ~ * {
121
- --#{$prefix}sidebar-occupy-start: 0 !important; // stylelint-disable-line
74
+ &:not(.sidebar-end) {
75
+ inset-inline-start: 0;
76
+
77
+ &:not(.show) {
78
+ margin-inline-start: calc(-1 * var(--#{$prefix}sidebar-width));
122
79
  }
123
80
  }
124
81
 
125
82
  &.sidebar-end {
126
- @include ltr-rtl("right", 0);
127
- @include ltr-rtl("margin-right", calc(-1 * var(--#{$prefix}sidebar-width)));
128
- ~ * {
129
- --#{$prefix}sidebar-occupy-end: 0 !important; // stylelint-disable-line
83
+ inset-inline-end: 0;
84
+
85
+ &:not(.show) {
86
+ margin-inline-end: calc(-1 * var(--#{$prefix}sidebar-width));
130
87
  }
131
88
  }
89
+ }
90
+ }
132
91
 
133
- &.show {
134
- box-shadow: var(--#{$prefix}sidebar-overlaid-box-shadow);
92
+ .sidebar-fixed {
93
+ position: fixed;
94
+ top: 0;
95
+ bottom: 0;
96
+ z-index: var(--#{$prefix}sidebar-zindex);
135
97
 
136
- &:not(.sidebar-end) {
137
- @include ltr-rtl("margin-left", 0);
138
- }
98
+ &:not(.sidebar-end) {
99
+ inset-inline-start: 0;
100
+ }
139
101
 
140
- &.sidebar-end {
141
- @include ltr-rtl("margin-right", 0);
142
- }
143
- }
102
+ &.sidebar-end {
103
+ inset-inline-end: 0;
144
104
  }
105
+ }
145
106
 
146
- @include media-breakpoint-down($mobile-breakpoint) {
147
- // Some of our components use this property to detect if the sidebar has mobile behavior.
148
- --#{$prefix}is-mobile: true;
107
+ .sidebar-overlaid {
108
+ // scss-docs-start sidebar-overlaid-css-vars
109
+ --#{$prefix}sidebar-overlaid-box-shadow: #{$sidebar-overlaid-box-shadow};
110
+ // scss-docs-end sidebar-overlaid-css-vars
149
111
 
150
- position: fixed;
151
- top: 0;
152
- bottom: 0;
153
- z-index: var(--#{$prefix}sidebar-zindex);
112
+ @extend .sidebar-fixed;
154
113
 
155
- &:not(.sidebar-end) {
156
- @include ltr-rtl("left", 0);
157
- ~ * {
158
- --#{$prefix}sidebar-occupy-start: 0 !important; // stylelint-disable-line
159
- }
114
+ &:not(.sidebar-end){
115
+ margin-inline-start: calc(-1 * var(--#{$prefix}sidebar-width));
116
+ }
160
117
 
161
- &:not(.show) {
162
- @include ltr-rtl("margin-left", calc(-1 * var(--#{$prefix}sidebar-width)));
163
- }
118
+ &.sidebar-end {
119
+ margin-inline-end: calc(-1 * var(--#{$prefix}sidebar-width));
120
+ }
121
+
122
+ &.show {
123
+ box-shadow: var(--#{$prefix}sidebar-overlaid-box-shadow);
124
+
125
+ &:not(.sidebar-end) {
126
+ margin-inline-start: 0;
164
127
  }
128
+
165
129
  &.sidebar-end {
166
- @include ltr-rtl("right", 0);
167
- ~ * {
168
- --#{$prefix}sidebar-occupy-end: 0 !important; // stylelint-disable-line
169
- }
130
+ margin-inline-end: 0;
131
+ }
132
+ }
133
+ }
170
134
 
171
- &:not(.show) {
172
- @include ltr-rtl("margin-right", calc(-1 * var(--#{$prefix}sidebar-width)));
135
+ @each $width, $value in $sidebar-widths {
136
+ .sidebar-#{$width} {
137
+ --#{$prefix}sidebar-width: #{$value};
138
+
139
+ @include media-breakpoint-up($mobile-breakpoint) {
140
+ &:not(.hide):not(.sidebar-narrow):not(.sidebar-narrow-unfoldable):not(.sidebar-overlaid) {
141
+ &:not(.sidebar-end) ~ * {
142
+ --#{$prefix}sidebar-occupy-start: #{$value};
143
+ }
144
+ &.sidebar-end ~ * {
145
+ --#{$prefix}sidebar-occupy-end: #{$value};
146
+ }
173
147
  }
174
148
  }
175
149
  }
@@ -192,8 +166,8 @@
192
166
 
193
167
  .btn-close {
194
168
  padding: calc(var(--#{$prefix}sidebar-padding-y) * .5) calc(var(--#{$prefix}sidebar-padding-x) * .5);
169
+ margin-inline-end: calc(-.5 * var(--#{$prefix}sidebar-padding-x));
195
170
  margin-top: calc(-.5 * var(--#{$prefix}sidebar-padding-y));
196
- @include ltr-rtl("margin-right", calc(-.5 * var(--#{$prefix}sidebar-padding-x)));
197
171
  margin-bottom: calc(-.5 * var(--#{$prefix}sidebar-padding-y));
198
172
  }
199
173
  }
@@ -1,24 +1,4 @@
1
- @import "variables";
2
-
3
- $enable-ltr: false !default;
4
- $enable-rtl: true !default;
5
-
6
- @import "mixins/banner";
7
- @include bsBanner("");
8
-
9
- @import "../../../node_modules/bootstrap/scss/bootstrap";
10
- @import "../../variables";
11
-
12
- /* rtl:begin:ignore */
13
- @import "../../mixins/avatar";
14
- @import "../../mixins/icon";
15
- @import "../../mixins/ltr-rtl";
16
-
17
- @import "../../avatar";
18
- @import "../../callout";
19
- @import "../../footer";
20
- @import "../../header";
21
- @import "../../icon";
22
- @import "../../sidebar";
23
-
24
- /* rtl:end:ignore */
1
+ @use "bootstrap" with (
2
+ $enable-ltr: false,
3
+ $enable-rtl: true
4
+ );
@@ -1,21 +1,125 @@
1
- @import "variables";
1
+ @use "sass:color";
2
+ @use "../../banner" with (
3
+ $file: "Bootstrap Theme"
4
+ );
5
+ @use "../../functions/color" as *;
2
6
 
3
- @import "mixins/banner";
4
- @include bsBanner("");
7
+ // scss-docs-start gray-color-variables
8
+ $white: #fff !default;
9
+ $gray-100: #f8f9fa !default;
10
+ $gray-200: #e9ecef !default;
11
+ $gray-300: #dee2e6 !default;
12
+ $gray-400: #ced4da !default;
13
+ $gray-500: #adb5bd !default;
14
+ $gray-600: #6c757d !default;
15
+ $gray-700: #495057 !default;
16
+ $gray-800: #343a40 !default;
17
+ $gray-900: #212529 !default;
18
+ $black: #000 !default;
19
+ // scss-docs-end gray-color-variables
5
20
 
6
- @import "../../../node_modules/bootstrap/scss/bootstrap";
7
- @import "../../variables";
21
+ // scss-docs-start color-variables
22
+ $blue: #0d6efd !default;
23
+ $indigo: #6610f2 !default;
24
+ $purple: #6f42c1 !default;
25
+ $pink: #d63384 !default;
26
+ $red: #dc3545 !default;
27
+ $orange: #fd7e14 !default;
28
+ $yellow: #ffc107 !default;
29
+ $green: #198754 !default;
30
+ $teal: #20c997 !default;
31
+ $cyan: #0dcaf0 !default;
32
+ // scss-docs-end color-variables
8
33
 
9
- /* rtl:begin:ignore */
10
- @import "../../mixins/avatar";
11
- @import "../../mixins/icon";
12
- @import "../../mixins/ltr-rtl";
34
+ // scss-docs-start theme-color-variables
35
+ $primary: $blue !default;
36
+ $secondary: $gray-600 !default;
37
+ $success: $green !default;
38
+ $info: $cyan !default;
39
+ $warning: $yellow !default;
40
+ $danger: $red !default;
41
+ $light: $gray-100 !default;
42
+ $dark: $gray-900 !default;
43
+ // scss-docs-end theme-color-variables
13
44
 
14
- @import "../../avatar";
15
- @import "../../callout";
16
- @import "../../footer";
17
- @import "../../header";
18
- @import "../../icon";
19
- @import "../../sidebar";
45
+ // scss-docs-start theme-text-dark-variables
46
+ $primary-text-emphasis-dark: tint-color($primary, 40%) !default;
47
+ $secondary-text-emphasis-dark: tint-color($secondary, 40%) !default;
48
+ $success-text-emphasis-dark: tint-color($success, 40%) !default;
49
+ $info-text-emphasis-dark: tint-color($info, 40%) !default;
50
+ $warning-text-emphasis-dark: tint-color($warning, 40%) !default;
51
+ $danger-text-emphasis-dark: tint-color($danger, 40%) !default;
52
+ // scss-docs-end theme-text-dark-variables
20
53
 
21
- /* rtl:end:ignore */
54
+ // scss-docs-start theme-bg-subtle-dark-variables
55
+ $primary-bg-subtle-dark: shade-color($primary, 80%) !default;
56
+ $secondary-bg-subtle-dark: shade-color($secondary, 80%) !default;
57
+ $success-bg-subtle-dark: shade-color($success, 80%) !default;
58
+ $info-bg-subtle-dark: shade-color($info, 80%) !default;
59
+ $warning-bg-subtle-dark: shade-color($warning, 80%) !default;
60
+ $danger-bg-subtle-dark: shade-color($danger, 80%) !default;
61
+ // scss-docs-end theme-bg-subtle-dark-variables
62
+
63
+ // scss-docs-start theme-border-subtle-dark-variables
64
+ $primary-border-subtle-dark: shade-color($primary, 40%) !default;
65
+ $secondary-border-subtle-dark: shade-color($secondary, 40%) !default;
66
+ $success-border-subtle-dark: shade-color($success, 40%) !default;
67
+ $info-border-subtle-dark: shade-color($info, 40%) !default;
68
+ $warning-border-subtle-dark: shade-color($warning, 40%) !default;
69
+ $danger-border-subtle-dark: shade-color($danger, 40%) !default;
70
+ // scss-docs-end theme-border-subtle-dark-variables
71
+
72
+ @forward "../../coreui" with (
73
+ $prefix: bs- !default,
74
+ $data-infix: -bs- !default,
75
+ $white: $white !default,
76
+ $gray-100: $gray-100 !default,
77
+ $gray-200: $gray-200 !default,
78
+ $gray-300: $gray-300 !default,
79
+ $gray-400: $gray-400 !default,
80
+ $gray-500: $gray-500 !default,
81
+ $gray-600: $gray-600 !default,
82
+ $gray-700: $gray-700 !default,
83
+ $gray-800: $gray-800 !default,
84
+ $gray-900: $gray-900 !default,
85
+ $black: $black !default,
86
+ $primary: $primary !default,
87
+ $secondary: $secondary !default,
88
+ $success: $success !default,
89
+ $info: $info !default,
90
+ $warning: $warning !default,
91
+ $danger: $danger !default,
92
+ $light: $light !default,
93
+ $dark: $dark !default,
94
+ $body-color: $gray-900 !default,
95
+ $body-secondary-color: rgba($gray-900, .75) !default,
96
+ $body-tertiary-bg: rgba($gray-900, .75) !default,
97
+ $component-active-color: $white !default,
98
+ $component-active-bg: $primary !default,
99
+ $body-color-dark: $gray-300 !default,
100
+ $body-bg-dark: $gray-900 !default,
101
+ $body-secondary-color-dark: rgba($gray-300, .75) !default,
102
+ $body-secondary-bg-dark: $gray-800 !default,
103
+ $body-tertiary-color-dark: rgba($gray-300, .5) !default,
104
+ $body-tertiary-bg-dark: color.mix($gray-800, $gray-900, 50%) !default,
105
+ $primary-text-emphasis-dark: $primary-text-emphasis-dark !default,
106
+ $secondary-text-emphasis-dark: $secondary-text-emphasis-dark !default,
107
+ $success-text-emphasis-dark: $success-text-emphasis-dark !default,
108
+ $info-text-emphasis-dark: $info-text-emphasis-dark !default,
109
+ $warning-text-emphasis-dark: $warning-text-emphasis-dark !default,
110
+ $danger-text-emphasis-dark: $danger-text-emphasis-dark !default,
111
+ $primary-bg-subtle-dark: $primary-bg-subtle-dark !default,
112
+ $secondary-bg-subtle-dark: $secondary-bg-subtle-dark !default,
113
+ $success-bg-subtle-dark: $success-bg-subtle-dark !default,
114
+ $info-bg-subtle-dark: $info-bg-subtle-dark !default,
115
+ $warning-bg-subtle-dark: $warning-bg-subtle-dark !default,
116
+ $danger-bg-subtle-dark: $danger-bg-subtle-dark !default,
117
+ $primary-border-subtle-dark: $primary-border-subtle-dark !default,
118
+ $secondary-border-subtle-dark: $secondary-border-subtle-dark !default,
119
+ $success-border-subtle-dark: $success-border-subtle-dark !default,
120
+ $info-border-subtle-dark: $info-border-subtle-dark !default,
121
+ $warning-border-subtle-dark: $warning-border-subtle-dark !default,
122
+ $danger-border-subtle-dark: $danger-border-subtle-dark !default,
123
+ $theme-colors-dark: () !default,
124
+ $grays-dark: () !default,
125
+ );