@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,15 +1,15 @@
1
1
  /**
2
2
  * --------------------------------------------------------------------------
3
- * CoreUI (__COREUI_VERSION__): util/swipe.js
3
+ * CoreUI util/swipe.js
4
4
  * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)
5
5
  *
6
- * This component is a modified version of the Bootstrap's util/swipe.js
6
+ * This is a modified version of the Bootstrap's util/swipe.js
7
7
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
8
8
  * --------------------------------------------------------------------------
9
9
  */
10
10
 
11
- import Config from './config.js'
12
11
  import EventHandler from '../dom/event-handler.js'
12
+ import Config from './config.js'
13
13
  import { execute } from './index.js'
14
14
 
15
15
  /**
@@ -1,18 +1,17 @@
1
-
2
1
  /**
3
2
  * --------------------------------------------------------------------------
4
- * CoreUI (__COREUI_VERSION__): util/template-factory.js
3
+ * CoreUI util/template-factory.js
5
4
  * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)
6
5
  *
7
- * This component is a modified version of the Bootstrap's util/template-factory.js
6
+ * This is a modified version of the Bootstrap's util/template-factory.js
8
7
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
9
8
  * --------------------------------------------------------------------------
10
9
  */
11
10
 
12
- import { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'
13
- import { execute, getElement, isElement } from './index.js'
14
11
  import SelectorEngine from '../dom/selector-engine.js'
15
12
  import Config from './config.js'
13
+ import { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'
14
+ import { execute, getElement, isElement } from './index.js'
16
15
 
17
16
  /**
18
17
  * Constants
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-alpha.0",
4
+ "version": "5.0.0-alpha.2",
5
5
  "config": {
6
6
  "version_short": "5.0"
7
7
  },
@@ -19,11 +19,10 @@
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-rtl css-minify",
22
+ "css": "npm-run-all css-compile css-prefix 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.js --dir \"dist/css\" --ext \".rtl.css\" \"dist/css/*.css\" \"!dist/css/*.min.css\" \"!dist/css/*.rtl.css\"",
25
24
  "css-lint": "npm-run-all --aggregate-output --continue-on-error --parallel css-lint-*",
26
- "css-lint-stylelint": "stylelint \"**/*.{css,scss}\" --cache --cache-location .cache/.stylelintcache --rd",
25
+ "css-lint-stylelint": "stylelint \"**/*.{css,scss}\" --cache --cache-location .cache/.stylelintcache",
27
26
  "css-lint-vars": "fusv scss/ docs/assets/scss/",
28
27
  "css-minify": "npm-run-all --aggregate-output --parallel css-minify-*",
29
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\"",
@@ -37,7 +36,7 @@
37
36
  "js-compile-standalone-esm": "rollup --environment ESM:true,BUNDLE:false --config build/rollup.config.js --sourcemap",
38
37
  "js-compile-bundle": "rollup --environment BUNDLE:true --config build/rollup.config.js --sourcemap",
39
38
  "js-compile-plugins": "node build/build-plugins.js",
40
- "js-lint": "eslint --cache --cache-location .cache/.eslintcache --report-unused-disable-directives --ext .html,.js .",
39
+ "js-lint": "eslint --cache --cache-location .cache/.eslintcache --report-unused-disable-directives --ext .html,.js,.md .",
41
40
  "js-minify": "npm-run-all --aggregate-output --parallel js-minify-*",
42
41
  "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",
43
42
  "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",
@@ -51,23 +50,22 @@
51
50
  "js-test-jquery": "cross-env JQUERY=true npm run js-test-karma",
52
51
  "lint": "npm-run-all --aggregate-output --continue-on-error --parallel js-lint css-lint lockfile-lint",
53
52
  "docs": "npm-run-all docs-build docs-lint",
54
- "docs-build": "hugo --cleanDestinationDir",
53
+ "docs-build": "hugo --cleanDestinationDir --printUnusedTemplates",
55
54
  "docs-compile": "npm run docs-build",
56
55
  "docs-vnu": "node build/vnu-jar.js",
57
56
  "docs-lint": "npm run docs-vnu",
58
- "docs-serve": "hugo server --port 9001 --disableFastRender",
57
+ "docs-serve": "hugo server --port 9001 --disableFastRender --printUnusedTemplates",
59
58
  "docs-serve-only": "npx sirv-cli _gh_pages --port 9001",
60
59
  "lockfile-lint": "lockfile-lint --allowed-hosts npm --allowed-schemes https: --empty-hostname false --type npm --path package-lock.json",
61
- "update-deps": "ncu -u -x globby,karma-browserstack-launcher,karma-rollup-preprocessor,terser && echo Manually update docs/assets/js/vendor",
60
+ "update-deps": "ncu -u -x globby,jasmine,karma-browserstack-launcher,karma-rollup-preprocessor,terser && echo Manually update docs/assets/js/vendor",
62
61
  "release": "npm-run-all dist release-sri docs-build release-zip*",
63
62
  "release-sri": "node build/generate-sri.js",
64
63
  "release-version": "node build/change-version.js",
65
- "release-zip": "cross-env-shell \"rm -rf coreui-$npm_package_version-dist && cp -r dist/ coreui-$npm_package_version-dist && zip -r9 coreui-$npm_package_version-dist.zip coreui-$npm_package_version-dist && rm -rf coreui-$npm_package_version-dist\"",
64
+ "release-zip": "cross-env-shell \"rm -rf coreui-$npm_package_version-dist coreui-$npm_package_version-dist.zip && cp -r dist/ coreui-$npm_package_version-dist && zip -qr9 coreui-$npm_package_version-dist.zip coreui-$npm_package_version-dist && rm -rf coreui-$npm_package_version-dist\"",
66
65
  "dist": "npm-run-all --aggregate-output --parallel css js",
67
66
  "test": "npm-run-all lint dist js-test docs-build docs-lint",
68
67
  "watch": "npm-run-all --parallel watch-*",
69
68
  "watch-css-main": "nodemon --watch scss/ --ext scss --exec \"npm-run-all css-lint css-compile css-prefix\"",
70
- "watch-css-dist": "nodemon --watch dist/css/ --ext css --ignore \"dist/css/*.rtl.*\" --exec \"npm run css-rtl\"",
71
69
  "watch-css-docs": "nodemon --watch docs/assets/scss/ --ext scss --exec \"npm run css-lint\"",
72
70
  "watch-css-test": "nodemon --watch scss/ --ext scss,js --exec \"npm run css-test\"",
73
71
  "watch-js-main": "nodemon --watch js/src/ --ext js --exec \"npm-run-all js-lint js-compile\"",
@@ -84,63 +82,74 @@
84
82
  "bugs": {
85
83
  "url": "https://github.com/coreui/coreui/issues"
86
84
  },
85
+ "funding": [
86
+ {
87
+ "type": "opencollective",
88
+ "url": "https://opencollective.com/coreui"
89
+ }
90
+ ],
87
91
  "license": "MIT",
88
92
  "peerDependencies": {
89
- "@popperjs/core": "^2.11.6"
93
+ "@popperjs/core": "^2.11.8"
90
94
  },
91
95
  "devDependencies": {
92
- "@babel/cli": "^7.20.7",
93
- "@babel/core": "^7.20.7",
94
- "@babel/preset-env": "^7.20.2",
95
- "@popperjs/core": "^2.11.6",
96
+ "@babel/cli": "^7.22.9",
97
+ "@babel/core": "^7.22.9",
98
+ "@babel/preset-env": "^7.22.9",
99
+ "@popperjs/core": "^2.11.8",
96
100
  "@rollup/plugin-babel": "^6.0.3",
97
- "@rollup/plugin-commonjs": "^24.0.0",
98
- "@rollup/plugin-node-resolve": "^15.0.1",
101
+ "@rollup/plugin-commonjs": "^25.0.3",
102
+ "@rollup/plugin-node-resolve": "^15.1.0",
99
103
  "@rollup/plugin-replace": "^5.0.2",
100
- "autoprefixer": "^10.4.12",
104
+ "autoprefixer": "^10.4.14",
101
105
  "bundlewatch": "^0.3.3",
102
- "clean-css-cli": "^5.6.1",
106
+ "clean-css-cli": "^5.6.2",
103
107
  "cross-env": "^7.0.3",
104
- "eslint": "^8.30.0",
108
+ "eslint": "^8.45.0",
105
109
  "eslint-config-xo": "^0.43.1",
106
110
  "eslint-plugin-html": "^7.1.0",
107
- "eslint-plugin-import": "^2.26.0",
111
+ "eslint-plugin-import": "^2.27.5",
108
112
  "eslint-plugin-markdown": "^3.0.0",
109
- "eslint-plugin-unicorn": "^45.0.2",
110
- "find-unused-sass-variables": "^4.0.5",
113
+ "eslint-plugin-unicorn": "^48.0.1",
114
+ "find-unused-sass-variables": "^5.0.0",
111
115
  "globby": "^11.1.0",
112
116
  "hammer-simulator": "0.0.1",
113
- "hugo-bin": "^0.97.0",
117
+ "hugo-bin": "^0.111.4",
114
118
  "ip": "^2.0.0",
115
- "jquery": "^3.6.3",
116
- "karma": "^6.4.1",
117
- "karma-browserstack-launcher": "1.4.0",
118
- "karma-chrome-launcher": "^3.1.1",
119
+ "jasmine": "^4.6.0",
120
+ "jquery": "^3.7.0",
121
+ "karma": "^6.4.2",
122
+ "karma-browserstack-launcher": "1.6.0",
123
+ "karma-chrome-launcher": "^3.2.0",
119
124
  "karma-coverage-istanbul-reporter": "^3.0.3",
120
125
  "karma-detect-browsers": "^2.3.3",
121
126
  "karma-firefox-launcher": "^2.1.2",
122
127
  "karma-jasmine": "^5.1.0",
123
- "karma-jasmine-html-reporter": "^2.0.0",
124
- "karma-rollup-preprocessor": "7.0.7",
125
- "lockfile-lint": "^4.9.6",
126
- "nodemon": "^2.0.20",
128
+ "karma-jasmine-html-reporter": "^2.1.0",
129
+ "karma-rollup-preprocessor": "7.0.8",
130
+ "lockfile-lint": "^4.10.6",
131
+ "nodemon": "^3.0.1",
127
132
  "npm-run-all": "^4.1.5",
128
- "postcss": "^8.4.20",
133
+ "postcss": "^8.4.27",
129
134
  "postcss-cli": "^10.1.0",
130
- "rollup": "^3.8.1",
135
+ "postcss-combine-duplicated-selectors": "^10.0.3",
136
+ "rollup": "^3.26.3",
131
137
  "rollup-plugin-istanbul": "^4.0.0",
132
- "rtlcss": "^4.0.0",
133
- "sass": "^1.57.1",
138
+ "rtlcss": "^4.1.0",
139
+ "sass": "^1.64.1",
140
+ "sass-true": "^7.0.0",
134
141
  "shelljs": "^0.8.5",
135
- "stylelint": "^14.16.0",
136
- "stylelint-config-twbs-bootstrap": "^7.0.0",
137
- "terser": "5.16.0",
138
- "vnu-jar": "22.9.29"
142
+ "stylelint": "^15.10.2",
143
+ "stylelint-config-twbs-bootstrap": "^11.0.1",
144
+ "terser": "5.19.2",
145
+ "vnu-jar": "23.4.11"
139
146
  },
140
147
  "files": [
141
148
  "dist/{css,js}/*.{css,js,map}",
142
149
  "js/{src,dist}/**/*.{js,map}",
143
- "scss/**/*.scss"
150
+ "js/index.{esm,umd}.js",
151
+ "scss/**/*.scss",
152
+ "!scss/tests/**"
144
153
  ],
145
154
  "hugo-bin": {
146
155
  "buildTags": "extended"
@@ -160,10 +169,7 @@
160
169
  },
161
170
  "dependencies": {},
162
171
  "peerDependencies": {
163
- "@popperjs/core": "^2.11.6"
172
+ "@popperjs/core": "^2.11.8"
164
173
  }
165
- },
166
- "dependencies": {
167
- "postcss-combine-duplicated-selectors": "^10.0.3"
168
174
  }
169
175
  }
