@coreui/coreui 5.0.0-rc.1 → 5.0.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 (121) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +4 -4
  3. package/dist/css/coreui-grid.css +2 -2
  4. package/dist/css/coreui-grid.css.map +1 -1
  5. package/dist/css/coreui-grid.min.css +2 -2
  6. package/dist/css/coreui-grid.min.css.map +1 -1
  7. package/dist/css/coreui-grid.rtl.css +2 -2
  8. package/dist/css/coreui-grid.rtl.css.map +1 -1
  9. package/dist/css/coreui-grid.rtl.min.css +2 -2
  10. package/dist/css/coreui-grid.rtl.min.css.map +1 -1
  11. package/dist/css/coreui-reboot.css +13 -13
  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 +13 -13
  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 +31 -31
  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 +29 -29
  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 +175 -176
  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 +174 -175
  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/bootstrap.bundle.js +6932 -0
  36. package/dist/js/bootstrap.bundle.js.map +1 -0
  37. package/dist/js/bootstrap.bundle.min.js +7 -0
  38. package/dist/js/bootstrap.bundle.min.js.map +1 -0
  39. package/dist/js/bootstrap.esm.js +5063 -0
  40. package/dist/js/bootstrap.esm.js.map +1 -0
  41. package/dist/js/bootstrap.esm.min.js +7 -0
  42. package/dist/js/bootstrap.esm.min.js.map +1 -0
  43. package/dist/js/bootstrap.js +5112 -0
  44. package/dist/js/bootstrap.js.map +1 -0
  45. package/dist/js/bootstrap.min.js +7 -0
  46. package/dist/js/bootstrap.min.js.map +1 -0
  47. package/dist/js/coreui.bundle.js +8 -10
  48. package/dist/js/coreui.bundle.js.map +1 -1
  49. package/dist/js/coreui.bundle.min.js +3 -3
  50. package/dist/js/coreui.bundle.min.js.map +1 -1
  51. package/dist/js/coreui.esm.js +8 -10
  52. package/dist/js/coreui.esm.js.map +1 -1
  53. package/dist/js/coreui.esm.min.js +3 -3
  54. package/dist/js/coreui.esm.min.js.map +1 -1
  55. package/dist/js/coreui.js +8 -10
  56. package/dist/js/coreui.js.map +1 -1
  57. package/dist/js/coreui.min.js +3 -3
  58. package/dist/js/coreui.min.js.map +1 -1
  59. package/js/dist/alert.js +2 -2
  60. package/js/dist/base-component.js +3 -3
  61. package/js/dist/base-component.js.map +1 -1
  62. package/js/dist/button.js +2 -2
  63. package/js/dist/carousel.js +2 -2
  64. package/js/dist/collapse.js +2 -2
  65. package/js/dist/dom/data.js +2 -2
  66. package/js/dist/dom/event-handler.js +2 -2
  67. package/js/dist/dom/manipulator.js +2 -2
  68. package/js/dist/dom/selector-engine.js +4 -4
  69. package/js/dist/dom/selector-engine.js.map +1 -1
  70. package/js/dist/dropdown.js +2 -2
  71. package/js/dist/modal.js +2 -2
  72. package/js/dist/modal.js.map +1 -1
  73. package/js/dist/navigation.js +2 -4
  74. package/js/dist/navigation.js.map +1 -1
  75. package/js/dist/offcanvas.js +2 -2
  76. package/js/dist/popover.js +2 -2
  77. package/js/dist/scrollspy.js +2 -2
  78. package/js/dist/scrollspy.js.map +1 -1
  79. package/js/dist/sidebar.js +2 -2
  80. package/js/dist/tab.js +2 -2
  81. package/js/dist/toast.js +2 -2
  82. package/js/dist/tooltip.js +2 -2
  83. package/js/dist/tooltip.js.map +1 -1
  84. package/js/dist/util/backdrop.js +2 -3
  85. package/js/dist/util/backdrop.js.map +1 -1
  86. package/js/dist/util/component-functions.js +2 -2
  87. package/js/dist/util/config.js +2 -2
  88. package/js/dist/util/focustrap.js +2 -3
  89. package/js/dist/util/focustrap.js.map +1 -1
  90. package/js/dist/util/index.js +2 -3
  91. package/js/dist/util/index.js.map +1 -1
  92. package/js/dist/util/sanitizer.js +5 -2
  93. package/js/dist/util/sanitizer.js.map +1 -1
  94. package/js/dist/util/scrollbar.js +2 -2
  95. package/js/dist/util/swipe.js +2 -2
  96. package/js/dist/util/template-factory.js +2 -2
  97. package/js/src/base-component.js +1 -1
  98. package/js/src/dom/selector-engine.js +2 -2
  99. package/js/src/modal.js +3 -1
  100. package/js/src/scrollspy.js +3 -1
  101. package/js/src/tooltip.js +3 -1
  102. package/js/src/util/backdrop.js +3 -1
  103. package/js/src/util/sanitizer.js +3 -0
  104. package/package.json +39 -31
  105. package/scss/_accordion.scss +12 -12
  106. package/scss/_buttons.scss +9 -0
  107. package/scss/_modal.scss +0 -1
  108. package/scss/_offcanvas.scss +0 -1
  109. package/scss/_tables.scss +1 -1
  110. package/scss/_variables-dark.scss +2 -2
  111. package/scss/_variables.scss +9 -5
  112. package/scss/forms/_form-check.scss +1 -1
  113. package/scss/mixins/_banner.scss +2 -2
  114. package/scss/mixins/_forms.scss +12 -2
  115. package/scss/mixins/_grid.scss +1 -1
  116. package/scss/mixins/_utilities.scss +1 -1
  117. package/scss/sidebar/_sidebar-nav.scss +3 -3
  118. package/scss/themes/bootstrap/_variables.scss +2 -0
  119. package/scss/themes/bootstrap/bootstrap.rtl.scss +24 -0
  120. package/scss/themes/bootstrap/bootstrap.scss +21 -0
  121. package/scss/themes/bootstrap/mixins/_banner.scss +7 -0