package/scss/_alert.scss CHANGED
@@ -42,13 +42,13 @@
42
42
  // Expand the right padding and account for the close button's positioning.
43
43
 
44
44
  .alert-dismissible {
45
- padding-right: $alert-dismissible-padding-r;
45
+ @include ltr-rtl("padding-right", $alert-dismissible-padding-r);
46
46
 
47
47
  // Adjust close link position
48
48
  .btn-close {
49
49
  position: absolute;
50
50
  top: 0;
51
- right: 0;
51
+ @include ltr-rtl("right", 0);
52
52
  z-index: $stretched-link-z-index + 1;
53
53
  padding: $alert-padding-y * 1.25 $alert-padding-x;
54
54
  }
@@ -56,13 +56,13 @@
56
56
 
57
57
 
58
58
  // scss-docs-start alert-modifiers
59
- // Generate contextual modifier classes for colorizing the alert
59
+ // Generate contextual modifier classes for colorizing the alert.
60
60
  @each $state in map-keys($theme-colors) {
61
61
  .alert-#{$state} {
62
- --#{$prefix}alert-color: var(--#{$prefix}#{$state}-text);
62
+ --#{$prefix}alert-color: var(--#{$prefix}#{$state}-text-emphasis);
63
63
  --#{$prefix}alert-bg: var(--#{$prefix}#{$state}-bg-subtle);
64
64
  --#{$prefix}alert-border-color: var(--#{$prefix}#{$state}-border-subtle);
65
- --#{$prefix}alert-link-color: var(--#{$prefix}#{$state}-text);
65
+ --#{$prefix}alert-link-color: var(--#{$prefix}#{$state}-text-emphasis);
66
66
  }
67
67
  }
68
68
  // scss-docs-end alert-modifiers
package/scss/_avatar.scss CHANGED
@@ -17,7 +17,7 @@
17
17
 
18
18
  .avatar-status {
19
19
  position: absolute;
20
- right: 0;
20
+ @include ltr-rtl("right", 0);
21
21
  bottom: 0;
22
22
  display: block;
23
23
  border: 1px solid $white;
@@ -34,16 +34,16 @@
34
34
  display: flex;
35
35
 
36
36
  .avatar {
37
- margin-right: - ($avatar-width * .4);
37
+ @include ltr-rtl("margin-right", - ($avatar-width * .4));
38
38
 
39
39
  &:hover {
40
- margin-right: 0;
40
+ @include ltr-rtl("margin-right", 0);
41
41
  }
42
42
  }
43
43
 
44
44
  @each $width, $value in $avatar-widths {
45
45
  .avatar-#{$width} {
46
- margin-right: - ($value * .4);
46
+ @include ltr-rtl("margin-right", - ($value * .4));
47
47
  }
48
48
  }
49
49
  }
package/scss/_badge.scss CHANGED
@@ -22,7 +22,7 @@
22
22
  text-align: center;
23
23
  white-space: nowrap;
24
24
  vertical-align: baseline;
25
- @include border-radius(var(--#{$prefix}badge-border-radius));
25
+ border-radius: var(--#{$prefix}badge-border-radius, 0); // stylelint-disable-line property-disallowed-list
26
26
  @include gradient-bg();
27
27
 
28
28
  // Empty badges collapse automatically
@@ -36,3 +36,13 @@
36
36
  position: relative;
37
37
  top: -1px;
38
38
  }
39
+
40
+ //
41
+ // Badge Sizes
42
+ //
43
+
44
+ .badge-sm {
45
+ --#{$prefix}badge-padding-x: #{$badge-padding-x-sm};
46
+ --#{$prefix}badge-padding-y: #{$badge-padding-y-sm};
47
+ @include font-size($badge-font-size-sm);
48
+ }
@@ -24,13 +24,18 @@
24
24
  .breadcrumb-item {
25
25
  // The separator between breadcrumbs (by default, a forward-slash: "/")
26
26
  + .breadcrumb-item {
27
- padding-left: var(--#{$prefix}breadcrumb-item-padding-x);
27
+ @include ltr-rtl("padding-left", var(--#{$prefix}breadcrumb-item-padding-x));
28
28
 
29
29
  &::before {
30
- float: left; // Suppress inline spacings and underlining of the separator
31
- padding-right: var(--#{$prefix}breadcrumb-item-padding-x);
30
+ @include ltr-rtl("float", left); // Suppress inline spacings and underlining of the separator
31
+ @include ltr-rtl("padding-right", var(--#{$prefix}breadcrumb-item-padding-x));
32
32
  color: var(--#{$prefix}breadcrumb-divider-color);
33
- content: var(--#{$prefix}breadcrumb-divider, escape-svg($breadcrumb-divider)) #{"/* rtl:"} var(--#{$prefix}breadcrumb-divider, escape-svg($breadcrumb-divider-flipped)) #{"*/"};
33
+ @include ltr-rtl(
34
+ "content",
35
+ var(--#{$prefix}breadcrumb-divider, escape-svg($breadcrumb-divider)),
36
+ null,
37
+ var(--#{$prefix}breadcrumb-divider-flipped, escape-svg($breadcrumb-divider-flipped))
38
+ );
34
39
  }
35
40
  }
36
41
 
@@ -39,7 +39,7 @@
39
39
  // Prevent double borders when buttons are next to each other
40
40
  > :not(.btn-check:first-child) + .btn,
41
41
  > .btn-group:not(:first-child) {
42
- margin-left: calc($btn-border-width * -1); // stylelint-disable-line function-disallowed-list
42
+ @include ltr-rtl("margin-left", calc(#{$btn-border-width} * -1));
43
43
  }
44
44
 
45
45
  // Reset rounded corners
@@ -79,11 +79,11 @@
79
79
  &::after,
80
80
  .dropup &::after,
81
81
  .dropend &::after {
82
- margin-left: 0;
82
+ @include ltr-rtl("margin-left", 0);
83
83
  }
84
84
 
85
85
  .dropstart &::before {
86
- margin-right: 0;
86
+ @include ltr-rtl("margin-right", 0);
87
87
  }
88
88
  }
89
89
 
@@ -126,7 +126,7 @@
126
126
 
127
127
  > .btn:not(:first-child),
128
128
  > .btn-group:not(:first-child) {
129
- margin-top: calc($btn-border-width * -1); // stylelint-disable-line function-disallowed-list
129
+ margin-top: calc(#{$btn-border-width} * -1); // stylelint-disable-line function-disallowed-list
130
130
  }
131
131
 
132
132
  // Reset rounded corners
@@ -10,7 +10,7 @@
10
10
  @include rfs($btn-font-size, --#{$prefix}btn-font-size);
11
11
  --#{$prefix}btn-font-weight: #{$btn-font-weight};
12
12
  --#{$prefix}btn-line-height: #{$btn-line-height};
13
- --#{$prefix}btn-color: #{$body-color};
13
+ --#{$prefix}btn-color: #{$btn-color};
14
14
  --#{$prefix}btn-bg: transparent;
15
15
  --#{$prefix}btn-border-width: #{$btn-border-width};
16
16
  --#{$prefix}btn-border-color: transparent;
@@ -118,83 +118,33 @@
118
118
  // Alternate buttons
119
119
  //
120
120
 
121
- // scss-docs-start btn-variant-loops
122
- @each $color, $value in $theme-colors {
123
- .btn-#{$color} {
124
- @if $color == "light" {
125
- @include button-variant(
126
- $value,
127
- $value,
128
- $hover-background: shade-color($value, $btn-hover-bg-shade-amount),
129
- $hover-border: shade-color($value, $btn-hover-border-shade-amount),
130
- $active-background: shade-color($value, $btn-active-bg-shade-amount),
131
- $active-border: shade-color($value, $btn-active-border-shade-amount)
132
- );
133
- } @else if $color == "dark" {
134
- @include button-variant(
135
- $value,
136
- $value,
137
- $hover-background: tint-color($value, $btn-hover-bg-tint-amount),
138
- $hover-border: tint-color($value, $btn-hover-border-tint-amount),
139
- $active-background: tint-color($value, $btn-active-bg-tint-amount),
140
- $active-border: tint-color($value, $btn-active-border-tint-amount)
141
- );
142
- } @else {
143
- @include button-variant($value, $value);
144
- }
145
- }
146
- }
147
-
148
- @if $enable-dark-mode {
149
- @include color-mode(dark) {
150
- @each $color, $value in $theme-colors-dark {
151
- .btn-#{$color} {
152
- @include button-variant(
153
- $value,
154
- $value,
155
- $hover-background: tint-color($value, $btn-hover-bg-tint-amount),
156
- $hover-border: tint-color($value, $btn-hover-border-tint-amount),
157
- $active-background: tint-color($value, $btn-active-bg-tint-amount),
158
- $active-border: tint-color($value, $btn-active-border-tint-amount)
159
- );
160
- }
161
- }
162
- }
163
- }
164
-
165
- @each $color, $value in $theme-colors {
166
- .btn-outline-#{$color} {
167
- @include button-outline-variant($value);
168
- }
121
+ .btn-transparent {
122
+ --#{$prefix}btn-active-border-color: transparent;
123
+ --#{$prefix}btn-disabled-border-color: transparent;
124
+ --#{$prefix}btn-hover-border-color: transparent;
169
125
  }
170
126
 
171
- @if $enable-dark-mode {
172
- @include color-mode(dark) {
173
- @each $color, $value in $theme-colors-dark {
174
- .btn-outline-#{$color} {
175
- @include button-outline-variant($value);
176
- }
177
- }
127
+ // scss-docs-start btn-variant-loops
128
+ @each $state, $variant in $button-variants {
129
+ .btn-#{$state} {
130
+ @include button-variant($variant);
178
131
  }
179
132
  }
180
133
 
181
- @each $color, $value in $theme-colors {
182
- .btn-ghost-#{$color} {
183
- @include button-ghost-variant($value);
134
+ @each $state, $variant in $button-outline-ghost-variants {
135
+ .btn-outline-#{$state} {
136
+ @include button-outline-variant($variant);
184
137
  }
185
138
  }
186
139
 
187
- @if $enable-dark-mode {
188
- @include color-mode(dark) {
189
- @each $color, $value in $theme-colors-dark {
190
- .btn-ghost-#{$color} {
191
- @include button-ghost-variant($value);
192
- }
193
- }
140
+ @each $state, $variant in $button-outline-ghost-variants {
141
+ .btn-ghost-#{$state} {
142
+ @include button-ghost-variant($variant);
194
143
  }
195
144
  }
196
145
  // scss-docs-end btn-variant-loops
197
146
 
147
+
198
148
  //
199
149
  // Link buttons
200
150
  //
@@ -207,7 +157,6 @@
207
157
  --#{$prefix}btn-border-color: transparent;
208
158
  --#{$prefix}btn-hover-color: #{$btn-link-hover-color};
209
159
  --#{$prefix}btn-hover-border-color: transparent;
210
- --#{$prefix}btn-active-color: #{$btn-link-hover-color};
211
160
  --#{$prefix}btn-active-border-color: transparent;
212
161
  --#{$prefix}btn-disabled-color: #{$btn-link-disabled-color};
213
162
  --#{$prefix}btn-disabled-border-color: transparent;
@@ -228,10 +177,6 @@
228
177
  color: var(--#{$prefix}btn-color);
229
178
  }
230
179
 
231
- &:hover {
232
- color: var(--#{$prefix}btn-hover-color);
233
- }
234
-
235
180
  // No need for an active state here
236
181
  }
237
182
 
@@ -247,3 +192,25 @@
247
192
  .btn-sm {
248
193
  @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-border-radius-sm);
249
194
  }
195
+
196
+ @if $enable-dark-mode {
197
+ @include color-mode(dark) {
198
+ @each $state, $variant in $button-variants-dark {
199
+ .btn-#{$state} {
200
+ @include button-variant($variant);
201
+ }
202
+ }
203
+
204
+ @each $state, $variant in $button-outline-ghost-variants-dark {
205
+ .btn-outline-#{$state} {
206
+ @include button-outline-variant($variant);
207
+ }
208
+ }
209
+
210
+ @each $state, $variant in $button-outline-ghost-variants-dark {
211
+ .btn-ghost-#{$state} {
212
+ @include button-ghost-variant($variant);
213
+ }
214
+ }
215
+ }
216
+ }
@@ -13,8 +13,8 @@
13
13
  padding: var(--#{$prefix}callout-padding-y) var(--#{$prefix}callout-padding-x);
14
14
  margin: var(--#{$prefix}callout-margin-y) var(--#{$prefix}callout-margin-x);
15
15
  border: var(--#{$prefix}callout-border-width) solid var(--#{$prefix}callout-border-color);
16
- border-left-color: var(--#{$prefix}callout-border-left-color);
17
- border-left-width: var(--#{$prefix}callout-border-left-width);
16
+ @include ltr-rtl("border-left-width", var(--#{$prefix}callout-border-left-width));
17
+ @include ltr-rtl("border-left-color", var(--#{$prefix}callout-border-left-color));
18
18
  @include border-radius(var(--#{$prefix}callout-border-radius));
19
19
  }
20
20
 
package/scss/_card.scss CHANGED
@@ -30,6 +30,7 @@
30
30
  flex-direction: column;
31
31
  min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106
32
32
  height: var(--#{$prefix}card-height);
33
+ color: var(--#{$prefix}body-color);
33
34
  word-wrap: break-word;
34
35
  background-color: var(--#{$prefix}card-bg);
35
36
  background-clip: border-box;
@@ -94,7 +95,7 @@
94
95
  }
95
96
 
96
97
  + .card-link {
97
- margin-left: var(--#{$prefix}card-spacer-x);
98
+ @include ltr-rtl("margin-left", var(--#{$prefix}card-spacer-x));
98
99
  }
99
100
  }
100
101
 
@@ -197,8 +198,8 @@
197
198
  margin-bottom: 0;
198
199
 
199
200
  + .card {
200
- margin-left: 0;
201
- border-left: 0;
201
+ @include ltr-rtl("margin-left", 0);
202
+ @include ltr-rtl("border-left", 0);
202
203
  }
203
204
 
204
205
  // Handle rounded corners
@@ -165,7 +165,6 @@
165
165
  margin-right: $carousel-control-width;
166
166
  margin-bottom: 1rem;
167
167
  margin-left: $carousel-control-width;
168
- list-style: none;
169
168
 
170
169
  [data-coreui-target] {
171
170
  box-sizing: content-box;
@@ -231,8 +230,15 @@
231
230
 
232
231
  @if $enable-dark-mode {
233
232
  @include color-mode(dark) {
234
- .carousel {
235
- @include carousel-dark();
233
+ @if $color-mode-type == "media-query" {
234
+ .carousel {
235
+ @include carousel-dark();
236
+ }
237
+ } @else {
238
+ .carousel,
239
+ &.carousel {
240
+ @include carousel-dark();
241
+ }
236
242
  }
237
243
  }
238
244
  }
package/scss/_close.scss CHANGED
@@ -4,6 +4,7 @@
4
4
  // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile
5
5
 
6
6
  .btn-close {
7
+ // scss-docs-start close-css-vars
7
8
  --#{$prefix}btn-close-color: #{$btn-close-color};
8
9
  --#{$prefix}btn-close-bg: #{ escape-svg($btn-close-bg) };
9
10
  --#{$prefix}btn-close-opacity: #{$btn-close-opacity};
@@ -12,6 +13,7 @@
12
13
  --#{$prefix}btn-close-focus-opacity: #{$btn-close-focus-opacity};
13
14
  --#{$prefix}btn-close-disabled-opacity: #{$btn-close-disabled-opacity};
14
15
  --#{$prefix}btn-close-white-filter: #{$btn-close-white-filter};
16
+ // scss-docs-end close-css-vars
15
17
 
16
18
  box-sizing: content-box;
17
19
  width: $btn-close-width;
@@ -48,6 +50,7 @@
48
50
  filter: var(--#{$prefix}btn-close-white-filter);
49
51
  }
50
52
 
53
+ .btn-close[data-coreui-theme="dark"],
51
54
  .btn-close-white {
52
55
  @include btn-close-white();
53
56
  }