@@ -10,7 +10,9 @@
10
10
 
11
11
  import EventHandler from '../dom/event-handler.js'
12
12
  import Config from './config.js'
13
- import { execute, executeAfterTransition, getElement, reflow } from './index.js'
13
+ import {
14
+ execute, executeAfterTransition, getElement, reflow
15
+ } from './index.js'
14
16
 
15
17
  /**
16
18
  * Constants
@@ -20,7 +20,10 @@ export const DefaultAllowlist = {
20
20
  br: [],
21
21
  col: [],
22
22
  code: [],
23
+ dd: [],
23
24
  div: [],
25
+ dl: [],
26
+ dt: [],
24
27
  em: [],
25
28
  hr: [],
26
29
  h1: [],
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@coreui/coreui",
3
3
  "description": "The most popular front-end framework for developing responsive, mobile-first projects on the web rewritten and maintained by the CoreUI Team",
4
- "version": "5.0.0-rc.1",
4
+ "version": "5.0.0",
5
5
  "config": {
6
6
  "version_short": "5.0"
7
7
  },
@@ -19,28 +19,35 @@
19
19
  "scripts": {
20
20
  "start": "npm-run-all --parallel watch docs-serve",
21
21
  "bundlewatch": "bundlewatch --config .bundlewatch.config.json",
22
- "css": "npm-run-all css-compile css-prefix css-minify",
22
+ "css": "npm-run-all css-compile css-prefix css-rtl css-minify",
23
23
  "css-compile": "sass --style expanded --source-map --embed-sources --no-error-css scss/:dist/css/",
24
+ "css-rtl": "cross-env NODE_ENV=RTL postcss --config build/postcss.config.mjs --dir \"dist/css/themes/bootstrap/\" --ext \".rtl.css\" \"dist/css/themes/bootstrap/*.css\" \"!dist/css/themes/bootstrap/*.min.css\" \"!dist/css/themes/bootstrap/*.rtl.css\"",
24
25
  "css-lint": "npm-run-all --aggregate-output --continue-on-error --parallel css-lint-*",
25
26
  "css-lint-stylelint": "stylelint \"**/*.{css,scss}\" --cache --cache-location .cache/.stylelintcache",
26
27
  "css-lint-vars": "fusv scss/ docs/assets/scss/",
27
28
  "css-minify": "npm-run-all --aggregate-output --parallel css-minify-*",
28
- "css-minify-main": "cleancss -O1 --format breakWith=lf --with-rebase --source-map --source-map-inline-sources --output dist/css/ --batch --batch-suffix \".min\" \"dist/css/*.css\" \"!dist/css/*.min.css\" \"!dist/css/*rtl*.css\"",
29
- "css-minify-rtl": "cleancss -O1 --format breakWith=lf --with-rebase --source-map --source-map-inline-sources --output dist/css/ --batch --batch-suffix \".min\" \"dist/css/*rtl.css\" \"!dist/css/*.min.css\"",
29
+ "css-minify-main": "cleancss -O1 --format breakWith=lf --with-rebase --source-map --source-map-inline-sources --output dist/css/ --batch --batch-suffix \".min\" \"dist/css/**/*.css\" \"!dist/css/**/*.min.css\" \"!dist/css/**/*rtl*.css\"",
30
+ "css-minify-rtl": "cleancss -O1 --format breakWith=lf --with-rebase --source-map --source-map-inline-sources --output dist/css/ --batch --batch-suffix \".min\" \"dist/css/**/*rtl.css\" \"!dist/css/**/*.min.css\"",
30
31
  "css-prefix": "npm-run-all --aggregate-output --parallel css-prefix-*",
31
- "css-prefix-main": "postcss --config build/postcss.config.mjs --replace \"dist/css/*.css\" \"!dist/css/*.rtl*.css\" \"!dist/css/*.min.css\"",
32
+ "css-prefix-main": "postcss --config build/postcss.config.mjs --replace \"dist/css/**/*.css\" \"!dist/css/**/*.rtl*.css\" \"!dist/css/**/*.min.css\"",
32
33
  "css-test": "jasmine --config=scss/tests/jasmine.js",
33
34
  "js": "npm-run-all js-compile js-minify",
34
35
  "js-compile": "npm-run-all --aggregate-output --parallel js-compile-*",
35
36
  "js-compile-standalone": "rollup --environment BUNDLE:false --config build/rollup.config.mjs --sourcemap",
36
37
  "js-compile-standalone-esm": "rollup --environment ESM:true,BUNDLE:false --config build/rollup.config.mjs --sourcemap",
38
+ "js-compile-standalone-bootstrap": "rollup --environment BOOTSTRAP:true,BUNDLE:false --config build/rollup.config.mjs --sourcemap",
39
+ "js-compile-standalone-bootstrap-esm": "rollup --environment ESM:true,BOOTSTRAP:true,BUNDLE:false --config build/rollup.config.mjs --sourcemap",
37
40
  "js-compile-bundle": "rollup --environment BUNDLE:true --config build/rollup.config.mjs --sourcemap",
41
+ "js-compile-bundle-bootstrap": "rollup --environment BOOTSTRAP:true,BUNDLE:true --config build/rollup.config.mjs --sourcemap",
38
42
  "js-compile-plugins": "node build/build-plugins.mjs",
39
43
  "js-lint": "eslint --cache --cache-location .cache/.eslintcache --report-unused-disable-directives --ext .html,.js,.mjs,.md .",
40
44
  "js-minify": "npm-run-all --aggregate-output --parallel js-minify-*",
41
45
  "js-minify-standalone": "terser --compress passes=2 --mangle --comments \"/^!/\" --source-map \"content=dist/js/coreui.js.map,includeSources,url=coreui.min.js.map\" --output dist/js/coreui.min.js dist/js/coreui.js",
42
46
  "js-minify-standalone-esm": "terser --compress passes=2 --mangle --comments \"/^!/\" --source-map \"content=dist/js/coreui.esm.js.map,includeSources,url=coreui.esm.min.js.map\" --output dist/js/coreui.esm.min.js dist/js/coreui.esm.js",
43
47
  "js-minify-bundle": "terser --compress passes=2 --mangle --comments \"/^!/\" --source-map \"content=dist/js/coreui.bundle.js.map,includeSources,url=coreui.bundle.min.js.map\" --output dist/js/coreui.bundle.min.js dist/js/coreui.bundle.js",
48
+ "js-minify-standalone-bootstrap": "terser --compress passes=2 --mangle --comments \"/^!/\" --source-map \"content=dist/js/bootstrap.js.map,includeSources,url=bootstrap.min.js.map\" --output dist/js/bootstrap.min.js dist/js/bootstrap.js",
49
+ "js-minify-standalone-bootstrap-esm": "terser --compress passes=2 --mangle --comments \"/^!/\" --source-map \"content=dist/js/bootstrap.esm.js.map,includeSources,url=bootstrap.esm.min.js.map\" --output dist/js/bootstrap.esm.min.js dist/js/bootstrap.esm.js",
50
+ "js-minify-bundle-bootstrap": "terser --compress passes=2 --mangle --comments \"/^!/\" --source-map \"content=dist/js/bootstrap.bundle.js.map,includeSources,url=bootstrap.bundle.min.js.map\" --output dist/js/bootstrap.bundle.min.js dist/js/bootstrap.bundle.js",
44
51
  "js-test": "npm-run-all --aggregate-output --parallel js-test-karma js-test-jquery js-test-integration-*",
45
52
  "js-debug": "cross-env DEBUG=true npm run js-test-karma",
46
53
  "js-test-karma": "karma start js/tests/karma.conf.js",
@@ -93,55 +100,56 @@
93
100
  "@popperjs/core": "^2.11.8"
94
101
  },
95
102
  "devDependencies": {
96
- "@babel/cli": "^7.23.4",
97
- "@babel/core": "^7.23.3",
98
- "@babel/preset-env": "^7.23.3",
103
+ "@babel/cli": "^7.24.1",
104
+ "@babel/core": "^7.24.3",
105
+ "@babel/preset-env": "^7.24.3",
99
106
  "@popperjs/core": "^2.11.8",
100
107
  "@rollup/plugin-babel": "^6.0.4",
101
108
  "@rollup/plugin-commonjs": "^25.0.7",
102
109
  "@rollup/plugin-node-resolve": "^15.2.3",
103
110
  "@rollup/plugin-replace": "^5.0.5",
104
- "autoprefixer": "^10.4.16",
111
+ "autoprefixer": "^10.4.19",
112
+ "bootstrap": "^5.3.3",
105
113
  "bundlewatch": "^0.3.3",
106
- "clean-css-cli": "^5.6.2",
114
+ "clean-css-cli": "^5.6.3",
107
115
  "cross-env": "^7.0.3",
108
- "eslint": "^8.54.0",
109
- "eslint-config-xo": "^0.43.1",
110
- "eslint-plugin-html": "^7.1.0",
111
- "eslint-plugin-import": "^2.29.0",
112
- "eslint-plugin-markdown": "^3.0.1",
113
- "eslint-plugin-unicorn": "^49.0.0",
116
+ "eslint": "^8.57.0",
117
+ "eslint-config-xo": "^0.44.0",
118
+ "eslint-plugin-html": "^8.0.0",
119
+ "eslint-plugin-import": "^2.29.1",
120
+ "eslint-plugin-markdown": "^4.0.1",
121
+ "eslint-plugin-unicorn": "^51.0.1",
114
122
  "find-unused-sass-variables": "^5.0.0",
115
123
  "globby": "^11.1.0",
116
124
  "hammer-simulator": "0.0.1",
117
- "hugo-bin": "^0.116.4",
118
- "ip": "^2.0.0",
119
- "jasmine": "^4.6.0",
125
+ "hugo-bin": "^0.121.1",
126
+ "ip": "^2.0.1",
127
+ "jasmine": "^5.1.0",
120
128
  "jquery": "^3.7.1",
121
- "karma": "^6.4.2",
129
+ "karma": "^6.4.3",
122
130
  "karma-browserstack-launcher": "1.6.0",
123
131
  "karma-chrome-launcher": "^3.2.0",
124
132
  "karma-coverage-istanbul-reporter": "^3.0.3",
125
133
  "karma-detect-browsers": "^2.3.3",
126
- "karma-firefox-launcher": "^2.1.2",
134
+ "karma-firefox-launcher": "^2.1.3",
127
135
  "karma-jasmine": "^5.1.0",
128
136
  "karma-jasmine-html-reporter": "^2.1.0",
129
137
  "karma-rollup-preprocessor": "7.0.8",
130
- "lockfile-lint": "^4.12.1",
131
- "nodemon": "^3.0.1",
138
+ "lockfile-lint": "^4.13.2",
139
+ "nodemon": "^3.1.0",
132
140
  "npm-run-all": "^4.1.5",
133
- "postcss": "^8.4.31",
134
- "postcss-cli": "^10.1.0",
141
+ "postcss": "^8.4.38",
142
+ "postcss-cli": "^11.0.0",
135
143
  "postcss-combine-duplicated-selectors": "^10.0.3",
136
- "rollup": "^4.5.2",
144
+ "rollup": "^4.13.1",
137
145
  "rollup-plugin-istanbul": "^5.0.0",
138
146
  "rtlcss": "^4.1.1",
139
- "sass": "^1.69.5",
140
- "sass-true": "^7.0.0",
147
+ "sass": "^1.72.0",
148
+ "sass-true": "^8.0.0",
141
149
  "shelljs": "^0.8.5",
142
- "stylelint": "^15.11.0",
143
- "stylelint-config-twbs-bootstrap": "^11.0.1",
144
- "terser": "5.24.0",
150
+ "stylelint": "^16.3.1",
151
+ "stylelint-config-twbs-bootstrap": "^14.0.0",
152
+ "terser": "5.30.0",
145
153
  "vnu-jar": "23.4.11"
146
154
  },
147
155
  "files": [
@@ -20,7 +20,6 @@
20
20
  --#{$prefix}accordion-btn-icon-transform: #{$accordion-icon-transform};
21
21
  --#{$prefix}accordion-btn-icon-transition: #{$accordion-icon-transition};
22
22
  --#{$prefix}accordion-btn-active-icon: #{escape-svg($accordion-button-active-icon)};
23
- --#{$prefix}accordion-btn-focus-border-color: #{$accordion-button-focus-border-color};
24
23
  --#{$prefix}accordion-btn-focus-box-shadow: #{$accordion-button-focus-box-shadow};
25
24
  --#{$prefix}accordion-body-padding-x: #{$accordion-body-padding-x};
26
25
  --#{$prefix}accordion-body-padding-y: #{$accordion-body-padding-y};
@@ -60,7 +59,7 @@
60
59
  flex-shrink: 0;
61
60
  width: var(--#{$prefix}accordion-btn-icon-width);
62
61
  height: var(--#{$prefix}accordion-btn-icon-width);
63
- margin-left: auto;
62
+ @include ltr-rtl("margin-left", auto);
64
63
  content: "";
65
64
  background-image: var(--#{$prefix}accordion-btn-icon);
66
65
  background-repeat: no-repeat;
@@ -74,7 +73,6 @@
74
73
 
75
74
  &:focus {
76
75
  z-index: 3;
77
- border-color: var(--#{$prefix}accordion-btn-focus-border-color);
78
76
  outline: 0;
79
77
  box-shadow: var(--#{$prefix}accordion-btn-focus-box-shadow);
80
78
  }
@@ -92,7 +90,7 @@
92
90
  &:first-of-type {
93
91
  @include border-top-radius(var(--#{$prefix}accordion-border-radius));
94
92
 
95
- .accordion-button {
93
+ > .accordion-header .accordion-button {
96
94
  @include border-top-radius(var(--#{$prefix}accordion-inner-border-radius));
97
95
  }
98
96
  }
@@ -105,13 +103,13 @@
105
103
  &:last-of-type {
106
104
  @include border-bottom-radius(var(--#{$prefix}accordion-border-radius));
107
105
 
108
- .accordion-button {
106
+ > .accordion-header .accordion-button {
109
107
  &.collapsed {
110
108
  @include border-bottom-radius(var(--#{$prefix}accordion-inner-border-radius));
111
109
  }
112
110
  }
113
111
 
114
- .accordion-collapse {
112
+ > .accordion-collapse {
115
113
  @include border-bottom-radius(var(--#{$prefix}accordion-border-radius));
116
114
  }
117
115
  }
@@ -127,11 +125,7 @@
127
125
  // Remove borders and border-radius to keep accordion items edge-to-edge.
128
126
 
129
127
  .accordion-flush {
130
- .accordion-collapse {
131
- border-width: 0;
132
- }
133
-
134
- .accordion-item {
128
+ > .accordion-item {
135
129
  border-right: 0;
136
130
  border-left: 0;
137
131
  @include border-radius(0);
@@ -139,12 +133,18 @@
139
133
  &:first-child { border-top: 0; }
140
134
  &:last-child { border-bottom: 0; }
141
135
 
142
- .accordion-button {
136
+ // stylelint-disable selector-max-class
137
+ > .accordion-header .accordion-button {
143
138
  &,
144
139
  &.collapsed {
145
140
  @include border-radius(0);
146
141
  }
147
142
  }
143
+ // stylelint-enable selector-max-class
144
+
145
+ > .accordion-collapse {
146
+ @include border-radius(0);
147
+ }
148
148
  }
149
149
  }
150
150
 
@@ -100,6 +100,15 @@
100
100
  }
101
101
  }
102
102
 
103
+ .btn-check:checked:focus-visible + & {
104
+ // Avoid using mixin so we can pass custom focus shadow properly
105
+ @if $enable-shadows {
106
+ box-shadow: var(--#{$prefix}btn-active-shadow), var(--#{$prefix}btn-focus-box-shadow);
107
+ } @else {
108
+ box-shadow: var(--#{$prefix}btn-focus-box-shadow);
109
+ }
110
+ }
111
+
103
112
  &:disabled,
104
113
  &.disabled,
105
114
  fieldset:disabled & {
package/scss/_modal.scss CHANGED
@@ -126,7 +126,6 @@
126
126
  display: flex;
127
127
  flex-shrink: 0;
128
128
  align-items: center;
129
- justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends
130
129
  padding: var(--#{$prefix}modal-header-padding);
131
130
  border-bottom: var(--#{$prefix}modal-header-border-width) solid var(--#{$prefix}modal-header-border-color);
132
131
  @include border-top-radius(var(--#{$prefix}modal-inner-border-radius));
@@ -123,7 +123,6 @@
123
123
  .offcanvas-header {
124
124
  display: flex;
125
125
  align-items: center;
126
- justify-content: space-between;
127
126
  padding: var(--#{$prefix}offcanvas-padding-y) var(--#{$prefix}offcanvas-padding-x);
128
127
 
129
128
  .btn-close {
package/scss/_tables.scss CHANGED
@@ -79,7 +79,7 @@
79
79
  //
80
80
  // When borders are added on all sides of the cells, the corners can render odd when
81
81
  // these borders do not have the same color or if they are semi-transparent.
82
- // Therefor we add top and border bottoms to the `tr`s and left and right borders
82
+ // Therefore we add top and border bottoms to the `tr`s and left and right borders
83
83
  // to the `td`s or `th`s
84
84
 
85
85
  .table-bordered {
@@ -43,7 +43,7 @@ $disabled-dark: rgba($white, .38) !default; // Deprecated in v5.0.0
43
43
 
44
44
  // scss-docs-start theme-color-dark-variables
45
45
  $primary-dark: desaturate($primary, 10%) !default;
46
- $secondary-dark: desaturate($secondary, 10%) !default;
46
+ $secondary-dark: $secondary !default;
47
47
  $success-dark: desaturate($success, 10%) !default;
48
48
  $info-dark: desaturate($info, 10%) !default;
49
49
  $warning-dark: desaturate($warning, 10%) !default;
@@ -67,7 +67,7 @@ $theme-colors-dark: (
67
67
 
68
68
  // scss-docs-start theme-text-dark-variables
69
69
  $primary-text-emphasis-dark: desaturate($primary-text-emphasis, 10%) !default;
70
- $secondary-text-emphasis-dark: desaturate($secondary-text-emphasis, 10%) !default;
70
+ $secondary-text-emphasis-dark: $secondary-text-emphasis !default;
71
71
  $success-text-emphasis-dark: desaturate($success-text-emphasis, 10%) !default;
72
72
  $info-text-emphasis-dark: desaturate($info-text-emphasis, 10%) !default;
73
73
  $warning-text-emphasis-dark: desaturate($warning-text-emphasis, 10%) !default;
@@ -310,8 +310,8 @@ $cyans: (
310
310
 
311
311
  // scss-docs-start theme-color-variables
312
312
  $primary: #5856d6 !default;
313
- $secondary: #9da5b1 !default;
314
- $success: #2eb85c !default;
313
+ $secondary: #6b7785 !default;
314
+ $success: #1b9e3e !default;
315
315
  $info: #39f !default;
316
316
  $warning: #f9b115 !default;
317
317
  $danger: #e55353 !default;
@@ -1456,7 +1456,9 @@ $accordion-transition: $btn-transition, border-radius .15s ea
1456
1456
  $accordion-button-active-bg: var(--#{$prefix}primary-bg-subtle) !default;
1457
1457
  $accordion-button-active-color: var(--#{$prefix}primary-text-emphasis) !default;
1458
1458
 
1459
- $accordion-button-focus-border-color: $input-focus-border-color !default;
1459
+ // fusv-disable
1460
+ $accordion-button-focus-border-color: $input-focus-border-color !default; // Deprecated in v5.0.0
1461
+ // fusv-enable
1460
1462
  $accordion-button-focus-box-shadow: $btn-focus-box-shadow !default;
1461
1463
 
1462
1464
  $accordion-icon-width: 1.25rem !default;
@@ -1465,8 +1467,8 @@ $accordion-icon-active-color: $primary-text-emphasis !default;
1465
1467
  $accordion-icon-transition: transform .2s ease-in-out !default;
1466
1468
  $accordion-icon-transform: rotate(-180deg) !default;
1467
1469
 
1468
- $accordion-button-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$accordion-icon-color}'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>") !default;
1469
- $accordion-button-active-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$accordion-icon-active-color}'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>") !default;
1470
+ $accordion-button-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='#{$accordion-icon-color}' stroke-linecap='round' stroke-linejoin='round'><path d='M2 5L8 11L14 5'/></svg>") !default;
1471
+ $accordion-button-active-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='#{$accordion-icon-active-color}' stroke-linecap='round' stroke-linejoin='round'><path d='M2 5L8 11L14 5'/></svg>") !default;
1470
1472
  // scss-docs-end accordion-variables
1471
1473
 
1472
1474
  // Tooltips
@@ -2019,3 +2021,5 @@ $kbd-bg: var(--#{$prefix}body-color) !default;
2019
2021
  $nested-kbd-font-weight: null !default; // Deprecated in v4.2.6, removing in v6
2020
2022
 
2021
2023
  $pre-color: null !default;
2024
+
2025
+ @import "variables-dark"; // TODO: can be removed safely in v6, only here to avoid breaking changes in v5
@@ -131,7 +131,7 @@
131
131
  @include ltr-rtl("margin-left", $form-switch-padding-start * -1);
132
132
  background-image: var(--#{$prefix}form-switch-bg);
133
133
  background-position: left center;
134
- @include border-radius($form-switch-border-radius);
134
+ @include border-radius($form-switch-border-radius, 0);
135
135
  @include transition($form-switch-transition);
136
136
 
137
137
  &:focus {
@@ -1,7 +1,7 @@
1
1
  @mixin bsBanner($file) {
2
2
  /*!
3
- * CoreUI #{$file} v5.0.0-rc.1 (https://coreui.io)
4
- * Copyright (c) 2023 creativeLabs Łukasz Holeczek
3
+ * CoreUI #{$file} v5.0.0 (https://coreui.io)
4
+ * Copyright (c) 2024 creativeLabs Łukasz Holeczek
5
5
  * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)
6
6
  */
7
7
  }
@@ -69,7 +69,12 @@
69
69
 
70
70
  &:focus {
71
71
  border-color: $border-color;
72
- box-shadow: $focus-box-shadow;
72
+ @if $enable-shadows {
73
+ @include box-shadow($input-box-shadow, $focus-box-shadow);
74
+ } @else {
75
+ // Avoid using mixin so we can pass custom focus shadow properly
76
+ box-shadow: $focus-box-shadow;
77
+ }
73
78
  }
74
79
  }
75
80
  }
@@ -100,7 +105,12 @@
100
105
 
101
106
  &:focus {
102
107
  border-color: $border-color;
103
- box-shadow: $focus-box-shadow;
108
+ @if $enable-shadows {
109
+ @include box-shadow($form-select-box-shadow, $focus-box-shadow);
110
+ } @else {
111
+ // Avoid using mixin so we can pass custom focus shadow properly
112
+ box-shadow: $focus-box-shadow;
113
+ }
104
114
  }
105
115
  }
106
116
  }
@@ -138,7 +138,7 @@
138
138
  }
139
139
  }
140
140
 
141
- // Start with `1` because `0` is and invalid value.
141
+ // Start with `1` because `0` is an invalid value.
142
142
  // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.
143
143
  @for $i from 1 through ($columns - 1) {
144
144
  .g-start#{$infix}-#{$i} {
@@ -93,7 +93,7 @@
93
93
  }
94
94
  }
95
95
  @if $is-rtl == true {
96
- @if (type-of($value) == 'map') {
96
+ @if (type-of($value) == "map") {
97
97
  @include ltr-rtl($property, map-get($value, "ltr"), null, map-get($value, "rtl"), if($enable-important-utilities, !important, null));
98
98
  } @else {
99
99
  @include ltr-rtl($property, $value, null, null, if($enable-important-utilities, !important, null));
@@ -139,8 +139,8 @@
139
139
  }
140
140
 
141
141
  &.nav-dropdown-toggle::after {
142
- mask-image: var(--#{$prefix}sidebar-nav-group-indicator-hover-icon);
143
142
  background-color: var(--#{$prefix}sidebar-nav-group-indicator-hover-color);
143
+ mask-image: var(--#{$prefix}sidebar-nav-group-indicator-hover-icon);
144
144
  }
145
145
  }
146
146
  }
@@ -161,8 +161,8 @@
161
161
  }
162
162
 
163
163
  &.nav-group-toggle::after {
164
- mask-image: var(--#{$prefix}sidebar-nav-group-indicator-hover-icon);
165
164
  background-color: var(--#{$prefix}sidebar-nav-group-indicator-hover-color);
165
+ mask-image: var(--#{$prefix}sidebar-nav-group-indicator-hover-icon);
166
166
  }
167
167
  }
168
168
  }
@@ -239,8 +239,8 @@
239
239
  height: 12px;
240
240
  @include ltr-rtl("margin-left", auto);
241
241
  content: "";
242
- mask-image: var(--#{$prefix}sidebar-nav-group-indicator-icon);
243
242
  background-color: var(--#{$prefix}sidebar-nav-group-indicator-color);
243
+ mask-image: var(--#{$prefix}sidebar-nav-group-indicator-icon);
244
244
  @include transition($sidebar-nav-group-indicator-transition);
245
245
  }
246
246
  }
@@ -0,0 +1,2 @@
1
+ $variable-prefix: cui- !default; // Deprecated in v4.2.6 for the shorter `$prefix`
2
+ $prefix: $variable-prefix !default;
@@ -0,0 +1,24 @@
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 */
@@ -0,0 +1,21 @@
1
+ @import "variables";
2
+
3
+ @import "mixins/banner";
4
+ @include bsBanner("");
5
+
6
+ @import "../../../node_modules/bootstrap/scss/bootstrap";
7
+ @import "../../variables";
8
+
9
+ /* rtl:begin:ignore */
10
+ @import "../../mixins/avatar";
11
+ @import "../../mixins/icon";
12
+ @import "../../mixins/ltr-rtl";
13
+
14
+ @import "../../avatar";
15
+ @import "../../callout";
16
+ @import "../../footer";
17
+ @import "../../header";
18
+ @import "../../icon";
19
+ @import "../../sidebar";
20
+
21
+ /* rtl:end:ignore */
@@ -0,0 +1,7 @@
1
+ @mixin bsBanner($file) {
2
+ /*!
3
+ * CoreUI for Bootstrap #{$file} v5.0.0-rc.1 (https://coreui.io/bootstrap/)
4
+ * Copyright (c) 2024 creativeLabs Łukasz Holeczek
5
+ * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)
6
+ */
7
+ }